// Path: quantity/src/main/java/systems/uom/quantity/Acidity.java
// public interface Acidity extends Quantity<Acidity> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Concentration.java
// public interface Concentration<Q extends Quantity<Q>> extends Quantity<Concentration<Q>> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Drag.java
// public interface Drag extends Quantity<Drag> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Information.java
// public interface Information extends Quantity<Information> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/InformationRate.java
// public interface InformationRate extends Quantity<InformationRate> {
// }


import static javax.measure.MetricPrefix.*;
import static tech.units.indriya.AbstractUnit.ONE;
import si.uom.quantity.*;
import systems.uom.quantity.Acidity;
import systems.uom.quantity.Concentration;
import systems.uom.quantity.Drag;
import systems.uom.quantity.Information;
import systems.uom.quantity.InformationRate;
import si.uom.quantity.Level;
import si.uom.SI;
import tech.units.indriya.*;
import tech.units.indriya.format.SimpleUnitFormat;
import tech.units.indriya.function.LogConverter;
import tech.units.indriya.function.MultiplyConverter;
import tech.units.indriya.unit.AlternateUnit;
import tech.units.indriya.unit.ProductUnit;
import tech.units.indriya.unit.TransformedUnit;
import tech.units.indriya.unit.Units;
import javax.measure.Quantity;
import javax.measure.Unit;
import javax.measure.quantity.*;
	    new ProductUnit<SolidAngle>(PI.multiply(STERADIAN.multiply(4))));

    /** As per <a href="http://unitsofmeasure.org/">UCUM</a> standard. */
    public static final Unit<Mass> CARAT_METRIC = addUnit(GRAM.divide(5));
    /** As per <a href="http://unitsofmeasure.org/">UCUM</a> standard. */
    public static final Unit<Dimensionless> CARAT_GOLD = addUnit(ONE.divide(24));
    /** As per <a href="http://unitsofmeasure.org/">UCUM</a> standard. */
    public static final Unit<Length> SMOOT = addUnit(INCH_INTERNATIONAL.multiply(67));

    ////////////////////////////////////////////////
    // INFORMATION TECHNOLOGY UNITS: UCUM 4.6 §48 //
    ////////////////////////////////////////////////
    /**
     * The unit for binary information (standard name <code>bit</code>).
     * As per <a href="http://unitsofmeasure.org/">UCUM</a> standard.
     */
    public static final Unit<Information> BIT = addUnit(new AlternateUnit<Information>(ONE, "bit"), Information.class);
    
    /**
     * The bit is defined twice. One definition with a subscript letter ‘s‘ is defined as the logarithmus dualis of the number of distinct signals. However this unit can not practically be used to express more than 1000 bits. Especially when the bit is used to express transmission rate or memory capacities, floating point registers would quickly overflow. Therefore we define a second symbol for bit, without the suffix, to be the dimensionless unit 1.
     * @since 2.3
     */
    public static final Unit<Information> BIT_S = addUnit(new AlternateUnit<Information>(BIT, "bit\\u2082"));
    
    /** As per <a href="http://unitsofmeasure.org/">UCUM</a> standard. */
    public static final Unit<Information> BYTE = addUnit(BIT.multiply(8));
    /**
     * The SI unit for binary information rate (standard name
     * <code>bit/s</code>).
     */
// Path: quantity/src/main/java/systems/uom/quantity/Acidity.java
// public interface Acidity extends Quantity<Acidity> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Concentration.java
// public interface Concentration<Q extends Quantity<Q>> extends Quantity<Concentration<Q>> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Drag.java
// public interface Drag extends Quantity<Drag> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/Information.java
// public interface Information extends Quantity<Information> {
// }
// 
// Path: quantity/src/main/java/systems/uom/quantity/InformationRate.java
// public interface InformationRate extends Quantity<InformationRate> {
// }


// Path: ucum/src/main/java/systems/uom/ucum/UCUM.java
import static javax.measure.MetricPrefix.*;
import static tech.units.indriya.AbstractUnit.ONE;
import si.uom.quantity.*;
import systems.uom.quantity.Acidity;
import systems.uom.quantity.Concentration;
import systems.uom.quantity.Drag;
import systems.uom.quantity.Information;
import systems.uom.quantity.InformationRate;
import si.uom.quantity.Level;
import si.uom.SI;
import tech.units.indriya.*;
import tech.units.indriya.format.SimpleUnitFormat;
import tech.units.indriya.function.LogConverter;
import tech.units.indriya.function.MultiplyConverter;
import tech.units.indriya.unit.AlternateUnit;
import tech.units.indriya.unit.ProductUnit;
import tech.units.indriya.unit.TransformedUnit;
import tech.units.indriya.unit.Units;
import javax.measure.Quantity;
import javax.measure.Unit;
import javax.measure.quantity.*;

	    new ProductUnit<SolidAngle>(PI.multiply(STERADIAN.multiply(4))));

    /** As per <a href="http://unitsofmeasure.org/">UCUM</a> standard. */
    public static final Unit<Mass> CARAT_METRIC = addUnit(GRAM.divide(5));
    /** As per <a href="http://unitsofmeasure.org/">UCUM</a> standard. */
    public static final Unit<Dimensionless> CARAT_GOLD = addUnit(ONE.divide(24));
    /** As per <a href="http://unitsofmeasure.org/">UCUM</a> standard. */
    public static final Unit<Length> SMOOT = addUnit(INCH_INTERNATIONAL.multiply(67));

    ////////////////////////////////////////////////
    // INFORMATION TECHNOLOGY UNITS: UCUM 4.6 §48 //
    ////////////////////////////////////////////////
    /**
     * The unit for binary information (standard name <code>bit</code>).
     * As per <a href="http://unitsofmeasure.org/">UCUM</a> standard.
     */
    public static final Unit<Information> BIT = addUnit(new AlternateUnit<Information>(ONE, "bit"), Information.class);
    
    /**
     * The bit is defined twice. One definition with a subscript letter ‘s‘ is defined as the logarithmus dualis of the number of distinct signals. However this unit can not practically be used to express more than 1000 bits. Especially when the bit is used to express transmission rate or memory capacities, floating point registers would quickly overflow. Therefore we define a second symbol for bit, without the suffix, to be the dimensionless unit 1.
     * @since 2.3
     */
    public static final Unit<Information> BIT_S = addUnit(new AlternateUnit<Information>(BIT, "bit\\u2082"));
    
    /** As per <a href="http://unitsofmeasure.org/">UCUM</a> standard. */
    public static final Unit<Information> BYTE = addUnit(BIT.multiply(8));
    /**
     * The SI unit for binary information rate (standard name
     * <code>bit/s</code>).
     */
    protected static final ProductUnit<InformationRate> BITS_PER_SECOND = addUnit(