use crate::*;
pub type UnitParsec = DimensionStruct<Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Parsec<T> = Quantity<T, UnitParsec>;
pub type UnitQuettaparsec = DimensionStruct<P30, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Quettaparsec<T> = Quantity<T, UnitQuettaparsec>;
pub type UnitRonnaparsec = DimensionStruct<P27, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Ronnaparsec<T> = Quantity<T, UnitRonnaparsec>;
pub type UnitYottaparsec = DimensionStruct<P24, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Yottaparsec<T> = Quantity<T, UnitYottaparsec>;
pub type UnitZettaparsec = DimensionStruct<P21, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Zettaparsec<T> = Quantity<T, UnitZettaparsec>;
pub type UnitExaparsec = DimensionStruct<P18, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Exaparsec<T> = Quantity<T, UnitExaparsec>;
pub type UnitPetaparsec = DimensionStruct<P15, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Petaparsec<T> = Quantity<T, UnitPetaparsec>;
pub type UnitTeraparsec = DimensionStruct<P12, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Teraparsec<T> = Quantity<T, UnitTeraparsec>;
pub type UnitGigaparsec = DimensionStruct<P9, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Gigaparsec<T> = Quantity<T, UnitGigaparsec>;
pub type UnitMegaparsec = DimensionStruct<P6, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Megaparsec<T> = Quantity<T, UnitMegaparsec>;
pub type UnitKiloparsec = DimensionStruct<P3, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Kiloparsec<T> = Quantity<T, UnitKiloparsec>;
pub type UnitHectoparsec = DimensionStruct<P2, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Hectoparsec<T> = Quantity<T, UnitHectoparsec>;
pub type UnitDecaparsec = DimensionStruct<P1, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Decaparsec<T> = Quantity<T, UnitDecaparsec>;
pub type UnitDeciparsec = DimensionStruct<N1, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Deciparsec<T> = Quantity<T, UnitDeciparsec>;
pub type UnitCentiparsec = DimensionStruct<N2, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Centiparsec<T> = Quantity<T, UnitCentiparsec>;
pub type UnitMilliparsec = DimensionStruct<N3, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Milliparsec<T> = Quantity<T, UnitMilliparsec>;
pub type UnitMicroparsec = DimensionStruct<N6, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Microparsec<T> = Quantity<T, UnitMicroparsec>;
pub type UnitNanoparsec = DimensionStruct<N9, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Nanoparsec<T> = Quantity<T, UnitNanoparsec>;
pub type UnitPicoparsec = DimensionStruct<N12, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Picoparsec<T> = Quantity<T, UnitPicoparsec>;
pub type UnitFemtoparsec = DimensionStruct<N15, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Femtoparsec<T> = Quantity<T, UnitFemtoparsec>;
pub type UnitAttoparsec = DimensionStruct<N18, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Attoparsec<T> = Quantity<T, UnitAttoparsec>;
pub type UnitZeptoparsec = DimensionStruct<N21, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Zeptoparsec<T> = Quantity<T, UnitZeptoparsec>;
pub type UnitYoctoparsec = DimensionStruct<N24, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Yoctoparsec<T> = Quantity<T, UnitYoctoparsec>;
pub type UnitRontoparsec = DimensionStruct<N27, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Rontoparsec<T> = Quantity<T, UnitRontoparsec>;
pub type UnitQuectoparsec = DimensionStruct<N30, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, Z0, P1, Z0, Z0>;
pub type Quectoparsec<T> = Quantity<T, UnitQuectoparsec>;