@svta/cml-iso-bmff 0.20.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @beta
7
7
  */
8
- type Fields<T> = Omit<T, Exclude<keyof Box, "data"> | "boxes">;
8
+ type Fields<T$1> = Omit<T$1, Exclude<keyof Box, "data"> | "boxes">;
9
9
  //#endregion
10
10
  //#region src/boxes/FullBox.d.ts
11
11
  /**
@@ -50,8 +50,8 @@ type SampleEntryBox = Box & {
50
50
  *
51
51
  * @beta
52
52
  */
53
- type AudioSampleEntryBox<T extends "mp4a" | "enca" = "mp4a" | "enca"> = SampleEntryBox & {
54
- type: T;
53
+ type AudioSampleEntryBox<T$1 extends "mp4a" | "enca" = "mp4a" | "enca"> = SampleEntryBox & {
54
+ type: T$1;
55
55
  reserved2: number[];
56
56
  channelcount: number;
57
57
  samplesize: number;
@@ -161,7 +161,7 @@ type DataEntryUrnBox = FullBox & {
161
161
  type DataReferenceBox = FullBox & {
162
162
  type: "dref";
163
163
  entryCount: number;
164
- entries: Array<DataEntryUrlBox | DataEntryUrnBox>;
164
+ entries: (DataEntryUrlBox | DataEntryUrnBox)[];
165
165
  };
166
166
  //#endregion
167
167
  //#region src/boxes/DecodingTimeSample.d.ts
@@ -279,8 +279,8 @@ type FileTypeBox = TypeBox<"ftyp">;
279
279
  *
280
280
  * @beta
281
281
  */
282
- type FreeSpaceBox<T extends "free" | "skip" = "free"> = Box & {
283
- type: T;
282
+ type FreeSpaceBox<T$1 extends "free" | "skip" = "free"> = Box & {
283
+ type: T$1;
284
284
  data: Uint8Array;
285
285
  };
286
286
  //#endregion
@@ -1209,8 +1209,8 @@ type VideoMediaHeaderBox = FullBox & {
1209
1209
  *
1210
1210
  * @beta
1211
1211
  */
1212
- type VisualSampleEntryBox<T extends "avc1" | "avc2" | "avc3" | "avc4" | "hev1" | "hvc1" | "encv" = "avc1" | "avc2" | "avc3" | "avc4" | "hev1" | "hvc1" | "encv"> = SampleEntryBox & {
1213
- type: T;
1212
+ type VisualSampleEntryBox<T$1 extends "avc1" | "avc2" | "avc3" | "avc4" | "hev1" | "hvc1" | "encv" = "avc1" | "avc2" | "avc3" | "avc4" | "hev1" | "hvc1" | "encv"> = SampleEntryBox & {
1213
+ type: T$1;
1214
1214
  preDefined1: number;
1215
1215
  reserved2: number;
1216
1216
  preDefined2: number[];
@@ -1313,8 +1313,8 @@ type IsoBox = AudioRenderingIndicationBox | AudioSampleEntryBox<"enca"> | AudioS
1313
1313
  *
1314
1314
  * @beta
1315
1315
  */
1316
- type ContainerBox<T> = Box & {
1317
- boxes: Array<T>;
1316
+ type ContainerBox<T$1> = Box & {
1317
+ boxes: T$1[];
1318
1318
  };
1319
1319
  //#endregion
1320
1320
  //#region src/boxes/DataInformationBox.d.ts
@@ -1774,8 +1774,8 @@ type Box = {
1774
1774
  *
1775
1775
  * @beta
1776
1776
  */
1777
- type TypeBox<T> = Box & {
1778
- type: T;
1777
+ type TypeBox<T$1> = Box & {
1778
+ type: T$1;
1779
1779
  majorBrand: string;
1780
1780
  minorVersion: number;
1781
1781
  compatibleBrands: string[];
@@ -1788,7 +1788,7 @@ type TypeBox<T> = Box & {
1788
1788
  *
1789
1789
  * @beta
1790
1790
  */
1791
- type BoxFilter<T extends IsoBmffBox> = ((box: IsoBmffBox) => boolean) | ((box: IsoBmffBox) => box is T);
1791
+ type BoxFilter<T$1 extends IsoBmffBox> = ((box: IsoBmffBox) => boolean) | ((box: IsoBmffBox) => box is T$1);
1792
1792
  //#endregion
1793
1793
  //#region src/IsoData.d.ts
1794
1794
  /**
@@ -1878,7 +1878,7 @@ declare const UTF8 = "utf8";
1878
1878
  *
1879
1879
  * @beta
1880
1880
  */
1881
- declare function filterBoxes<T extends IsoBmffBox = IsoBmffBox>(raw: IsoData | Iterable<IsoBmffBox>, fn: BoxFilter<T>, config?: IsoViewConfig): T[];
1881
+ declare function filterBoxes<T$1 extends IsoBmffBox = IsoBmffBox>(raw: IsoData | Iterable<IsoBmffBox>, fn: BoxFilter<T$1>, config?: IsoViewConfig): T$1[];
1882
1882
  //#endregion
1883
1883
  //#region src/boxes/IsoBmffBoxMap.d.ts
1884
1884
  /**
@@ -1999,7 +1999,7 @@ type IsoBmffBoxMap = {
1999
1999
  *
2000
2000
  * @beta
2001
2001
  */
2002
- declare function filterBoxesByType<T extends keyof IsoBmffBoxMap>(raw: IsoData, type: T | T[], config?: IsoViewConfig): IsoBmffBoxMap[T][];
2002
+ declare function filterBoxesByType<T$1 extends keyof IsoBmffBoxMap>(raw: IsoData, type: T$1 | T$1[], config?: IsoViewConfig): IsoBmffBoxMap[T$1][];
2003
2003
  //#endregion
2004
2004
  //#region src/findBox.d.ts
2005
2005
  /**
@@ -2014,7 +2014,7 @@ declare function filterBoxesByType<T extends keyof IsoBmffBoxMap>(raw: IsoData,
2014
2014
  *
2015
2015
  * @beta
2016
2016
  */
2017
- declare function findBox<T extends IsoBmffBox = IsoBmffBox>(raw: IsoData | Iterable<IsoBmffBox>, fn: BoxFilter<T>, config?: IsoViewConfig): T | null;
2017
+ declare function findBox<T$1 extends IsoBmffBox = IsoBmffBox>(raw: IsoData | Iterable<IsoBmffBox>, fn: BoxFilter<T$1>, config?: IsoViewConfig): T$1 | null;
2018
2018
  //#endregion
2019
2019
  //#region src/findBoxByType.d.ts
2020
2020
  /**
@@ -2029,7 +2029,7 @@ declare function findBox<T extends IsoBmffBox = IsoBmffBox>(raw: IsoData | Itera
2029
2029
  *
2030
2030
  * @beta
2031
2031
  */
2032
- declare function findBoxByType<T extends keyof IsoBmffBoxMap>(raw: IsoData, type: T, config?: IsoViewConfig): IsoBmffBoxMap[T] | null;
2032
+ declare function findBoxByType<T$1 extends keyof IsoBmffBoxMap>(raw: IsoData, type: T$1, config?: IsoViewConfig): IsoBmffBoxMap[T$1] | null;
2033
2033
  //#endregion
2034
2034
  //#region src/parseBoxes.d.ts
2035
2035
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/boxes/Fields.ts","../src/boxes/FullBox.ts","../src/boxes/AudioRenderingIndicationBox.ts","../src/boxes/SampleEntryBox.ts","../src/boxes/AudioSampleEntryBox.ts","../src/boxes/ChunkLargeOffsetBox.ts","../src/boxes/ChunkOffsetBox.ts","../src/boxes/CompactSampleSizeBox.ts","../src/boxes/CompositionTimeToSampleEntry.ts","../src/boxes/CompositionTimeToSampleBox.ts","../src/boxes/DataEntryUrlBox.ts","../src/boxes/DataEntryUrnBox.ts","../src/boxes/DataReferenceBox.ts","../src/boxes/DecodingTimeSample.ts","../src/boxes/DecodingTimeToSampleBox.ts","../src/boxes/DegradationPriorityBox.ts","../src/boxes/EditListEntry.ts","../src/boxes/EditListBox.ts","../src/boxes/EventMessageBox.ts","../src/boxes/ExtendedLanguageBox.ts","../src/boxes/FileTypeBox.ts","../src/boxes/FreeSpaceBox.ts","../src/boxes/HandlerReferenceBox.ts","../src/boxes/HintMediaHeaderBox.ts","../src/boxes/IdentifiedMediaDataBox.ts","../src/boxes/IpmpInfoBox.ts","../src/boxes/ItemInfoEntry.ts","../src/boxes/ItemExtent.ts","../src/boxes/ItemLocation.ts","../src/boxes/ItemLocationBox.ts","../src/boxes/LabelBox.ts","../src/boxes/MediaDataBox.ts","../src/boxes/MediaHeaderBox.ts","../src/boxes/MovieExtendsHeaderBox.ts","../src/boxes/MovieFragmentHeaderBox.ts","../src/boxes/MovieFragmentRandomAccessOffsetBox.ts","../src/boxes/MovieHeaderBox.ts","../src/boxes/NullMediaHeaderBox.ts","../src/boxes/OriginalFormatBox.ts","../src/boxes/Entity.ts","../src/boxes/PreselectionGroupBox.ts","../src/boxes/PrimaryItemBox.ts","../src/boxes/ProducerReferenceTimeBox.ts","../src/boxes/ProtectionSystemSpecificHeaderBox.ts","../src/boxes/SampleAuxiliaryInformationOffsetsBox.ts","../src/boxes/SampleAuxiliaryInformationSizesBox.ts","../src/boxes/SampleDependencyTypeBox.ts","../src/boxes/SampleDescriptionBox.ts","../src/boxes/SubsampleEncryption.ts","../src/boxes/EncryptedSample.ts","../src/boxes/SampleEncryptionBox.ts","../src/boxes/SampleGroupDescriptionBox.ts","../src/boxes/SampleSizeBox.ts","../src/boxes/SampleToChunkEntry.ts","../src/boxes/SampleToChunkBox.ts","../src/boxes/SampleToGroupEntry.ts","../src/boxes/SampleToGroupBox.ts","../src/boxes/SchemeTypeBox.ts","../src/boxes/SegmentIndexReference.ts","../src/boxes/SegmentIndexBox.ts","../src/boxes/SegmentTypeBox.ts","../src/boxes/ShadowSyncEntry.ts","../src/boxes/ShadowSyncSampleBox.ts","../src/boxes/SingleItemTypeReferenceBox.ts","../src/boxes/SoundMediaHeaderBox.ts","../src/boxes/Subsample.ts","../src/boxes/SubsampleEntry.ts","../src/boxes/SubsampleInformationBox.ts","../src/boxes/SubsegmentRange.ts","../src/boxes/Subsegment.ts","../src/boxes/SubsegmentIndexBox.ts","../src/boxes/SubtitleMediaHeaderBox.ts","../src/boxes/SyncSample.ts","../src/boxes/SyncSampleBox.ts","../src/boxes/TrackEncryptionBox.ts","../src/boxes/TrackExtendsBox.ts","../src/boxes/TrackFragmentBaseMediaDecodeTimeBox.ts","../src/boxes/TrackFragmentHeaderBox.ts","../src/boxes/TrackFragmentRandomAccessEntry.ts","../src/boxes/TrackFragmentRandomAccessBox.ts","../src/boxes/TrackHeaderBox.ts","../src/boxes/TrackKindBox.ts","../src/boxes/TrackRunSample.ts","../src/boxes/TrackRunBox.ts","../src/boxes/UrlBox.ts","../src/boxes/UrnBox.ts","../src/boxes/VideoMediaHeaderBox.ts","../src/boxes/VisualSampleEntryBox.ts","../src/boxes/WebVttConfigurationBox.ts","../src/boxes/WebVttCueIdBox.ts","../src/boxes/WebVttCuePayloadBox.ts","../src/boxes/WebVttEmptySampleBox.ts","../src/boxes/WebVttSettingsBox.ts","../src/boxes/WebVttSourceLabelBox.ts","../src/boxes/IsoBox.ts","../src/boxes/ContainerBox.ts","../src/boxes/DataInformationBox.ts","../src/boxes/EditBox.ts","../src/boxes/ItemInfoBox.ts","../src/boxes/SchemeInformationBox.ts","../src/boxes/ProtectionSchemeInformationBox.ts","../src/boxes/ItemProtectionBox.ts","../src/boxes/ItemReferenceBox.ts","../src/boxes/SampleTableBox.ts","../src/boxes/MediaInformationBox.ts","../src/boxes/MediaBox.ts","../src/boxes/MetaBox.ts","../src/boxes/MovieExtendsBox.ts","../src/boxes/TrackReferenceTypeBox.ts","../src/boxes/TrackReferenceBox.ts","../src/boxes/UserDataBox.ts","../src/boxes/TrackBox.ts","../src/boxes/MovieBox.ts","../src/boxes/TrackFragmentBox.ts","../src/boxes/MovieFragmentBox.ts","../src/boxes/MovieFragmentRandomAccessBox.ts","../src/boxes/IsoContainerBox.ts","../src/boxes/IsoBmffBox.ts","../src/BoxParser.ts","../src/BoxParserMap.ts","../src/IsoViewConfig.ts","../src/readers/IsoFieldTypeMap.ts","../src/IsoView.ts","../src/boxes/Box.ts","../src/boxes/TypeBox.ts","../src/BoxFilter.ts","../src/IsoData.ts","../src/createIsoView.ts","../src/fields/DATA.ts","../src/fields/INT.ts","../src/fields/STRING.ts","../src/fields/TEMPLATE.ts","../src/fields/UINT.ts","../src/fields/UTF8.ts","../src/filterBoxes.ts","../src/boxes/IsoBmffBoxMap.ts","../src/filterBoxesByType.ts","../src/findBox.ts","../src/findBoxByType.ts","../src/parseBoxes.ts","../src/parsers/ardi.ts","../src/parsers/avc1.ts","../src/parsers/avc2.ts","../src/parsers/avc3.ts","../src/parsers/avc4.ts","../src/parsers/ctts.ts","../src/parsers/dref.ts","../src/parsers/elng.ts","../src/parsers/elst.ts","../src/parsers/emsg.ts","../src/parsers/enca.ts","../src/parsers/encv.ts","../src/parsers/free.ts","../src/parsers/frma.ts","../src/parsers/ftyp.ts","../src/parsers/hdlr.ts","../src/parsers/hev1.ts","../src/parsers/hvc1.ts","../src/parsers/iden.ts","../src/parsers/imda.ts","../src/parsers/kind.ts","../src/parsers/labl.ts","../src/parsers/mdat.ts","../src/parsers/mdhd.ts","../src/parsers/mehd.ts","../src/parsers/meta.ts","../src/parsers/mfhd.ts","../src/parsers/mfro.ts","../src/parsers/mp4a.ts","../src/parsers/mvhd.ts","../src/parsers/payl.ts","../src/parsers/prft.ts","../src/parsers/prsl.ts","../src/parsers/pssh.ts","../src/parsers/schm.ts","../src/parsers/sdtp.ts","../src/parsers/sidx.ts","../src/parsers/skip.ts","../src/parsers/smhd.ts","../src/parsers/ssix.ts","../src/parsers/sthd.ts","../src/parsers/stsd.ts","../src/parsers/stss.ts","../src/parsers/sttg.ts","../src/parsers/stts.ts","../src/parsers/styp.ts","../src/parsers/subs.ts","../src/parsers/tenc.ts","../src/parsers/tfdt.ts","../src/parsers/tfhd.ts","../src/parsers/tfra.ts","../src/parsers/tkhd.ts","../src/parsers/trex.ts","../src/parsers/trun.ts","../src/parsers/url.ts","../src/parsers/urn.ts","../src/parsers/vlab.ts","../src/parsers/vmhd.ts","../src/parsers/vttC.ts","../src/parsers/vtte.ts"],"sourcesContent":[],"mappings":";AAQA;;;;;;AAAwB,KAAZ,MAAY,CAAA,CAAA,CAAA,GAAA,IAAA,CAAK,CAAL,EAAQ,OAAR,CAAA,MAAsB,GAAtB,EAAA,MAAA,CAAA,GAAA,OAAA,CAAA;;;AAAxB;;;;;;AAAwB,KCAZ,OAAA,GAAU,GDAE,GAAA;;;;;;AAAxB;;;;;;AAAwB,KEAZ,2BAAA,GAA8B,OFAlB,GAAA;;;;;;AAAxB;;;;;;AAAwB,KGAZ,cAAA,GAAiB,GHAL,GAAA;;;;;;AAAxB;;;;;;AAAwB,KIAZ,mBJAY,CAAA,UAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,CAAA,GIAuD,cJAvD,GAAA;QICjB;;;EHDP,UAAY,EAAA,MAAA;;;;ECAZ,IAAY,EEQL,UFRK;;;;AFAZ;;;;;;AAAwB,KKAZ,mBAAA,GAAsB,OLAV,GAAA;;;;ACAxB,CAAA;;;ADAA;;;;;;AAAwB,KMAZ,cAAA,GAAiB,ONAL,GAAA;;;;ACAxB,CAAA;;;ADAA;;;;;;AAAwB,KOAZ,oBAAA,GAAuB,OPAX,GAAA;;;;ECAxB,SAAY,EAAA,MAAA,EAAA;;;;;ADAZ;;;;;AAAwB,KQFZ,4BAAA,GREY;EAAA,WAAA,EAAA,MAAA;;;;;;;;;;;KSCZ,0BAAA,GAA6B;;;ERDzC,OAAY,EQIF,4BRJY,EAAA;;;;ADAtB;;;;;;AAAwB,KUAZ,eAAA,GAAkB,OVAN,GAAA;;;;;;AAAxB;;;;;;AAAwB,KWAZ,eAAA,GAAkB,OXAN,GAAA;;;;ACAxB,CAAA;;;;;;;;;KWEY,gBAAA,GAAmB;;EXF/B,UAAY,EAAA,MAAA;WWKF,MAAM,kBAAkB;;;;;AZLlC;;;;;AAAwB,KaFZ,kBAAA,GbEY;EAAA;;;;ACAxB,CAAA;;;;;;;;;KaCY,uBAAA,GAA0B;;;EbDtC,UAAY,EAAA,MAAA;;WaQF;;;;AdRV;;;;;;AAAwB,KeAZ,sBAAA,GAAyB,OfAb,GAAA;;;;;;;AAAxB;;;;;AAAwB,KgBFZ,aAAA,GhBEY;EAAA,eAAA,EAAA,MAAA;;;;ACAxB,CAAA;;;;;;;;;KgBCY,WAAA,GAAc;;;EhBD1B,OAAY,EgBIF,ahBJE,EAAA;;;;ADAZ;;;;;;AAAwB,KkBAZ,eAAA,GAAkB,OlBAN,GAAA;;;;ECAxB,SAAY,EAAA,MAAA;;;;ECAZ,EAAA,EAAY,MAAA;egBSE;;;;AlBTd;;;;;;AAAwB,KmBAZ,mBAAA,GAAsB,OnBAV,GAAA;;;;;;AAAxB;;;;;;AAAwB,KoBAZ,WAAA,GAAc,OpBAF,CAAA,MAAA,CAAA;;;AAAxB;;;;;;AAAwB,KqBAZ,YrBAY,CAAA,UAAA,MAAA,GAAA,MAAA,GAAA,MAAA,CAAA,GqBAuC,GrBAvC,GAAA;QqBCjB;QACA;;;;ArBFP;;;;;;AAAwB,KsBAZ,mBAAA,GAAsB,OtBAV,GAAA;;;;ECAxB,QAAY,EAAA,MAAA,EAAA;;;;;ADAZ;;;;;;AAAwB,KuBAZ,kBAAA,GAAqB,OvBAT,GAAA;;;;ECAxB,UAAY,EAAA,MAAA;;;;;ADAZ;;;;;;AAAwB,KwBAZ,sBAAA,GAAyB,GxBAb,GAAA;;;QwBGjB;AvBHP,CAAA;;;ADAA;;;;;;AAAwB,KyBAZ,WAAA,GAAc,OzBAF,GAAA;;;;;;AAAxB;;;;;;AAAwB,K0BAZ,aAAA,GAAgB,O1BAJ,GAAA;;;;ECAxB,QAAY,EAAA,MAAA;;;;ACAZ,CAAA;;;;AFAA;;;;;AAAwB,K2BFZ,UAAA,G3BEY;EAAA,WAAA,CAAA,EAAA,MAAA;;;;;;AAAxB;;;;;;AAAwB,K4BAZ,YAAA,G5BAY;;;;ECAxB,UAAY,EAAA,MAAA;W2BKF;;;;;;;;;;KCJE,eAAA,GAAkB;;;E5BD9B,UAAY,EAAA,MAAA;;;;ECAZ,KAAY,E2BQJ,Y3BRI,EAAA;;;;AFAZ;;;;;;AAAwB,K8BAZ,QAAA,GAAW,O9BAC,GAAA;;;;ECAxB,QAAY,EAAA,MAAA;;;;;ADAZ;;;;;;AAAwB,K+BAZ,YAAA,GAAe,G/BAH,GAAA;;Q+BEjB,WAAW;;;;A/BFlB;;;;;;AAAwB,KgCAZ,cAAA,GAAiB,OhCAL,GAAA;;;;ECAxB;;;;ECAA;;;;ECAA;;;;;AHAA;;;;;;AAAwB,KiCAZ,qBAAA,GAAwB,OjCAZ,GAAA;;;;;;AAAxB;;;;;;AAAwB,KkCAZ,sBAAA,GAAyB,OlCAb,GAAA;;;;;;AAAxB;;;;;;AAAwB,KmCAZ,kCAAA,GAAqC,OnCAzB,GAAA;;;;;;AAAxB;;;;;;AAAwB,KoCAZ,cAAA,GAAiB,OpCAL,GAAA;;;;ECAxB,SAAY,EAAA,MAAA;;;;ECAZ,SAAY,EAAA,MAAA;;;;ECAZ,WAAY,EAAA,MAAA;;;;AHAZ;;;;;;AAAwB,KqCAZ,kBAAA,GAAqB,OrCAT,GAAA;;;;;AAAxB;;;;;;AAAwB,KsCAZ,iBAAA,GAAoB,GtCAR,GAAA;;;;;;;AAAxB;;;;;AAAwB,KuCFZ,MAAA,GvCEY;EAAA;;;;;;;;;;;KwCCZ,oBAAA,GAAuB;;;EvCDnC,OAAY,EAAA,MAAA;;;;ECAZ,QAAY,EsCWD,MtCXC,EAAA;;;;ACAZ,CAAA;;;AHAA;;;;;;AAAwB,KyCAZ,cAAA,GAAiB,OzCAL,GAAA;;;;;;AAAxB;;;;;;AAAwB,K0CAZ,wBAAA,GAA2B,O1CAf,GAAA;;;;ECAxB,gBAAY,EAAA,MAAA;;;;;ADAZ;;;;;;AAAwB,K2CAZ,iCAAA,GAAoC,O3CAxB,GAAA;;;;ECAxB,GAAY,EAAA,MAAA,EAAA;;;;;;ADAZ;;;;;;AAAwB,K4CAZ,oCAAA,GAAuC,O5CA3B,GAAA;;;;ECAxB,UAAY,EAAA,MAAA;;;;;ADAZ;;;;;;AAAwB,K6CAZ,kCAAA,GAAqC,O7CAzB,GAAA;;;;ECAxB,qBAAY,EAAA,MAAU;;;;;;ADAtB;;;;;;AAAwB,K8CAZ,uBAAA,GAA0B,O9CAd,GAAA;;;;;;;;;;;;K+CCZ,+BAA+B,iBAAiB,kBAAkB;;;E9CD9E,OAAY,E8CIF,C9CJE,EAAA;;;;;ADAZ;;;;;AAAwB,KgDFZ,mBAAA,GhDEY;EAAA,gBAAA,EAAA,MAAA;;;;;AAAxB;;;;;;AAAwB,KiDAZ,eAAA,GjDAY;yBiDCA;wBACD;;;;;;;;;;KCDX,mBAAA,GAAsB;;;EjDDlC,OAAY,EiDIF,ejDJE,EAAU;;;;ADAtB;;;;;;AAAwB,KmDAZ,yBAAA,GAA4B,OnDAhB,GAAA;;;;ECAxB,UAAY,EAAA,MAAA;;;;;ADAZ;;;;;;AAAwB,KoDAZ,aAAA,GAAgB,OpDAJ,GAAA;;;;ECAxB,SAAY,CAAA,EAAA,MAAA,EAAA;;;;;ADAZ;;;;;AAAwB,KqDFZ,kBAAA,GrDEY;EAAA,UAAA,EAAA,MAAA;;;;;;;;;;;;KsDCZ,gBAAA,GAAmB;;;ErDD/B,OAAY,EqDIF,kBrDJY,EAAA;;;;;ADAtB;;;;;AAAwB,KuDFZ,kBAAA,GvDEY;EAAA,WAAA,EAAA,MAAA;;;;;;;;;;;KwDCZ,gBAAA,GAAmB;;;EvDD/B,qBAAY,CAAA,EAAA,MAAU;;WuDMZ;;;;AxDNV;;;;;;AAAwB,KyDAZ,aAAA,GAAgB,OzDAJ,GAAA;;;;ECAxB,SAAY,CAAA,EAAA,MAAA;;;;;ADAZ;;;;;AAAwB,K0DFZ,qBAAA,G1DEY;EAAA,SAAA,EAAA,MAAA;;;;ECAxB,cAAY,EAAA,MAAA;;;;ACAZ,CAAA;;;;;;;;;KyDCY,eAAA,GAAkB;;;E1DD9B,SAAY,EAAA,MAAA;;;;ECAZ,UAAY,EyDQC,qBzDRD,EAAA;;;;AFAZ;;;;;;AAAwB,K4DAZ,cAAA,GAAiB,O5DAL,CAAA,MAAA,CAAA;;;;AAAxB;;;;;AAAwB,K6DFZ,eAAA,G7DEY;EAAA,oBAAA,EAAA,MAAA;;;;;;;;;;;K8DCZ,mBAAA,GAAsB;;;E7DDlC,OAAY,E6DIF,e7DJE,EAAU;;;;ADAtB;;;;;;AAAwB,K+DAZ,0BAAA,GAA6B,G/DAjB,GAAA;;;;ACAxB,CAAA;;;ADAA;;;;;;AAAwB,KgEAZ,mBAAA,GAAsB,OhEAV,GAAA;;;;ACAxB,CAAA;;;;ADAA;;;;;AAAwB,KiEFZ,SAAA,GjEEY;EAAA,aAAA,EAAA,MAAA;;;;ACAxB,CAAA;;;ADAA;;;;;;AAAwB,KkEAZ,cAAA,GlEAY;;;ckEGX;AjEHb,CAAA;;;;;;;;;KkECY,uBAAA,GAA0B;;;ElEDtC,OAAY,EkEIF,clEJE,EAAU;;;;;ADAtB;;;;;AAAwB,KoEFZ,eAAA,GpEEY;EAAA,KAAA,EAAA,MAAA;;;;;AAAxB;;;;;;AAAwB,KqEAZ,UAAA,GrEAY;;UqEEf;;;;;;;;;;KCDG,kBAAA,GAAqB;;;ErEDjC,WAAY,EqEIE,UrEJF,EAAU;;;;ADAtB;;;;;;AAAwB,KuEAZ,sBAAA,GAAyB,OvEAb,GAAA;;;;;;AAAxB;;;;;AAAwB,KwEFZ,UAAA,GxEEY;EAAA,YAAA,EAAA,MAAA;;;;;;;;;;KyECZ,aAAA,GAAgB;;;ExED5B,OAAY,EwEIF,UxEJE,EAAA;;;;ADAZ;;;;;;AAAwB,K0EAZ,kBAAA,GAAqB,O1EAT,GAAA;;;;ECAxB,UAAY,EAAA,MAAA,EAAA;;;;ADAZ;;;;;;AAAwB,K2EAZ,eAAA,GAAkB,O3EAN,GAAA;;;;ECAxB,qBAAY,EAAA,MAAU;;;;;;ADAtB;;;;;;AAAwB,K4EAZ,mCAAA,GAAsC,O5EA1B,GAAA;;;;;;AAAxB;;;;;;AAAwB,K6EAZ,sBAAA,GAAyB,O7EAb,GAAA;;;;ECAxB,sBAAY,CAAA,EAAU,MAAA;;;;ACAtB,CAAA;;;;AFAA;;;;;AAAwB,K8EFZ,8BAAA,G9EEY;EAAA,IAAA,EAAA,MAAA;;;;ECAxB,YAAY,EAAA,MAAA;;;;;;;;;;K8ECA,4BAAA,GAA+B;;;E9ED3C,QAAY,EAAA,MAAA;;;;ECAZ,qBAAY,EAAA,MAAA;W6ESF;;;;A/ETV;;;;;;AAAwB,KgFAZ,cAAA,GAAiB,OhFAL,GAAA;;;;ECAxB,OAAY,EAAA,MAAA;;;;ECAZ,KAAY,EAAA,MAAA;;;;ECAZ,MAAY,EAAA,MAAA,EAAA;;;;;;AHAZ;;;;;;AAAwB,KiFAZ,YAAA,GAAe,OjFAH,GAAA;;;;ACAxB,CAAA;;;;ADAA;;;;;AAAwB,KkFFZ,cAAA,GlFEY;EAAA,cAAA,CAAA,EAAA,MAAA;;;;ACAxB,CAAA;;;;;;;;;;;;AAAY,KkFIA,WAAA,GAAc,OlFJJ,GAAA;;;;ECAtB,gBAAY,CAAA,EAAA,MAAA;WiFSF;;;;AnFTV;;;;;;AAAwB,KoFAZ,MAAA,GAAS,OpFAG,GAAA;;;;;;AAAxB;;;;;;AAAwB,KqFAZ,MAAA,GAAS,OrFAG,GAAA;;;;ACAxB,CAAA;;;ADAA;;;;;;AAAwB,KsFAZ,mBAAA,GAAsB,OtFAV,GAAA;;;;ACAxB,CAAA;;;ADAA;;;;;;AAAwB,KuFAZ,oBvFAY,CAAA,UAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,MAAA,CAAA,GuFAkJ,cvFAlJ,GAAA;QuFCjB;;;EtFDP,WAAY,EAAA,MAAA,EAAA;;;;ECAZ,cAAY,EAAA,MAAA;;;;ECAZ,KAAY,EAAA,MAAA;;UoFcH;;;;AvFdT;;;;;;AAAwB,KwFAZ,sBAAA,GAAyB,GxFAb,GAAA;;;;;;AAAxB;;;;;;AAAwB,KyFAZ,cAAA,GAAiB,GzFAL,GAAA;;;;;;AAAxB;;;;;;AAAwB,K0FAZ,mBAAA,GAAsB,G1FAV,GAAA;;;;;;AAAxB;;;;;;AAAwB,K2FAZ,oBAAA,GAAuB,G3FAX,GAAA;;;;;AAAxB;;;;;;AAAwB,K4FAZ,iBAAA,GAAoB,G5FAR,GAAA;;;;;;AAAxB;;;;;;AAAwB,K6FAZ,oBAAA,GAAuB,G7FAX,GAAA;;;;;;;;AaFxB;;;;ACGY,KgFsEA,MAAA,GACT,2BhFvES,GgFwET,mBhFxES,CAAA,MAAA,CAAA,GgFyET,mBhFzES,CAAA,MAAA,CAAA,GgF0ET,mBhF1ES,GgF2ET,chF3ES,GgF4ET,oBhF5ES,GgF6ET,0BhF7ES,GgF8ET,ehF9ES,GgF+ET,ehF/ES,GgFgFT,gBhFhFS,GgFiFT,uBhFjFS,GgFkFT,sBhFlFS,GgFmFT,WhFnFS,GgFoFT,ehFpFS,GgFqFT,mBhFrFS,GgFsFT,WhFtFS,GgFuFT,YhFvFS,CAAA,MAAA,CAAA,GgFwFT,YhFxFS,CAAA,MAAA,CAAA,GgFyFT,mBhFzFS,GgF0FT,kBhF1FS,GgF2FT,sBhF3FS,GgF4FT,WhF5FS,GgF6FT,ahF7FS,GgF8FT,ehF9FS,GgF+FT,QhF/FS,GgFgGT,YhFhGS,GgFiGT,chFjGS,GgFkGT,qBhFlGS,GgFmGT,sBhFnGS,GgFoGT,kChFpGS,GgFqGT,chFrGS,GgFsGT,kBhFtGS,GgFuGT,iBhFvGS,GgFwGT,chFxGS,GgFyGT,oBhFzGS,GgF0GT,wBhF1GS,GgF2GT,iChF3GS,GgF4GT,oChF5GS,GgF6GT,kChF7GS,GgF8GT,uBhF9GS,GgF+GT,oBhF/GS,GgFgHT,mBhFhHS,GgFiHT,yBhFjHS,GgFkHT,ahFlHS,GgFmHT,gBhFnHS,GgFoHT,gBhFpHS,GgFqHT,ahFrHS,GgFsHT,ehFtHS,GgFuHT,chFvHS,GgFwHT,mBhFxHS,GgFyHT,0BhFzHS,GgF0HT,mBhF1HS,GgF2HT,uBhF3HS,GgF4HT,kBhF5HS,GgF6HT,sBhF7HS,GgF8HT,ahF9HS,GgF+HT,kBhF/HS,GgFgIT,ehFhIS,GgFiIT,mChFjIS,GgFkIT,sBhFlIS,GgFmIT,4BhFnIS,GgFoIT,chFpIS,GgFqIT,YhFrIS,GgFsIT,WhFtIS,GgFuIT,MhFvIS,GgFwIT,MhFxIS,GgFyIT,mBhFzIS,GgF0IT,oBhF1IS,CAAA,MAAA,CAAA,GgF2IT,oBhF3IS,CAAA,MAAA,CAAA,GgF4IT,oBhF5IS,CAAA,MAAA,CAAA,GgF6IT,oBhF7IS,CAAA,MAAA,CAAA,GgF8IT,oBhF9IS,CAAA,MAAA,CAAA,GgF+IT,oBhF/IS,CAAA,MAAA,CAAA,GgFgJT,oBhFhJS,CAAA,MAAA,CAAA,GgFiJT,sBhFjJS,GgFkJT,chFlJS,GgFmJT,mBhFnJS,GgFoJT,oBhFpJS,GgFqJT,iBhFrJS,GgFsJT,oBhFtJS;;;AdDZ;;;;;;AAAwB,K+FAZ,Y/FAY,CAAA,CAAA,CAAA,G+FAM,G/FAN,GAAA;S+FChB,MAAM;;;;;;;;;;KCAF,kBAAA,GAAqB,aAAa;;;;;;;;;;;KCAlC,OAAA,GAAU,aAAa;;;;;;;;;;;KCAvB,WAAA,GAAc,aAAa;;;AjGDvC,CAAA;;;;;;;;;KkGEY,oBAAA,GAAuB,aAAa,qBAAqB;;AlGFrE,CAAA;;;;;;;;;AAAY,KmGIA,8BAAA,GAAiC,YnGJvB,CmGIoC,iBnGJpC,GmGIwD,WnGJxD,GmGIsE,anGJtE,GmGIsF,oBnGJtF,CAAA,GAAA;;;;;;;;;;;KoGCV,iBAAA,GAAoB,aAAa;;;ApGD7C,CAAA;;;;;;;;;KqGCY,gBAAA,GAAmB,aAAa;;;;;;;ApGD5C;;;;ACAY,KoGYA,cAAA,GAAiB,YpGZA,CoGYa,oBpGZb,GoGYoC,uBpGZpC,GoGY8D,0BpGZ9D,GoGY2F,gBpGZ3F,GoGY8G,apGZ9G,GoGY8H,cpGZ9H,GoGY+I,apGZ/I,GoGY+J,mBpGZ/J,GoGYqL,sBpGZrL,GoGY8M,uBpGZ9M,GoGYwO,gBpGZxO,GoGY2P,yBpGZ3P,CAAA,GAAA;;;;;;;;;AFA7B;;KuGMY,mBAAA,GAAsB,aAAa,sBAAsB,sBAAsB,qBAAqB,qBAAqB,qBAAqB;;AtGN1J,CAAA;;;;;;;;;KuGGY,QAAA,GAAW,aAAa,iBAAiB,sBAAsB;ExGH3E,IAAY,EAAA,MAAA;;;;;;AAAZ;;;;ACAY,KwGQA,OAAA,GAAU,OxGRV,GwGQoB,YxGRpB,CwGQiC,mBxGRH,GwGQyB,cxGRzB,GwGQ0C,kBxGR1C,GwGQ+D,exGR/D,GwGQiF,iBxGRjF,GwGQqG,WxGRrG,GwGQmH,gBxGRnH,CAAA,GAAA;;;;;;;;;;;KyGE9B,eAAA,GAAkB,aAAa,wBAAwB;;A1GFnE,CAAA;;;ADAA;;;;;;AAAwB,K4GAZ,qBAAA,GAAwB,G5GAZ,GAAA;;;;;;;;;;;;K6GCZ,iBAAA,GAAoB,aAAa;;;;;;;;;;;KCAjC,WAAA,GAAc,aAAa;;;;;;;;;;A7GDvC;K8GKY,QAAA,GAAW,aAAa,iBAAiB,oBAAoB,UAAU,WAAW;;;;;;;;;;;A9GLlF,K+GIA,QAAA,GAAW,Y/GJD,C+GIc,c/GJd,G+GI+B,Q/GJ/B,G+GI0C,e/GJ1C,G+GI4D,W/GJ5D,CAAA,GAAA;;;;;;;;;AAAtB;;KgHMY,gBAAA,GAAmB,aAAa,yBAAyB,sCAAsC,cAAc,qCAAqC,uCAAuC;;A/GNrM,CAAA;;;;;;;;;KgHEY,gBAAA,GAAmB,aAAa,yBAAyB;;AjHFrE,CAAA;;;;;;;;;KkHEY,4BAAA,GAA+B,aAAa,+BAA+B;;AlHFvF,CAAA;;;AEAA;;;;ACAA;;AAA+E,KgHkBnE,eAAA,GACT,kBhHnB4E,GgHoB5E,OhHpB4E,GgHqB5E,WhHrB4E,GgHsB5E,iBhHtB4E,GgHuB5E,gBhHvB4E,GgHwB5E,QhHxB4E,GgHyB5E,mBhHzB4E,GgH0B5E,OhH1B4E,GgH2B5E,QhH3B4E,GgH4B5E,ehH5B4E,GgH6B5E,gBhH7B4E,GgH8B5E,4BhH9B4E,GgH+B5E,8BhH/B4E,GgHgC5E,chHhC4E,GgHiC5E,oBhHjC4E,GgHkC5E,QhHlC4E,GgHmC5E,gBhHnC4E,GgHoC5E,iBhHpC4E,GgHqC5E,WhHrC4E;;;;;;;;;KiHCnE,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GL,oBnH3GK,CAAA,MAAc,CAAA;QmH4GnB;QACA;QACA;ElH9GP,IAAY,EkH+GL,WlH/GK;EAAA,IAAA,EkHgHL,elHhHK;QkHiHL,sBlHjHwD;QkHkHxD,WlHjHA;QkHkHA,alHjHA;EAAA,IAAA,EkHkHA,iBlHlHA;QkHmHA;QACA;QACA;EjHvHP,IAAY,EiHwHL,YjHxHK;QiHyHL;QACA;QACA;EhH3HP,IAAY,EgH4HL,OhH5HK;QgH6HL;QACA;QACA;E/G/HP,IAAY,E+GgIL,mB/GhIK;EAAA,IAAA,E+GiIL,gB/GjIK;Q+GkIL,Q/GlI8B;Q+GmI9B,mB/GhIA,CAAA,MAAA,CAAA;EAAA,IAAA,E+GiIA,e/GjIA;Q+GkIA;QACA;QACA;E9GvIP,IAAY,E8GwIL,c9GxIK;Q8GyIL;QACA;QACA;E7G3IP,IAAY,E6G4IL,oC7G5IqB;Q6G6IrB;QACA;QACA;E5GjJP,IAAY,E4GkJL,a5GlJK;Q4GmJL;QACA;QACA;E3GnJP,IAAY,E2GoJL,e3GpJK;Q2GqJL;QACA;QACA;E1GtJP,IAAY,E0GuJL,kB1GvJK;EAAA,IAAA,E0GwJL,c1GxJK;Q0GyJL,c1GzJuB;Q0G0JvB,sB1GnJC;EAAA,IAAA,E0GoJD,sB1GpJC;Q0GqJD;QACA;QACA;EzG/JP,IAAY,EyGgKL,azGhKK;QyGiKL;QACA;QACA;ExGnKP,IAAY,EwGoKL,cxGpKK;EAAA,IAAA,EwGqKL,uBxGrKK;QwGsKL,oBxGtKoB;QwGuKpB,kBxGrKW;QwGsKX,mCxGtKA;EAAA,IAAA,EwGuKA,sBxGvKA;QwGwKA;QACA;QACA;EvG5KP,IAAY,EuG6KL,QvG7KK;QuG8KL;QACA;QACA;EtGhLP,IAAY,EsGiLL,WtGjLK;OsGkLN;OACA;QACC;ErGpLP,IAAY,EqGqLL,mBrGrLK;QqGsLL;QACA;;;;;;;;;;;;AtIvLP;;;;ACAY,iBsIUI,iBtIVJ,CAAA,UAA8B,MsIUQ,atIVR,CAAA,CAAA,GAAA,EsIU4B,OtIV5B,EAAA,IAAA,EsIU2C,CtIV3C,GsIU+C,CtIV/C,EAAA,EAAA,MAAA,CAAA,EsIU4D,atIV5D,CAAA,EsIUiF,atIVjF,CsIU+F,CtIV/F,CAAA,EAAA;;;;;;;;;;ADA1C;;;;ACAA;iBuI8BgB,kBAAkB,aAAa,iBAAiB,UAAU,SAAS,iBAAiB,UAAU,aAAa,gBAAgB;;;;;;;;;;;AxI9B3I;;;;ACAY,iBwIUI,axIVJ,CAAA,UAA8B,MwIUI,axIVJ,CAAA,CAAA,GAAA,EwIUwB,OxIVxB,EAAA,IAAA,EwIUuC,CxIVvC,EAAA,MAAA,CAAA,EwIUkD,axIVlD,CAAA,EwIUuE,axIVvE,CwIUqF,CxIVrF,CAAA,GAAA,IAAA;;;;;;;;;;;ADA1C;;;iB0IQgB,UAAA,MAAgB,kBAAkB,gBAAgB;;;;;;;;;;;A1IRlE;;iB2IMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A3IN5C;;iB4IOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A5IP5C;;iB6IOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A7IP5C;;iB8IOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A9IP5C;;iB+IOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A/IP5C;;iBgJOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AhJP5C;;iBiJQgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AjJR5C;;iBkJMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AlJN5C;;iBmJOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AnJP5C;;iBoJMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;ApJN5C;;iBqJOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;ArJP5C;;iBsJOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AtJP5C;;iBuJMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AvJN5C;;iBwJMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AxJN5C;;iByJOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AzJP5C;;iB0JOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A1JP5C;;iB2JOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A3JP5C;;iB4JOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A5JP5C;;iB6JMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A7JN5C;;iB8JMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A9JN5C;;iB+JMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A/JN5C;;iBgKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AhKN5C;;iBiKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AjKN5C;;iBkKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AlKN5C;;iBmKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AnKN5C;;iBoKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;ApKN5C;;iBqKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;ArKN5C;;iBsKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AtKN5C;;iBuKOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AvKP5C;;iBwKOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AxKP5C;;iByKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AzKN5C;;iB0KMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A1KN5C;;iB2KOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A3KP5C;;iB4KOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A5KP5C;;iB6KMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A7KN5C;;iB8KOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A9KP5C;;iB+KOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A/KP5C;;iBgLOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AhLP5C;;iBiLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AjLN5C;;iBkLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AlLN5C;;iBmLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AnLN5C;;;iBoLOgB,eAAe,iBAAiB,sBAAsB,UAAU,OAAO,qBAAqB;;;;;;;;;;;ApLP5G;;iBqLOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;ArLP5C;;iBsLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AtLN5C;;iBuLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AvLN5C;;iBwLOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AxLP5C;;iByLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AzLN5C;;iB0LOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A1LP5C;;iB2LMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A3LN5C;;iB4LMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A5LN5C;;iB6LOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A7LP5C;;iB8LQgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A9LR5C;;iB+LMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;A/LN5C;;iBgMOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AhMP5C;;iBiMMgB,GAAA,OAAU,UAAU,OAAO;;;;;;;;;;;AjMN3C;;iBkMMgB,GAAA,OAAU,UAAU,OAAO;;;;;;;;;;;AlMN3C;;iBmMMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;AnMN5C;;iBoMOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;ApMP5C;;iBqMMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;iBCH5B,IAAA,CAAA,GAAQ,OAAO"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/boxes/Fields.ts","../src/boxes/FullBox.ts","../src/boxes/AudioRenderingIndicationBox.ts","../src/boxes/SampleEntryBox.ts","../src/boxes/AudioSampleEntryBox.ts","../src/boxes/ChunkLargeOffsetBox.ts","../src/boxes/ChunkOffsetBox.ts","../src/boxes/CompactSampleSizeBox.ts","../src/boxes/CompositionTimeToSampleEntry.ts","../src/boxes/CompositionTimeToSampleBox.ts","../src/boxes/DataEntryUrlBox.ts","../src/boxes/DataEntryUrnBox.ts","../src/boxes/DataReferenceBox.ts","../src/boxes/DecodingTimeSample.ts","../src/boxes/DecodingTimeToSampleBox.ts","../src/boxes/DegradationPriorityBox.ts","../src/boxes/EditListEntry.ts","../src/boxes/EditListBox.ts","../src/boxes/EventMessageBox.ts","../src/boxes/ExtendedLanguageBox.ts","../src/boxes/FileTypeBox.ts","../src/boxes/FreeSpaceBox.ts","../src/boxes/HandlerReferenceBox.ts","../src/boxes/HintMediaHeaderBox.ts","../src/boxes/IdentifiedMediaDataBox.ts","../src/boxes/IpmpInfoBox.ts","../src/boxes/ItemInfoEntry.ts","../src/boxes/ItemExtent.ts","../src/boxes/ItemLocation.ts","../src/boxes/ItemLocationBox.ts","../src/boxes/LabelBox.ts","../src/boxes/MediaDataBox.ts","../src/boxes/MediaHeaderBox.ts","../src/boxes/MovieExtendsHeaderBox.ts","../src/boxes/MovieFragmentHeaderBox.ts","../src/boxes/MovieFragmentRandomAccessOffsetBox.ts","../src/boxes/MovieHeaderBox.ts","../src/boxes/NullMediaHeaderBox.ts","../src/boxes/OriginalFormatBox.ts","../src/boxes/Entity.ts","../src/boxes/PreselectionGroupBox.ts","../src/boxes/PrimaryItemBox.ts","../src/boxes/ProducerReferenceTimeBox.ts","../src/boxes/ProtectionSystemSpecificHeaderBox.ts","../src/boxes/SampleAuxiliaryInformationOffsetsBox.ts","../src/boxes/SampleAuxiliaryInformationSizesBox.ts","../src/boxes/SampleDependencyTypeBox.ts","../src/boxes/SampleDescriptionBox.ts","../src/boxes/SubsampleEncryption.ts","../src/boxes/EncryptedSample.ts","../src/boxes/SampleEncryptionBox.ts","../src/boxes/SampleGroupDescriptionBox.ts","../src/boxes/SampleSizeBox.ts","../src/boxes/SampleToChunkEntry.ts","../src/boxes/SampleToChunkBox.ts","../src/boxes/SampleToGroupEntry.ts","../src/boxes/SampleToGroupBox.ts","../src/boxes/SchemeTypeBox.ts","../src/boxes/SegmentIndexReference.ts","../src/boxes/SegmentIndexBox.ts","../src/boxes/SegmentTypeBox.ts","../src/boxes/ShadowSyncEntry.ts","../src/boxes/ShadowSyncSampleBox.ts","../src/boxes/SingleItemTypeReferenceBox.ts","../src/boxes/SoundMediaHeaderBox.ts","../src/boxes/Subsample.ts","../src/boxes/SubsampleEntry.ts","../src/boxes/SubsampleInformationBox.ts","../src/boxes/SubsegmentRange.ts","../src/boxes/Subsegment.ts","../src/boxes/SubsegmentIndexBox.ts","../src/boxes/SubtitleMediaHeaderBox.ts","../src/boxes/SyncSample.ts","../src/boxes/SyncSampleBox.ts","../src/boxes/TrackEncryptionBox.ts","../src/boxes/TrackExtendsBox.ts","../src/boxes/TrackFragmentBaseMediaDecodeTimeBox.ts","../src/boxes/TrackFragmentHeaderBox.ts","../src/boxes/TrackFragmentRandomAccessEntry.ts","../src/boxes/TrackFragmentRandomAccessBox.ts","../src/boxes/TrackHeaderBox.ts","../src/boxes/TrackKindBox.ts","../src/boxes/TrackRunSample.ts","../src/boxes/TrackRunBox.ts","../src/boxes/UrlBox.ts","../src/boxes/UrnBox.ts","../src/boxes/VideoMediaHeaderBox.ts","../src/boxes/VisualSampleEntryBox.ts","../src/boxes/WebVttConfigurationBox.ts","../src/boxes/WebVttCueIdBox.ts","../src/boxes/WebVttCuePayloadBox.ts","../src/boxes/WebVttEmptySampleBox.ts","../src/boxes/WebVttSettingsBox.ts","../src/boxes/WebVttSourceLabelBox.ts","../src/boxes/IsoBox.ts","../src/boxes/ContainerBox.ts","../src/boxes/DataInformationBox.ts","../src/boxes/EditBox.ts","../src/boxes/ItemInfoBox.ts","../src/boxes/SchemeInformationBox.ts","../src/boxes/ProtectionSchemeInformationBox.ts","../src/boxes/ItemProtectionBox.ts","../src/boxes/ItemReferenceBox.ts","../src/boxes/SampleTableBox.ts","../src/boxes/MediaInformationBox.ts","../src/boxes/MediaBox.ts","../src/boxes/MetaBox.ts","../src/boxes/MovieExtendsBox.ts","../src/boxes/TrackReferenceTypeBox.ts","../src/boxes/TrackReferenceBox.ts","../src/boxes/UserDataBox.ts","../src/boxes/TrackBox.ts","../src/boxes/MovieBox.ts","../src/boxes/TrackFragmentBox.ts","../src/boxes/MovieFragmentBox.ts","../src/boxes/MovieFragmentRandomAccessBox.ts","../src/boxes/IsoContainerBox.ts","../src/boxes/IsoBmffBox.ts","../src/BoxParser.ts","../src/BoxParserMap.ts","../src/IsoViewConfig.ts","../src/readers/IsoFieldTypeMap.ts","../src/IsoView.ts","../src/boxes/Box.ts","../src/boxes/TypeBox.ts","../src/BoxFilter.ts","../src/IsoData.ts","../src/createIsoView.ts","../src/fields/DATA.ts","../src/fields/INT.ts","../src/fields/STRING.ts","../src/fields/TEMPLATE.ts","../src/fields/UINT.ts","../src/fields/UTF8.ts","../src/filterBoxes.ts","../src/boxes/IsoBmffBoxMap.ts","../src/filterBoxesByType.ts","../src/findBox.ts","../src/findBoxByType.ts","../src/parseBoxes.ts","../src/parsers/ardi.ts","../src/parsers/avc1.ts","../src/parsers/avc2.ts","../src/parsers/avc3.ts","../src/parsers/avc4.ts","../src/parsers/ctts.ts","../src/parsers/dref.ts","../src/parsers/elng.ts","../src/parsers/elst.ts","../src/parsers/emsg.ts","../src/parsers/enca.ts","../src/parsers/encv.ts","../src/parsers/free.ts","../src/parsers/frma.ts","../src/parsers/ftyp.ts","../src/parsers/hdlr.ts","../src/parsers/hev1.ts","../src/parsers/hvc1.ts","../src/parsers/iden.ts","../src/parsers/imda.ts","../src/parsers/kind.ts","../src/parsers/labl.ts","../src/parsers/mdat.ts","../src/parsers/mdhd.ts","../src/parsers/mehd.ts","../src/parsers/meta.ts","../src/parsers/mfhd.ts","../src/parsers/mfro.ts","../src/parsers/mp4a.ts","../src/parsers/mvhd.ts","../src/parsers/payl.ts","../src/parsers/prft.ts","../src/parsers/prsl.ts","../src/parsers/pssh.ts","../src/parsers/schm.ts","../src/parsers/sdtp.ts","../src/parsers/sidx.ts","../src/parsers/skip.ts","../src/parsers/smhd.ts","../src/parsers/ssix.ts","../src/parsers/sthd.ts","../src/parsers/stsd.ts","../src/parsers/stss.ts","../src/parsers/sttg.ts","../src/parsers/stts.ts","../src/parsers/styp.ts","../src/parsers/subs.ts","../src/parsers/tenc.ts","../src/parsers/tfdt.ts","../src/parsers/tfhd.ts","../src/parsers/tfra.ts","../src/parsers/tkhd.ts","../src/parsers/trex.ts","../src/parsers/trun.ts","../src/parsers/url.ts","../src/parsers/urn.ts","../src/parsers/vlab.ts","../src/parsers/vmhd.ts","../src/parsers/vttC.ts","../src/parsers/vtte.ts"],"sourcesContent":[],"mappings":"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qFAY,MAAA,GAAS;;;EpFArB,QAAY,EAAA,MAAA;;;;ADAZ;;;;;;KsFAY,mBAAA,GAAsB;;;ErFAlC,OAAY,EAAA,MAAA,EAAA;;;;ADAZ;;;;;;KuFAY,gKAA8J;QACnK;;EtFDP,SAAY,EAAA,MAAA;;;;ECAZ,eAAY,EAAA,MAAA;;;;ECAZ,cAAY,EAAA,MAAA,EAAA;;;UoFcH;AnFdT,CAAA;;;AJAA;;;;;;KwFAY,sBAAA,GAAyB;;;AvFArC,CAAA;;;ADAA;;;;;;KyFAY,cAAA,GAAiB;;;AxFA7B,CAAA;;;ADAA;;;;;;K0FAY,mBAAA,GAAsB;;;AzFAlC,CAAA;;;ADAA;;;;;;K2FAY,oBAAA,GAAuB;;;;;A3FAnC;;;;;;K4FAY,iBAAA,GAAoB;;;A3FAhC,CAAA;;;ADAA;;;;;;K6FAY,oBAAA,GAAuB;;;A5FAnC,CAAA;;;;;AcAA;;;;ACFY,K8EyEA,MAAA,GACT,2B9E1ES,G8E2ET,mB9E3ES,CAAA,MAAA,CAAA,G8E4ET,mB9E5ES,CAAA,MAAA,CAAA,G8E6ET,mB9E7ES,G8E8ET,c9E9ES,G8E+ET,oB9E/ES,G8EgFT,0B9EhFS,G8EiFT,e9EjFS,G8EkFT,e9ElFS,G8EmFT,gB9EnFS,G8EoFT,uB9EpFS,G8EqFT,sB9ErFS,G8EsFT,W9EtFS,G8EuFT,e9EvFS,G8EwFT,mB9ExFS,G8EyFT,W9EzFS,G8E0FT,Y9E1FS,CAAA,MAAA,CAAA,G8E2FT,Y9E3FS,CAAA,MAAA,CAAA,G8E4FT,mB9E5FS,G8E6FT,kB9E7FS,G8E8FT,sB9E9FS,G8E+FT,W9E/FS,G8EgGT,a9EhGS,G8EiGT,e9EjGS,G8EkGT,Q9ElGS,G8EmGT,Y9EnGS,G8EoGT,c9EpGS,G8EqGT,qB9ErGS,G8EsGT,sB9EtGS,G8EuGT,kC9EvGS,G8EwGT,c9ExGS,G8EyGT,kB9EzGS,G8E0GT,iB9E1GS,G8E2GT,c9E3GS,G8E4GT,oB9E5GS,G8E6GT,wB9E7GS,G8E8GT,iC9E9GS,G8E+GT,oC9E/GS,G8EgHT,kC9EhHS,G8EiHT,uB9EjHS,G8EkHT,oB9ElHS,G8EmHT,mB9EnHS,G8EoHT,yB9EpHS,G8EqHT,a9ErHS,G8EsHT,gB9EtHS,G8EuHT,gB9EvHS,G8EwHT,a9ExHS,G8EyHT,e9EzHS,G8E0HT,c9E1HS,G8E2HT,mB9E3HS,G8E4HT,0B9E5HS,G8E6HT,mB9E7HS,G8E8HT,uB9E9HS,G8E+HT,kB9E/HS,G8EgIT,sB9EhIS,G8EiIT,a9EjIS,G8EkIT,kB9ElIS,G8EmIT,e9EnIS,G8EoIT,mC9EpIS,G8EqIT,sB9ErIS,G8EsIT,4B9EtIS,G8EuIT,c9EvIS,G8EwIT,Y9ExIS,G8EyIT,W9EzIS,G8E0IT,M9E1IS,G8E2IT,M9E3IS,G8E4IT,mB9E5IS,G8E6IT,oB9E7IS,CAAA,MAAA,CAAA,G8E8IT,oB9E9IS,CAAA,MAAA,CAAA,G8E+IT,oB9E/IS,CAAA,MAAA,CAAA,G8EgJT,oB9EhJS,CAAA,MAAA,CAAA,G8EiJT,oB9EjJS,CAAA,MAAA,CAAA,G8EkJT,oB9ElJS,CAAA,MAAA,CAAA,G8EmJT,oB9EnJS,CAAA,MAAA,CAAA,G8EoJT,sB9EpJS,G8EqJT,c9ErJS,G8EsJT,mB9EtJS,G8EuJT,oB9EvJS,G8EwJT,iB9ExJS,G8EyJT,oB9EzJS;;;AhBEZ;;;;;;K+FAY,oBAAkB;SACtB;;;;;;;;;;KCAI,kBAAA,GAAqB,aAAa;;A/FD9C,CAAA;;;;;;;;;KgGCY,OAAA,GAAU,aAAa;;AhGDnC,CAAA;;;;;;;;;KiGCY,WAAA,GAAc,aAAa;;EjGDvC,UAAY,EAAA,MAAA;;;;;;;;;;KkGEA,oBAAA,GAAuB,aAAa,qBAAqB;ElGFrE,IAAY,EAAA,MAAA;;;;;;;;;AAAZ;KmGIY,8BAAA,GAAiC,aAAa,oBAAoB,cAAc,gBAAgB;;;;;;;;;;;KCHhG,iBAAA,GAAoB,aAAa;;EpGD7C,eAAY,EAAA,MAAA;;;;;;;;;;KqGCA,gBAAA,GAAmB,aAAa;;ArGD5C,CAAA;;;;ACAA;;;;ACAA;KoGYY,cAAA,GAAiB,aAAa,uBAAuB,0BAA0B,6BAA6B,mBAAmB,gBAAgB,iBAAiB,gBAAgB,sBAAsB,yBAAyB,0BAA0B,mBAAmB;;;;;;;;AtGZxR;;;KuGMY,mBAAA,GAAsB,aAAa,sBAAsB,sBAAsB,qBAAq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BAAoB,qBAAqB,iCAAiC,sBAAsB;;;;A7HA5G;;;;;AAAwB,K8HDZ,OAAA,GAAU,W9HCE,G8HDY,Q9HCZ,C8HDqB,W9HCrB,CAAA,G8HDoC,U9HCpC,C8HD+C,W9HC/C,CAAA;;;;;;;;;;ACAxB;;;;ACAY,iB6HOI,aAAA,C7HPJ,GAAA,E6HOuB,O7HPO,EAAA,MAAA,CAAA,E6HOW,a7HPX,CAAA,E6HO2B,O7HP3B;;;;AFA1C;;;;;AAAwB,cgIFX,IAAA,GhIEW,MAAA;;;;AAAxB;;;;;AAAwB,ciIFX,GAAA,GjIEW,KAAA;;;;AAAxB;;;;;AAAwB,ckIFX,MAAA,GlIEW,QAAA;;;;AAAxB;;;;;AAAwB,cmIFX,QAAA,GnIEW,UAAA;;;;AAAxB;;;;;AAAwB,coIFX,IAAA,GpIEW,MAAA;;;;AAAxB;;;;;AAAwB,cqIFX,IAAA,GrIEW,MAAA;;;;;;;;;ACAxB;;;;ACAY,iBoIwBI,WpIxBJ,CAAA,YoIwB0B,UpIxBI,GoIwBS,UpIxBT,CAAA,CAAA,GAAA,EoIwB0B,OpIxB1B,GoIwBoC,QpIxBpC,CoIwB6C,UpIxB7C,CAAA,EAAA,EAAA,EoIwB8D,SpIxB9D,CoIwBwE,GpIxBxE,CAAA,EAAA,MAAA,CAAA,EoIwBqF,apIxBrF,CAAA,EoIwBqG,GpIxBrG,EAAA;;;;;AiBA1C;;;;ACAY,KmHuFA,aAAA,GnHvFA;QmHwFL;QACA;QACA;ElH1FP,IAAY,EkH2FL,oBlH3FK,CAAA,MAAA,CAAA;EAAmD,IAAA,EkH4FxD,oBlH5FwD,CAAA,MAAA,CAAA;EACxD,IAAA,EkH4FA,mBlH5FA;EACA,IAAA,EkH4FA,0BlH5FA;EAAA,IAAA,EkH6FA,kBlH7FA;QkH8FA;QACA;QACA;EjHlGP,IAAY,EiHmGL,WjHnGK;QiHoGL;QACA;QACA;EhHtGP,IAAY,EgHuGL,YhHvGK,CAAA,MAAA,CAAA;QgHwGL;QACA;QACA;E/G1GP,IAAY,E+G2GL,oB/G3GK,CAAA,MAAA,CAAA;Q+G4GL;QACA;QACA;E9G9GP,IAAY,E8G+GL,W9G/GK;Q8GgHL;QACA;QACA;E7GlHP,IAAY,E6GmHL,a7GnHK;Q6GoHL;QACA;QACA;E5GxHP,IAAY,E4GyHL,Q5GzHK;Q4G0HL;QACA;QACA;E3G1HP,IAAY,E2G2HL,qB3G3HK;Q2G4HL;QACA;QACA;E1G7HP,IAAY,E0G8HL,kC1G9HuB;Q0G+HvB;QACA;QACA;EzGlIP,IAAY,EyGmIL,mBzGnIK,CAAA,MAAW,CAAA;QyGoIhB;QACA;QACA;ExGtIP,IAAY,EwGuIL,mBxGvIK;EAAe,IAAA,EwGwIpB,cxGxIoB;EAET,IAAA,EwGuIX,wBxGvIW;EAAX,IAAA,EwGwIA,oBxGxIA;EAAA,IAAA,EwGyIA,iCxGzIA;QwG0IA;QACA;QACA;EvG9IP,IAAY,EuG+IL,oBvG/IK;QuGgJL;QACA;QACA;EtGlJP,IAAY,EsGmJL,yBtGnJK;QsGoJL;QACA;QACA;ErGtJP,IAAY,EqGuJL,mBrGvJK;QqGwJL;QACA;QACA;EpG1JP,IAAY,EoG2JL,sBpG3JK;QoG4JL;QACA;QACA;EnG9JP,IAAY,EmG+JL,mBnG/JK;QmGgKL;QACA;QACA;ElGlKP,IAAY,EkGmKL,uBlGnKK;QkGoKL;QACA;QACA;EjGtKP,IAAY,EiGuKL,kBjGvKK;QiGwKL;QACA;QACA;EhG5KP,IAAY,EgG6KL,chG7KK;QgG8KL;QACA;QACA;E/F7KP,IAAY,E+F8KL,e/F9KK;Q+F+KL;QACA;OACD;E9FlLN,GAAY,E8FmLN,e9FnLM;Q8FoLL;QACA;QACA;E7FtLP,IAAY,E6FuLL,oB7FvLK;;;;;;;;;;;AzCAZ;;;;ACAA;iBsIUgB,oCAAkC,oBAAoB,eAAe,MAAI,gBAAa,gBAAqB,cAAc;;;;;;;;;AvIVzI;;;;ACAA;;iBuI8BgB,oBAAkB,aAAa,iBAAiB,UAAU,SAAS,iBAAiB,UAAU,eAAa,gBAAgB;;;;;;;;;;AxI9B3I;;;;ACAA;iBwIUgB,gCAA8B,oBAAoB,eAAe,cAAW,gBAAqB,cAAc;;;;;;;;;;AzIV/H;;;;ACAY,iByIQI,UAAA,CzIRJ,GAAA,EyIQoB,OzIRU,EAAA,MAAA,CAAA,EyIQQ,azIRR,CAAA,EyIQwB,UzIRxB,EAAA;;;;;;;;;;ADA1C;;;iB2IMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A3IN5C;;;iB4IOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A5IP5C;;;iB6IOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A7IP5C;;;iB8IOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A9IP5C;;;iB+IOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A/IP5C;;;iBgJOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AhJP5C;;;iBiJQgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AjJR5C;;;iBkJMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AlJN5C;;;iBmJOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AnJP5C;;;iBoJMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;ApJN5C;;;iBqJOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;ArJP5C;;;iBsJOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AtJP5C;;;iBuJMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AvJN5C;;;iBwJMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AxJN5C;;;iByJOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AzJP5C;;;iB0JOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A1JP5C;;;iB2JOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A3JP5C;;;iB4JOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A5JP5C;;;iB6JMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A7JN5C;;;iB8JMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A9JN5C;;;iB+JMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A/JN5C;;;iBgKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AhKN5C;;;iBiKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AjKN5C;;;iBkKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AlKN5C;;;iBmKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AnKN5C;;;iBoKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;ApKN5C;;;iBqKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;ArKN5C;;;iBsKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AtKN5C;;;iBuKOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AvKP5C;;;iBwKOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AxKP5C;;;iByKMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AzKN5C;;;iB0KMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A1KN5C;;;iB2KOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A3KP5C;;;iB4KOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A5KP5C;;;iB6KMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A7KN5C;;;iB8KOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A9KP5C;;;iB+KOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A/KP5C;;;iBgLOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AhLP5C;;;iBiLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AjLN5C;;;iBkLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AlLN5C;;;iBmLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;AnLN5C;;;;ACAY,iBmLOI,InLPJ,CAAA,UmLOmB,cnLPW,GmLOM,cnLPN,CAAA,CAAA,IAAA,EmLO4B,OnLP5B,CAAA,EmLOsC,MnLPtC,CmLO6C,oBnLP7C,CmLOkE,CnLPlE,CAAA,CAAA;;;;;;;;;;ADA1C;;;iBqLOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;ArLP5C;;;iBsLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AtLN5C;;;iBuLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AvLN5C;;;iBwLOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AxLP5C;;;iByLMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AzLN5C;;;iB0LOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A1LP5C;;;iB2LMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A3LN5C;;;iB4LMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A5LN5C;;;iB6LOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A7LP5C;;;iB8LQgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A9LR5C;;;iB+LMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;A/LN5C;;;iBgMOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AhMP5C;;;iBiMMgB,GAAA,OAAU,UAAU,OAAO;;;;;;;;;;AjMN3C;;;iBkMMgB,GAAA,OAAU,UAAU,OAAO;;;;;;;;;;AlMN3C;;;iBmMMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;AnMN5C;;;iBoMOgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;ApMP5C;;;iBqMMgB,IAAA,OAAW,UAAU,OAAO;;;;;;;;;;;ArMNhC,iBsMGI,IAAA,CAAA,CtMHM,EsMGE,MtMHF,CsMGS,oBtMHT,CAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["CONTAINERS: string[]","value: number","s1: number","s2: number","result: any","result: T[]","readUint","readTemplate","readInt","readData","readUint","readString","readData","readUint","readTemplate","readData","readUint","readTemplate","kidCount: number","kid: number[]","readUint","readUint","dataOffset: number | undefined","firstSampleFlags: number | undefined","sample: TrackRunSample"],"sources":["../src/CONTAINERS.ts","../src/fields/DATA.ts","../src/fields/INT.ts","../src/fields/STRING.ts","../src/fields/TEMPLATE.ts","../src/fields/UINT.ts","../src/fields/UTF8.ts","../src/readers/readData.ts","../src/readers/readInt.ts","../src/readers/readUint.ts","../src/readers/readString.ts","../src/readers/readTemplate.ts","../src/readers/readTerminatedString.ts","../src/readers/readUtf8String.ts","../src/readers/readUtf8TerminatedString.ts","../src/IsoView.ts","../src/createIsoView.ts","../src/filterBoxes.ts","../src/filterBoxesByType.ts","../src/findBox.ts","../src/findBoxByType.ts","../src/parseBoxes.ts","../src/parsers/ardi.ts","../src/parsers/avc1.ts","../src/parsers/avc2.ts","../src/parsers/avc3.ts","../src/parsers/avc4.ts","../src/parsers/ctts.ts","../src/parsers/dref.ts","../src/parsers/elng.ts","../src/parsers/elst.ts","../src/parsers/emsg.ts","../src/parsers/mp4a.ts","../src/parsers/enca.ts","../src/parsers/encv.ts","../src/parsers/free.ts","../src/parsers/frma.ts","../src/parsers/ftyp.ts","../src/parsers/hdlr.ts","../src/parsers/hev1.ts","../src/parsers/hvc1.ts","../src/parsers/iden.ts","../src/parsers/imda.ts","../src/parsers/kind.ts","../src/parsers/labl.ts","../src/parsers/mdat.ts","../src/parsers/mdhd.ts","../src/parsers/mehd.ts","../src/parsers/meta.ts","../src/parsers/mfhd.ts","../src/parsers/mfro.ts","../src/parsers/mvhd.ts","../src/parsers/payl.ts","../src/parsers/prft.ts","../src/parsers/prsl.ts","../src/parsers/pssh.ts","../src/parsers/schm.ts","../src/parsers/sdtp.ts","../src/parsers/sidx.ts","../src/parsers/skip.ts","../src/parsers/smhd.ts","../src/parsers/ssix.ts","../src/parsers/sthd.ts","../src/parsers/stsd.ts","../src/parsers/stss.ts","../src/parsers/sttg.ts","../src/parsers/stts.ts","../src/parsers/styp.ts","../src/parsers/subs.ts","../src/parsers/tenc.ts","../src/parsers/tfdt.ts","../src/parsers/tfhd.ts","../src/parsers/tfra.ts","../src/parsers/tkhd.ts","../src/parsers/trex.ts","../src/parsers/trun.ts","../src/parsers/url.ts","../src/parsers/urn.ts","../src/parsers/vlab.ts","../src/parsers/vmhd.ts","../src/parsers/vttC.ts","../src/parsers/vtte.ts"],"sourcesContent":["export const CONTAINERS: string[] = [\n\t'dinf',\n\t'edts',\n\t'enca',\n\t'encv',\n\t'grpl',\n\t'mdia',\n\t'meco',\n\t'meta',\n\t'mfra',\n\t'minf',\n\t'moof',\n\t'moov',\n\t'mvex',\n\t'prsl',\n\t'schi',\n\t'sinf',\n\t'stbl',\n\t'strk',\n\t'traf',\n\t'trak',\n\t'tref',\n\t'udta',\n\t'vttc',\n];\n","/**\n * The data field type\n *\n *\n * @beta\n */\nexport const DATA = 'data';\n","/**\n * The integer field type\n *\n *\n * @beta\n */\nexport const INT = 'int';\n","/**\n * The string field type\n *\n *\n * @beta\n */\nexport const STRING = 'string';\n","/**\n * The template field type\n *\n *\n * @beta\n */\nexport const TEMPLATE = 'template';\n","/**\n * The unsigned integer field type\n *\n *\n * @beta\n */\nexport const UINT = 'uint';\n","/**\n * The UTF8 field type\n *\n *\n * @beta\n */\nexport const UTF8 = 'utf8';\n","export function readData(dataView: DataView, offset: number, size: number): Uint8Array {\n\tconst length = (size > 0) ? size : (dataView.byteLength - (offset - dataView.byteOffset));\n\treturn new Uint8Array(dataView.buffer, offset, Math.max(length, 0));\n};\n","export function readInt(dataView: DataView, offset: number, size: number): number {\n\tlet result = NaN;\n\tconst cursor = offset - dataView.byteOffset;\n\n\tswitch (size) {\n\t\tcase 1:\n\t\t\tresult = dataView.getInt8(cursor);\n\t\t\tbreak;\n\n\t\tcase 2:\n\t\t\tresult = dataView.getInt16(cursor);\n\t\t\tbreak;\n\n\t\tcase 4:\n\t\t\tresult = dataView.getInt32(cursor);\n\t\t\tbreak;\n\n\t\tcase 8:\n\t\t\t// Warning: JavaScript cannot handle 64-bit integers natively.\n\t\t\t// This will give unexpected results for integers >= 2^53\n\t\t\tconst s1 = dataView.getInt32(cursor);\n\t\t\tconst s2 = dataView.getInt32(cursor + 4);\n\t\t\tresult = (s1 * Math.pow(2, 32)) + s2;\n\t\t\tbreak;\n\t}\n\n\treturn result;\n};\n","export function readUint(dataView: DataView, offset: number, size: number): number {\n\tconst cursor = offset - dataView.byteOffset;\n\n\tlet value: number = NaN;\n\tlet s1: number;\n\tlet s2: number;\n\n\tswitch (size) {\n\t\tcase 1:\n\t\t\tvalue = dataView.getUint8(cursor);\n\t\t\tbreak;\n\n\t\tcase 2:\n\t\t\tvalue = dataView.getUint16(cursor);\n\t\t\tbreak;\n\n\t\tcase 3:\n\t\t\ts1 = dataView.getUint16(cursor);\n\t\t\ts2 = dataView.getUint8(cursor + 2);\n\t\t\tvalue = (s1 << 8) + s2;\n\t\t\tbreak;\n\n\t\tcase 4:\n\t\t\tvalue = dataView.getUint32(cursor);\n\t\t\tbreak;\n\n\t\tcase 8:\n\t\t\t// Warning: JavaScript cannot handle 64-bit integers natively.\n\t\t\t// This will give unexpected results for integers >= 2^53\n\t\t\ts1 = dataView.getUint32(cursor);\n\t\t\ts2 = dataView.getUint32(cursor + 4);\n\t\t\tvalue = (s1 * Math.pow(2, 32)) + s2;\n\t\t\tbreak;\n\t}\n\n\treturn value;\n};\n","import { readUint } from './readUint.js';\n\nexport function readString(dataView: DataView, offset: number, length: number): string {\n\tlet str = '';\n\n\tfor (let c = 0; c < length; c++) {\n\t\tconst cursor = offset + c;\n\t\tconst char = readUint(dataView, cursor, 1);\n\t\tstr += String.fromCharCode(char);\n\t}\n\n\treturn str;\n}\n","import { readUint } from './readUint.js';\n\nexport function readTemplate(dataView: DataView, offset: number, size: number): number {\n\tconst half = size / 2;\n\tconst pre = readUint(dataView, offset, half);\n\tconst post = readUint(dataView, offset + half, half);\n\treturn pre + (post / Math.pow(2, half));\n};\n","import { readUint } from './readUint.js';\n\nexport function readTerminatedString(dataView: DataView, offset: number): string {\n\tlet str = '';\n\tlet cursor = offset;\n\n\twhile (cursor - dataView.byteOffset < dataView.byteLength) {\n\t\tconst char = readUint(dataView, cursor, 1);\n\t\tif (char === 0) {\n\t\t\tbreak;\n\t\t}\n\n\t\tstr += String.fromCharCode(char);\n\t\tcursor++;\n\t}\n\n\treturn str;\n};\n","import { decodeText, UTF_8 } from '@svta/cml-utils';\n\n/**\n * Reads a UTF-8 string from a data view.\n *\n * @param dataView - The data view to read from.\n * @param offset - The offset to start reading from.\n * @returns The UTF-8 string.\n *\n * @internal\n */\nexport function readUtf8String(dataView: DataView<ArrayBuffer>, offset: number): string {\n\tconst length = dataView.byteLength - (offset - dataView.byteOffset);\n\treturn (length > 0) ? decodeText(new DataView(dataView.buffer, offset, length), { encoding: UTF_8 }) : '';\n};\n","import { decodeText, UTF_8 } from '@svta/cml-utils';\n\n/**\n * Reads a UTF-8 terminated string from a data view.\n *\n * @param dataView - The data view to read from.\n * @param offset - The offset to start reading from.\n * @returns The UTF-8 terminated string.\n *\n * @internal\n */\nexport function readUtf8TerminatedString(dataView: DataView<ArrayBuffer>, offset: number): string {\n\tconst length = dataView.byteLength - (offset - dataView.byteOffset);\n\n\tlet data = '';\n\n\tif (length > 0) {\n\t\tconst view = new DataView(dataView.buffer, offset, length);\n\n\t\tlet l = 0;\n\n\t\tfor (; l < length; l++) {\n\t\t\tif (view.getUint8(l) === 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// remap the Dataview with the actual length\n\t\tdata = decodeText(new DataView(dataView.buffer, offset, l), { encoding: UTF_8 });\n\t}\n\n\treturn data;\n};\n","import type { ContainerBox } from './boxes/ContainerBox.js';\nimport type { Fields } from './boxes/Fields.js';\nimport type { FullBox } from './boxes/FullBox.js';\nimport type { IsoBmffBox } from './boxes/IsoBmffBox.js';\nimport { CONTAINERS } from './CONTAINERS.js';\nimport { DATA } from './fields/DATA.js';\nimport { INT } from './fields/INT.js';\nimport { STRING } from './fields/STRING.js';\nimport { TEMPLATE } from './fields/TEMPLATE.js';\nimport { UINT } from './fields/UINT.js';\nimport { UTF8 } from './fields/UTF8.js';\nimport type { IsoViewConfig } from './IsoViewConfig.js';\nimport type { IsoFieldTypeMap } from './readers/IsoFieldTypeMap.js';\nimport { readData } from './readers/readData.js';\nimport { readInt } from './readers/readInt.js';\nimport { readString } from './readers/readString.js';\nimport { readTemplate } from './readers/readTemplate.js';\nimport { readTerminatedString } from './readers/readTerminatedString.js';\nimport { readUint } from './readers/readUint.js';\nimport { readUtf8String } from './readers/readUtf8String.js';\nimport { readUtf8TerminatedString } from './readers/readUtf8TerminatedString.js';\n\n/**\n * Raw ISO BMFF data box.\n *\n *\n * @beta\n */\nexport type RawBox = {\n\ttype: string;\n\tsize: number;\n\tlargesize?: number;\n\tusertype?: number[];\n\tdata: IsoView;\n};\n\n/**\n * ISO BMFF data view. Similar to DataView, but with additional methods for reading ISO BMFF data.\n * It implements the iterator protocol, so it can be used in a for...of loop.\n *\n *\n * @beta\n */\nexport class IsoView {\n\tprivate dataView: DataView<ArrayBuffer>;\n\tprivate offset: number;\n\tprivate config: IsoViewConfig;\n\tprivate truncated: boolean = false;\n\n\t/**\n\t * Creates a new IsoView instance. Similar to DataView, but with additional\n\t * methods for reading ISO BMFF data. It implements the iterator protocol,\n\t * so it can be used in a for...of loop.\n\t *\n\t * @param raw - The raw data to view.\n\t * @param config - The configuration for the IsoView.\n\t */\n\tconstructor(raw: ArrayBuffer | DataView<ArrayBuffer> | Uint8Array<ArrayBuffer>, config?: IsoViewConfig) {\n\t\tthis.dataView = (raw instanceof ArrayBuffer) ? new DataView<ArrayBuffer>(raw) : (raw instanceof Uint8Array) ? new DataView<ArrayBuffer>(raw.buffer, raw.byteOffset, raw.byteLength) : raw;\n\t\tthis.offset = this.dataView.byteOffset;\n\t\tthis.config = config || { recursive: false, parsers: {} };\n\t}\n\n\t/**\n\t * The current byteoffset in the data view.\n\t */\n\tget cursor(): number {\n\t\treturn this.offset - this.dataView.byteOffset;\n\t}\n\n\t/**\n\t * Whether the end of the data view has been reached.\n\t */\n\tget done(): boolean {\n\t\treturn this.cursor >= this.dataView.byteLength || this.truncated;\n\t}\n\n\t/**\n\t * The number of bytes remaining in the data view.\n\t */\n\tget bytesRemaining(): number {\n\t\treturn this.dataView.byteLength - this.cursor;\n\t}\n\n\t/**\n\t * Creates a new IsoView instance with a slice of the current data view.\n\t *\n\t * @param size - The size of the slice.\n\t * @returns A new IsoView instance.\n\t */\n\tslice = (size: number): IsoView => {\n\t\tconst dataView = new DataView(this.dataView.buffer, this.offset, size);\n\t\tthis.offset += size;\n\t\treturn new IsoView(dataView, this.config);\n\t};\n\n\tprivate read = <T extends keyof IsoFieldTypeMap>(type: T, size: number = 0): IsoFieldTypeMap[T] => {\n\t\t// TODO: Change all sizes from bits to bytes\n\t\tconst { dataView, offset } = this;\n\n\t\tlet result: any;\n\t\tlet cursor = size;\n\n\t\tswitch (type) {\n\t\t\tcase UINT:\n\t\t\t\tresult = readUint(dataView, offset, size);\n\t\t\t\tbreak;\n\n\t\t\tcase INT:\n\t\t\t\tresult = readInt(dataView, offset, size);\n\t\t\t\tbreak;\n\n\t\t\tcase TEMPLATE:\n\t\t\t\tresult = readTemplate(dataView, offset, size);\n\t\t\t\tbreak;\n\n\t\t\tcase STRING:\n\t\t\t\tif (size === -1) {\n\t\t\t\t\tresult = readTerminatedString(dataView, offset);\n\t\t\t\t\tcursor = result.length + 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tresult = readString(dataView, offset, size);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase DATA:\n\t\t\t\tresult = readData(dataView, offset, size);\n\t\t\t\tcursor = result.length;\n\t\t\t\tbreak;\n\n\t\t\tcase UTF8:\n\t\t\t\tif (size === -1) {\n\t\t\t\t\tresult = readUtf8TerminatedString(dataView, offset);\n\t\t\t\t\tcursor = result.length + 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tresult = readUtf8String(dataView, offset);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tresult = -1;\n\t\t}\n\n\t\tthis.offset += cursor;\n\n\t\treturn result;\n\t};\n\n\t/**\n\t * Reads a unsigned integer from the data view.\n\t *\n\t * @param size - The size of the integer in bytes.\n\t * @returns The unsigned integer.\n\t */\n\treadUint = (size: number): number => {\n\t\treturn this.read(UINT, size);\n\t};\n\n\t/**\n\t * Reads a signed integer from the data view.\n\t *\n\t * @param size - The size of the integer in bytes.\n\t * @returns The signed integer.\n\t */\n\treadInt = (size: number): number => {\n\t\treturn this.read(INT, size);\n\t};\n\n\t/**\n\t * Reads a string from the data view.\n\t *\n\t * @param size - The size of the string in bytes.\n\t * @returns The string.\n\t */\n\treadString = (size: number): string => {\n\t\treturn this.read(STRING, size);\n\t};\n\n\t/**\n\t * Reads a template from the data view.\n\t *\n\t * @param size - The size of the template in bytes.\n\t * @returns The template.\n\t */\n\treadTemplate = (size: number): number => {\n\t\treturn this.read(TEMPLATE, size);\n\t};\n\n\t/**\n\t * Reads a byte array from the data view.\n\t *\n\t * @param size - The size of the data in bytes.\n\t * @returns The data.\n\t */\n\treadData = (size: number): Uint8Array<ArrayBuffer> => {\n\t\treturn this.read(DATA, size);\n\t};\n\n\t/**\n\t * Reads a UTF-8 string from the data view.\n\t *\n\t * @param size - The size of the string in bytes.\n\t * @returns The UTF-8 string.\n\t */\n\treadUtf8 = (size?: number): string => {\n\t\treturn this.read(UTF8, size);\n\t};\n\n\t/**\n\t * Reads a full box from the data view.\n\t *\n\t * @returns The full box.\n\t */\n\treadFullBox = (): Fields<FullBox> => {\n\t\treturn {\n\t\t\tversion: this.readUint(1),\n\t\t\tflags: this.readUint(3),\n\t\t};\n\t};\n\n\t/**\n\t * Reads an array of values from the data view.\n\t *\n\t * @param type - The type of the values.\n\t * @param size - The size of the values in bytes.\n\t * @param length - The number of values to read.\n\t * @returns The array of values.\n\t */\n\treadArray = <T extends keyof IsoFieldTypeMap>(type: T, size: number, length: number): IsoFieldTypeMap[T][] => {\n\t\tconst value = [];\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tvalue.push(this.read(type, size));\n\t\t}\n\n\t\treturn value as IsoFieldTypeMap[T][];\n\t};\n\n\t/**\n\t * Reads a raw box from the data view.\n\t *\n\t * @returns The box.\n\t */\n\treadBox = (): RawBox => {\n\t\tconst { dataView, offset } = this;\n\n\t\t// read box size and type without advancing the cursor in case the box is truncated\n\t\tlet cursor = 0;\n\n\t\tconst box = {\n\t\t\tsize: readUint(dataView, offset, 4),\n\t\t\ttype: readString(dataView, offset + 4, 4),\n\t\t} as RawBox;\n\n\t\tcursor += 8;\n\n\t\tif (box.size === 1) {\n\t\t\tbox.largesize = readUint(dataView, offset + cursor, 8);\n\t\t\tcursor += 8;\n\t\t}\n\n\t\tconst actualSize = box.largesize || box.size;\n\t\tif (this.cursor + actualSize > dataView.byteLength) {\n\t\t\tthis.truncated = true;\n\t\t\tthrow new Error('Truncated box');\n\t\t}\n\n\t\tthis.offset += cursor;\n\t\tif (box.type === 'uuid') {\n\t\t\tbox.usertype = this.readArray('uint', 1, 16);\n\t\t}\n\n\t\tconst viewSize = box.size === 0 ? this.bytesRemaining : actualSize - cursor;\n\t\tbox.data = this.slice(viewSize);\n\n\t\treturn box;\n\t};\n\n\t/**\n\t * Reads a number of boxes from the data view.\n\t *\n\t * @param length - The number of boxes to read.\n\t * @returns The boxes.\n\t */\n\treadBoxes = <T = IsoBmffBox>(length: number): T[] => {\n\t\tconst result: T[] = [];\n\n\t\tfor (const box of this) {\n\t\t\tresult.push(box as T);\n\n\t\t\tif (length > 0 && result.length >= length) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t/**\n\t * Reads a number of entries from the data view.\n\t *\n\t * @param length - The number of entries to read.\n\t * @param map - The function to map the entries.\n\t * @returns The entries.\n\t */\n\treadEntries = <T>(length: number, map: () => T): T[] => {\n\t\tconst result: T[] = [];\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tresult.push(map());\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t/**\n\t * Iterates over the boxes in the data view.\n\t *\n\t * @returns A generator of boxes.\n\t */\n\t*[Symbol.iterator](): Generator<IsoBmffBox> {\n\t\tconst { parsers = {}, recursive = false } = this.config;\n\n\t\twhile (!this.done) {\n\t\t\ttry {\n\t\t\t\tconst { type, data, ...rest } = this.readBox();\n\t\t\t\tconst box = { type, ...rest } as IsoBmffBox;\n\t\t\t\tconst parser = parsers[type] || parsers[type.trim()]; // url and urn boxes have a trailing space in their type field\n\n\t\t\t\tif (parser) {\n\t\t\t\t\tObject.assign(box, parser(data, this.config));\n\t\t\t\t}\n\n\t\t\t\tbox.view = data;\n\n\t\t\t\tif (CONTAINERS.includes(type)) {\n\t\t\t\t\tconst boxes = [];\n\n\t\t\t\t\tfor (const child of data) {\n\t\t\t\t\t\tif (recursive) {\n\t\t\t\t\t\t\tyield child;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tboxes.push(child);\n\t\t\t\t\t}\n\n\t\t\t\t\t(box as ContainerBox<IsoBmffBox>).boxes = boxes;\n\t\t\t\t}\n\n\t\t\t\tyield box;\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n}\n","import type { IsoData } from './IsoData.js';\nimport { IsoView } from './IsoView.js';\nimport type { IsoViewConfig } from './IsoViewConfig.js';\n\n/**\n * Create an IsoView from a raw ISO data.\n *\n * @param raw - The raw ISO data\n * @param config - The configuration for the IsoView\n *\n * @returns The created IsoView\n *\n *\n * @beta\n */\nexport function createIsoView(raw: IsoData, config?: IsoViewConfig): IsoView {\n\treturn new IsoView(raw, config);\n}\n","import type { ContainerBox } from './boxes/ContainerBox.js';\nimport type { IsoBmffBox } from './boxes/IsoBmffBox.js';\nimport type { BoxFilter } from './BoxFilter.js';\nimport { createIsoView } from './createIsoView.js';\nimport type { IsoData } from './IsoData.js';\nimport type { IsoViewConfig } from './IsoViewConfig.js';\n\nfunction filter<T extends IsoBmffBox = IsoBmffBox>(iterator: Iterable<IsoBmffBox>, fn: BoxFilter<T>, recursive: boolean, result: T[]): T[] {\n\tfor (const box of iterator) {\n\t\tif (fn(box)) {\n\t\t\tresult.push(box as T);\n\t\t}\n\n\t\tconst { boxes } = box as ContainerBox<IsoBmffBox>;\n\t\tif (recursive && Array.isArray(boxes)) {\n\t\t\tfilter(boxes, fn, recursive, result);\n\t\t}\n\t}\n\n\treturn result;\n}\n\n/**\n * Filters boxes based on the given filter function.\n *\n * @param raw - The raw boxes to filter.\n * @param config - The box parser configuration.\n * @param fn - The filter function.\n * @returns The filtered boxes.\n *\n * @beta\n */\nexport function filterBoxes<T extends IsoBmffBox = IsoBmffBox>(raw: IsoData | Iterable<IsoBmffBox>, fn: BoxFilter<T>, config?: IsoViewConfig): T[] {\n\tif (raw instanceof DataView || raw instanceof Uint8Array || raw instanceof ArrayBuffer) {\n\t\traw = createIsoView(raw, { ...config, recursive: false });\n\t}\n\n\tconst recursive = config?.recursive ?? true;\n\treturn filter<T>(raw, fn, recursive, []);\n}\n","import type { IsoBmffBox } from './boxes/IsoBmffBox.js';\nimport type { IsoBmffBoxMap } from './boxes/IsoBmffBoxMap.js';\nimport { filterBoxes } from './filterBoxes.js';\nimport type { IsoData } from './IsoData.js';\nimport type { IsoViewConfig } from './IsoViewConfig.js';\n\n/**\n * Filter boxes by type from an IsoView\n *\n * @param type - The type(s) of boxes to filter\n * @param raw - The raw ISO data\n * @param config - The configuration for the IsoView\n *\n * @returns The filtered boxes\n *\n *\n * @beta\n */\nexport function filterBoxesByType<T extends keyof IsoBmffBoxMap>(raw: IsoData, type: T | T[], config: IsoViewConfig = {}): IsoBmffBoxMap[T][] {\n\tif (!Array.isArray(type)) {\n\t\ttype = [type];\n\t}\n\n\treturn filterBoxes(raw, (box: IsoBmffBox): box is IsoBmffBoxMap[T] => type.includes(box.type as T), config);\n}\n","import type { ContainerBox } from './boxes/ContainerBox.js';\nimport type { IsoBmffBox } from './boxes/IsoBmffBox.js';\nimport type { BoxFilter } from './BoxFilter.js';\nimport { createIsoView } from './createIsoView.js';\nimport type { IsoData } from './IsoData.js';\nimport type { IsoViewConfig } from './IsoViewConfig.js';\n\nfunction find<T extends IsoBmffBox = IsoBmffBox>(iterator: Iterable<IsoBmffBox>, recursive: boolean, fn: BoxFilter<T>): T | null {\n\tfor (const box of iterator) {\n\t\tif (fn(box)) {\n\t\t\treturn box as T;\n\t\t}\n\n\t\tconst { boxes } = box as ContainerBox<IsoBmffBox>;\n\t\tif (recursive && Array.isArray(boxes)) {\n\t\t\tconst result = find(boxes, recursive, fn);\n\n\t\t\tif (result) {\n\t\t\t\treturn result as T;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n\n/**\n * Find a box from an IsoView that matches a filter function\n *\n * @param raw - The raw ISO data\n * @param config - The configuration for the IsoView\n * @param fn - The filter function\n *\n * @returns The first box that matches the filter function\n *\n *\n * @beta\n */\nexport function findBox<T extends IsoBmffBox = IsoBmffBox>(raw: IsoData | Iterable<IsoBmffBox>, fn: BoxFilter<T>, config?: IsoViewConfig): T | null {\n\tconst recursive = config?.recursive ?? true;\n\tif (raw instanceof DataView || raw instanceof Uint8Array || raw instanceof ArrayBuffer) {\n\t\traw = createIsoView(raw, { ...config, recursive: false });\n\t}\n\n\treturn find(raw, recursive, fn);\n}\n","import type { IsoBmffBox } from './boxes/IsoBmffBox.js';\nimport type { IsoBmffBoxMap } from './boxes/IsoBmffBoxMap.js';\nimport { findBox } from './findBox.js';\nimport type { IsoData } from './IsoData.js';\nimport type { IsoViewConfig } from './IsoViewConfig.js';\n\n/**\n * Find a box from an IsoView that matches a given type\n *\n * @param type - The type of box to find\n * @param raw - The raw ISO data\n * @param config - The configuration for the IsoView\n *\n * @returns The first box that matches the type\n *\n *\n * @beta\n */\nexport function findBoxByType<T extends keyof IsoBmffBoxMap>(raw: IsoData, type: T, config: IsoViewConfig = {}): IsoBmffBoxMap[T] | null {\n\treturn findBox(raw, (box: IsoBmffBox): box is IsoBmffBoxMap[T] => box.type === type, config);\n}\n","import type { IsoBmffBox } from './boxes/IsoBmffBox.js';\nimport { createIsoView } from './createIsoView.js';\nimport type { IsoData } from './IsoData.js';\nimport type { IsoViewConfig } from './IsoViewConfig.js';\n\n/**\n * Parse boxes from an IsoView\n *\n * @param raw - The raw ISO data\n * @param config - The configuration for the IsoView\n *\n * @returns The parsed boxes\n *\n *\n * @beta\n */\nexport function parseBoxes(raw: IsoData, config?: IsoViewConfig): IsoBmffBox[] {\n\tconst boxes = [];\n\n\tfor (const box of createIsoView(raw, config)) {\n\t\tboxes.push(box);\n\t}\n\n\treturn boxes;\n}\n","import type { AudioRenderingIndicationBox } from '../boxes/AudioRenderingIndicationBox.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a AudioRenderingIndicationBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed AudioRenderingIndicationBox\n *\n *\n * @beta\n */\nexport function ardi(view: IsoView): Fields<AudioRenderingIndicationBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\taudioRenderingIndication: view.readUint(1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.js';\nimport { UINT } from '../fields/UINT.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function avc1(view: IsoView): Fields<VisualSampleEntryBox<'avc1'>> {\n\tconst { readArray, readUint, readInt, readTemplate, readData } = view;\n\n\treturn {\n\t\treserved1: readArray(UINT, 1, 6),\n\t\tdataReferenceIndex: readUint(2),\n\t\tpreDefined1: readUint(2),\n\t\treserved2: readUint(2),\n\t\tpreDefined2: readArray(UINT, 4, 3),\n\t\twidth: readUint(2),\n\t\theight: readUint(2),\n\t\thorizresolution: readTemplate(4),\n\t\tvertresolution: readTemplate(4),\n\t\treserved3: readUint(4),\n\t\tframeCount: readUint(2),\n\t\tcompressorName: readArray(UINT, 1, 32),\n\t\tdepth: readUint(2),\n\t\tpreDefined3: readInt(2),\n\t\tconfig: readData(-1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.js';\nimport type { IsoView } from '../IsoView.js';\nimport { avc1 } from './avc1.js';\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function avc2(view: IsoView): Fields<VisualSampleEntryBox<'avc2'>> {\n\treturn avc1(view);\n}\n\n","import type { Fields } from '../boxes/Fields.js';\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.js';\nimport type { IsoView } from '../IsoView.js';\nimport { avc1 } from './avc1.js';\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function avc3(view: IsoView): Fields<VisualSampleEntryBox<'avc3'>> {\n\treturn avc1(view);\n}\n","import type { Fields } from '../boxes/Fields.js';\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.js';\nimport type { IsoView } from '../IsoView.js';\nimport { avc1 } from './avc1.js';\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function avc4(view: IsoView): Fields<VisualSampleEntryBox<'avc4'>> {\n\treturn avc1(view);\n}\n","import type { CompositionTimeToSampleBox } from '../boxes/CompositionTimeToSampleBox.js';\nimport type { CompositionTimeToSampleEntry } from '../boxes/CompositionTimeToSampleEntry.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a CompositionTimeToSampleBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed CompositionTimeToSampleBox\n *\n *\n * @beta\n */\nexport function ctts(view: IsoView): Fields<CompositionTimeToSampleBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst read = version === 1 ? view.readInt : view.readUint;\n\n\tconst entryCount = view.readUint(4);\n\tconst entries = view.readEntries<CompositionTimeToSampleEntry>(entryCount, () => ({\n\t\tsampleCount: view.readUint(4),\n\t\tsampleOffset: read(4),\n\t}));\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries,\n\t};\n};\n","import type { DataEntryUrlBox } from '../boxes/DataEntryUrlBox.js';\nimport type { DataEntryUrnBox } from '../boxes/DataEntryUrnBox.js';\nimport type { DataReferenceBox } from '../boxes/DataReferenceBox.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a DataReferenceBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed DataReferenceBox\n *\n *\n * @beta\n */\nexport function dref(view: IsoView): Fields<DataReferenceBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst entryCount = view.readUint(4);\n\tconst entries = view.readBoxes<DataEntryUrlBox | DataEntryUrnBox>(entryCount);\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries,\n\t};\n};\n","import type { ExtendedLanguageBox } from '../boxes/ExtendedLanguageBox.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a ExtendedLanguageBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed ExtendedLanguageBox\n *\n *\n * @beta\n */\nexport function elng(view: IsoView): Fields<ExtendedLanguageBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\textendedLanguage: view.readUtf8(-1),\n\t};\n};\n","import type { EditListBox } from '../boxes/EditListBox.js';\nimport type { EditListEntry } from '../boxes/EditListEntry.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a Box from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed Box\n *\n *\n * @beta\n */\nexport function elst(view: IsoView): Fields<EditListBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst v1 = version === 1;\n\tconst size = v1 ? 8 : 4;\n\n\tconst entryCount = view.readUint(4);\n\tconst entries = view.readEntries<EditListEntry>(entryCount, () => ({\n\t\tsegmentDuration: view.readUint(size),\n\t\tmediaTime: view.readInt(size),\n\t\tmediaRateInteger: view.readInt(2),\n\t\tmediaRateFraction: view.readInt(2),\n\t}));\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries,\n\t};\n};\n","import type { EventMessageBox } from '../boxes/EventMessageBox.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse an EventMessageBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed EventMessageBox\n *\n *\n * @beta\n */\nexport function emsg(view: IsoView): Fields<EventMessageBox> {\n\tconst { readUint, readString, readData } = view;\n\n\tconst result = { ...view.readFullBox() } as EventMessageBox;\n\n\tif (result.version == 1) {\n\t\tresult.timescale = readUint(4);\n\t\tresult.presentationTime = readUint(8);\n\t\tresult.eventDuration = readUint(4);\n\t\tresult.id = readUint(4);\n\t\tresult.schemeIdUri = readString(-1);\n\t\tresult.value = readString(-1);\n\t}\n\telse {\n\t\tresult.schemeIdUri = readString(-1);\n\t\tresult.value = readString(-1);\n\t\tresult.timescale = readUint(4);\n\t\tresult.presentationTimeDelta = readUint(4);\n\t\tresult.eventDuration = readUint(4);\n\t\tresult.id = readUint(4);\n\t}\n\n\tresult.messageData = readData(-1);\n\n\treturn result;\n}\n","import type { AudioSampleEntryBox } from '../boxes/AudioSampleEntryBox.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport { UINT } from '../fields/UINT.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse an AudioSampleEntry from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed AudioSampleEntry\n *\n *\n * @beta\n */\nexport function mp4a(view: IsoView): Fields<AudioSampleEntryBox<'mp4a'>> {\n\tconst { readArray, readUint, readTemplate, readData } = view;\n\n\treturn {\n\t\treserved1: readArray(UINT, 1, 6),\n\t\tdataReferenceIndex: readUint(2),\n\t\treserved2: readArray(UINT, 4, 2),\n\t\tchannelcount: readUint(2),\n\t\tsamplesize: readUint(2),\n\t\tpreDefined: readUint(2),\n\t\treserved3: readUint(2),\n\t\tsamplerate: readTemplate(4),\n\t\tesds: readData(-1),\n\t};\n};\n","import type { AudioSampleEntryBox } from '../boxes/AudioSampleEntryBox.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { IsoView } from '../IsoView.js';\nimport { mp4a } from './mp4a.js';\n\n/**\n * Parse an AudioSampleEntry from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed AudioSampleEntry\n *\n *\n * @beta\n */\nexport function enca(view: IsoView): Fields<AudioSampleEntryBox<'enca'>> {\n\treturn mp4a(view);\n}\n","import type { Fields } from '../boxes/Fields.js';\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.js';\nimport type { IsoView } from '../IsoView.js';\nimport { avc1 } from './avc1.js';\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function encv(view: IsoView): Fields<VisualSampleEntryBox<'encv'>> {\n\treturn avc1(view);\n}\n","import type { Fields } from '../boxes/Fields.js';\nimport type { FreeSpaceBox } from '../boxes/FreeSpaceBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a Box from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed Box\n *\n *\n * @beta\n */\nexport function free(view: IsoView): Fields<FreeSpaceBox> {\n\treturn {\n\t\tdata: view.readData(-1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { OriginalFormatBox } from '../boxes/OriginalFormatBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse an OriginalFormatBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed OriginalFormatBox\n *\n *\n * @beta\n */\nexport function frma(view: IsoView): Fields<OriginalFormatBox> {\n\treturn {\n\t\tdataFormat: view.readUint(4),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { FileTypeBox } from '../boxes/FileTypeBox.js';\nimport { STRING } from '../fields/STRING.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a FileTypeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed FileTypeBox\n *\n *\n * @beta\n */\nexport function ftyp(view: IsoView): Fields<FileTypeBox> {\n\tconst size = 4;\n\tconst majorBrand = view.readString(4);\n\tconst minorVersion = view.readUint(4);\n\tconst length = view.bytesRemaining / size;\n\tconst compatibleBrands = view.readArray(STRING, size, length);\n\n\treturn {\n\t\tmajorBrand,\n\t\tminorVersion,\n\t\tcompatibleBrands,\n\t};\n}\n","import type { Fields } from '../boxes/Fields.js';\nimport type { HandlerReferenceBox } from '../boxes/HandlerReferenceBox.js';\nimport { UINT } from '../fields/UINT.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a HandlerReferenceBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed HandlerReferenceBox\n *\n *\n * @beta\n */\nexport function hdlr(view: IsoView): Fields<HandlerReferenceBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tpreDefined: view.readUint(4),\n\t\thandlerType: view.readString(4),\n\t\treserved: view.readArray(UINT, 4, 3),\n\t\tname: view.readString(-1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.js';\nimport type { IsoView } from '../IsoView.js';\nimport { avc1 } from './avc1.js';\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function hev1(view: IsoView): Fields<VisualSampleEntryBox<'hev1'>> {\n\treturn avc1(view);\n}\n","import type { Fields } from '../boxes/Fields.js';\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.js';\nimport type { IsoView } from '../IsoView.js';\nimport { avc1 } from './avc1.js';\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function hvc1(view: IsoView): Fields<VisualSampleEntryBox<'avc1'>> {\n\treturn avc1(view);\n}\n","import type { Fields } from '../boxes/Fields.js';\nimport type { WebVttCueIdBox } from '../boxes/WebVttCueIdBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a WebVTTCueIdBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed WebVTTCueIdBox\n *\n *\n * @beta\n */\nexport function iden(view: IsoView): Fields<WebVttCueIdBox> {\n\treturn {\n\t\tcueId: view.readUtf8(-1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { IdentifiedMediaDataBox } from '../boxes/IdentifiedMediaDataBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a IdentifiedMediaDataBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed IdentifiedMediaDataBox\n *\n *\n * @beta\n */\nexport function imda(view: IsoView): Fields<IdentifiedMediaDataBox> {\n\treturn {\n\t\timdaIdentifier: view.readUint(4),\n\t\tdata: view.readData(-1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { TrackKindBox } from '../boxes/TrackKindBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a TrackKinBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackKindBox\n *\n *\n * @beta\n */\nexport function kind(view: IsoView): Fields<TrackKindBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tschemeUri: view.readUtf8(-1),\n\t\tvalue: view.readUtf8(-1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { LabelBox } from '../boxes/LabelBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a LabelBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed LabelBox\n *\n *\n * @beta\n */\nexport function labl(view: IsoView): Fields<LabelBox> {\n\tconst { version, flags } = view.readFullBox();\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tisGroupLabel: (flags & 0x1) !== 0,\n\t\tlabelId: view.readUint(2),\n\t\tlanguage: view.readUtf8(-1),\n\t\tlabel: view.readUtf8(-1),\n\t};\n}\n","import type { Fields } from '../boxes/Fields.js';\nimport type { MediaDataBox } from '../boxes/MediaDataBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a MediaDataBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MediaDataBox\n *\n *\n * @beta\n */\nexport function mdat(view: IsoView): Fields<MediaDataBox> {\n\treturn {\n\t\tdata: view.readData(-1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { MediaHeaderBox } from '../boxes/MediaHeaderBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a MediaHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MediaHeaderBox\n *\n *\n * @beta\n */\nexport function mdhd(view: IsoView): Fields<MediaHeaderBox> {\n\tconst { version, flags } = view.readFullBox();\n\n\tconst creationTime = view.readUint(version == 1 ? 8 : 4);\n\tconst modificationTime = view.readUint(version == 1 ? 8 : 4);\n\tconst timescale = view.readUint(4);\n\tconst duration = view.readUint(version == 1 ? 8 : 4);\n\tconst lang = view.readUint(2);\n\tconst language = String.fromCharCode(((lang >> 10) & 0x1F) + 0x60,\n\t\t((lang >> 5) & 0x1F) + 0x60,\n\t\t(lang & 0x1F) + 0x60);\n\n\tconst preDefined = view.readUint(2);\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tcreationTime,\n\t\tmodificationTime,\n\t\ttimescale,\n\t\tduration,\n\t\tlanguage,\n\t\tpreDefined,\n\t};\n}\n","import type { Fields } from '../boxes/Fields.js';\nimport type { MovieExtendsHeaderBox } from '../boxes/MovieExtendsHeaderBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a MovieExtendsHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MovieExtendsHeaderBox\n *\n *\n * @beta\n */\nexport function mehd(view: IsoView): Fields<MovieExtendsHeaderBox> {\n\tconst { version, flags } = view.readFullBox();\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tfragmentDuration: view.readUint((version === 1) ? 8 : 4),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { MetaBox } from '../boxes/MetaBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a MetaBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MetaBox\n *\n *\n * @beta\n */\nexport function meta(view: IsoView): Fields<MetaBox> {\n\treturn view.readFullBox();\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { MovieFragmentHeaderBox } from '../boxes/MovieFragmentHeaderBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a MovieFragmentHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MovieFragmentHeaderBox\n *\n *\n * @beta\n */\nexport function mfhd(view: IsoView): Fields<MovieFragmentHeaderBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tsequenceNumber: view.readUint(4),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { MovieFragmentRandomAccessOffsetBox } from '../boxes/MovieFragmentRandomAccessOffsetBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a MovieFragmentRandomAccessBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MovieFragmentRandomAccessBox\n *\n *\n * @beta\n */\nexport function mfro(view: IsoView): Fields<MovieFragmentRandomAccessOffsetBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tmfraSize: view.readUint(4),\n\t};\n};\n\n","import type { Fields } from '../boxes/Fields.js';\nimport type { MovieHeaderBox } from '../boxes/MovieHeaderBox.js';\nimport { UINT } from '../fields/UINT.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a Box from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed Box\n *\n *\n * @beta\n */\nexport function mvhd(view: IsoView): Fields<MovieHeaderBox> {\n\tconst { readUint, readTemplate, readArray } = view;\n\n\tconst { version, flags } = view.readFullBox();\n\tconst size = (version == 1) ? 8 : 4;\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tcreationTime: readUint(size),\n\t\tmodificationTime: readUint(size),\n\t\ttimescale: readUint(4),\n\t\tduration: readUint(size),\n\t\trate: readTemplate(4),\n\t\tvolume: readTemplate(2),\n\t\treserved1: readUint(2),\n\t\treserved2: readArray(UINT, 4, 2),\n\t\tmatrix: readArray(UINT, 4, 9),\n\t\tpreDefined: readArray(UINT, 4, 6),\n\t\tnextTrackId: readUint(4),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { WebVttCuePayloadBox } from '../boxes/WebVttCuePayloadBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a WebVTTCuePayloadBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed WebVTTCuePayloadBox\n *\n *\n * @beta\n */\nexport function payl(view: IsoView): Fields<WebVttCuePayloadBox> {\n\treturn {\n\t\tcueText: view.readUtf8(-1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { ProducerReferenceTimeBox } from '../boxes/ProducerReferenceTimeBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a ProducerReferenceTimeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed ProducerReferenceTimeBox\n *\n *\n * @beta\n */\nexport function prft(view: IsoView): Fields<ProducerReferenceTimeBox> {\n\tconst { version, flags } = view.readFullBox();\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\treferenceTrackId: view.readUint(4),\n\t\tntpTimestampSec: view.readUint(4),\n\t\tntpTimestampFrac: view.readUint(4),\n\t\tmediaTime: view.readUint(version === 1 ? 8 : 4),\n\t};\n};\n","import type { Entity } from '../boxes/Entity.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { PreselectionGroupBox } from '../boxes/PreselectionGroupBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a PreselectionGroupBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed PreselectionGroupBox\n *\n *\n * @beta\n */\nexport function prsl(view: IsoView): Fields<PreselectionGroupBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst groupId = view.readUint(4);\n\tconst numEntitiesInGroup = view.readUint(4);\n\tconst entities = view.readEntries<Entity>(numEntitiesInGroup, () => ({\n\t\tentityId: view.readUint(4),\n\t}));\n\tconst preselectionTag = flags & 0x1000 ? view.readUtf8(-1) : undefined;\n\tconst selectionPriority = flags & 0x2000 ? view.readUint(1) : undefined;\n\tconst interleavingTag = flags & 0x4000 ? view.readUtf8(-1) : undefined;\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tgroupId,\n\t\tnumEntitiesInGroup,\n\t\tentities,\n\t\tpreselectionTag,\n\t\tselectionPriority,\n\t\tinterleavingTag,\n\t};\n}\n","import type { Fields } from '../boxes/Fields.js';\nimport type { ProtectionSystemSpecificHeaderBox } from '../boxes/ProtectionSystemSpecificHeaderBox.js';\nimport { UINT } from '../fields/UINT.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a ProtectionSystemSpecificHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed ProtectionSystemSpecificHeaderBox\n *\n *\n * @beta\n */\nexport function pssh(view: IsoView): Fields<ProtectionSystemSpecificHeaderBox> {\n\tconst { readUint, readArray } = view;\n\tconst { version, flags } = view.readFullBox();\n\n\tconst systemId = readArray(UINT, 1, 16);\n\n\tlet kidCount: number = 0;\n\tlet kid: number[] = [];\n\n\tif (version > 0) {\n\t\tkidCount = readUint(4);\n\t\tkid = readArray(UINT, 1, kidCount);\n\t}\n\n\tconst dataSize = readUint(4);\n\tconst data = readArray(UINT, 1, dataSize);\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tsystemId,\n\t\tkidCount,\n\t\tkid,\n\t\tdataSize,\n\t\tdata,\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { SchemeTypeBox } from '../boxes/SchemeTypeBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a SchemeTypeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SchemeTypeBox\n *\n *\n * @beta\n */\nexport function schm(view: IsoView): Fields<SchemeTypeBox> {\n\tconst { version, flags } = view.readFullBox();\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tschemeType: view.readUint(4),\n\t\tschemeVersion: view.readUint(4),\n\t\tschemeUri: flags & 0x000001 ? view.readString(-1) : undefined,\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { SampleDependencyTypeBox } from '../boxes/SampleDependencyTypeBox.js';\nimport { UINT } from '../fields/UINT.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a SampleDependencyTypeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SampleDependencyTypeBox\n *\n *\n * @beta\n */\nexport function sdtp(view: IsoView): Fields<SampleDependencyTypeBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tsampleDependencyTable: view.readArray(UINT, 1, view.bytesRemaining),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { SegmentIndexBox } from '../boxes/SegmentIndexBox.js';\nimport type { SegmentIndexReference } from '../boxes/SegmentIndexReference.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a SegmentIndexBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SegmentIndexBox\n *\n *\n * @beta\n */\nexport function sidx(view: IsoView): Fields<SegmentIndexBox> {\n\tconst { readUint } = view;\n\tconst { version, flags } = view.readFullBox();\n\tconst v1 = version === 1;\n\tconst size = v1 ? 8 : 4;\n\n\tconst referenceId = readUint(4);\n\tconst timescale = readUint(4);\n\tconst earliestPresentationTime = readUint(size);\n\tconst firstOffset = readUint(size);\n\tconst reserved = readUint(2);\n\tconst referenceCount = readUint(2);\n\tconst references = view.readEntries<SegmentIndexReference>(referenceCount, () => {\n\t\tconst entry = {} as any;\n\n\t\tentry.reference = readUint(4);\n\t\tentry.subsegmentDuration = readUint(4);\n\t\tentry.sap = readUint(4);\n\t\tentry.referenceType = (entry.reference >> 31) & 0x00000001;\n\t\tentry.referencedSize = entry.reference & 0x7FFFFFFF;\n\t\tentry.startsWithSap = (entry.sap >> 31) & 0x00000001;\n\t\tentry.sapType = (entry.sap >> 28) & 0x00000007;\n\t\tentry.sapDeltaTime = (entry.sap & 0x0FFFFFFF);\n\n\t\treturn entry;\n\t});\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\treferenceId,\n\t\ttimescale,\n\t\tearliestPresentationTime,\n\t\tfirstOffset,\n\t\treserved,\n\t\treferences,\n\t};\n};\n","import type { IsoView } from '../IsoView.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { FreeSpaceBox } from '../boxes/FreeSpaceBox.js';\nimport { free } from './free.js';\n\n/**\n * Parse a FreeSpaceBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed FreeSpaceBox\n *\n *\n * @beta\n */\nexport function skip(view: IsoView): Fields<FreeSpaceBox<'skip'>> {\n\treturn free(view);\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { SoundMediaHeaderBox } from '../boxes/SoundMediaHeaderBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a SoundMediaHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SoundMediaHeaderBox\n *\n *\n * @beta\n */\nexport function smhd(view: IsoView): Fields<SoundMediaHeaderBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tbalance: view.readUint(2),\n\t\treserved: view.readUint(2),\n\t};\n};\n","import type { IsoView } from '../IsoView.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { SubsegmentIndexBox } from '../boxes/SubsegmentIndexBox.js';\n\n/**\n * Parse a SubsegmentIndexBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SubsegmentIndexBox\n *\n *\n * @beta\n */\nexport function ssix(view: IsoView): Fields<SubsegmentIndexBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst subsegmentCount = view.readUint(4);\n\tconst subsegments = view.readEntries(subsegmentCount, () => {\n\t\tconst rangesCount = view.readUint(4);\n\t\tconst ranges = view.readEntries(rangesCount, () => ({\n\t\t\tlevel: view.readUint(1),\n\t\t\trangeSize: view.readUint(3),\n\t\t}));\n\t\treturn { rangesCount, ranges };\n\t});\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tsubsegmentCount,\n\t\tsubsegments,\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { SubtitleMediaHeaderBox } from '../boxes/SubtitleMediaHeaderBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a SubtitleMediaHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SubtitleMediaHeaderBox\n *\n *\n * @beta\n */\nexport function sthd(view: IsoView): Fields<SubtitleMediaHeaderBox> {\n\treturn view.readFullBox();\n};\n","import type { IsoView } from '../IsoView.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { SampleDescriptionBox } from '../boxes/SampleDescriptionBox.js';\nimport type { SampleEntryBox } from '../boxes/SampleEntryBox.js';\n\n/**\n * Parse a SampleDescriptionBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SampleDescriptionBox\n *\n *\n * @beta\n */\nexport function stsd<E extends SampleEntryBox = SampleEntryBox>(view: IsoView): Fields<SampleDescriptionBox<E>> {\n\tconst { version, flags } = view.readFullBox();\n\tconst entryCount = view.readUint(4);\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries: view.readBoxes<E>(entryCount),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { SyncSample } from '../boxes/SyncSample.js';\nimport type { SyncSampleBox } from '../boxes/SyncSampleBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a SyncSampleBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SyncSampleBox\n *\n *\n * @beta\n */\nexport function stss(view: IsoView): Fields<SyncSampleBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst entryCount = view.readUint(4);\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries: view.readEntries<SyncSample>(entryCount, () => ({\n\t\t\tsampleNumber: view.readUint(4),\n\t\t})),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { WebVttSettingsBox } from '../boxes/WebVttSettingsBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a WebVTTSettingsBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed WebVTTSettingsBox\n *\n *\n * @beta\n */\nexport function sttg(view: IsoView): Fields<WebVttSettingsBox> {\n\treturn {\n\t\tsettings: view.readUtf8(-1),\n\t};\n};\n","import type { DecodingTimeToSampleBox } from '../boxes/DecodingTimeToSampleBox.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a DecodingTimeToSampleBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed DecodingTimeToSampleBox\n *\n *\n * @beta\n */\nexport function stts(view: IsoView): Fields<DecodingTimeToSampleBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst entryCount = view.readUint(4);\n\tconst entries = view.readEntries(entryCount, () => ({\n\t\tsampleCount: view.readUint(4),\n\t\tsampleDelta: view.readUint(4),\n\t}));\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries,\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { SegmentTypeBox } from '../boxes/SegmentTypeBox.js';\nimport type { IsoView } from '../IsoView.js';\nimport { ftyp } from './ftyp.js';\n\n/**\n * Parse a SegmentTypeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SegmentTypeBox\n *\n *\n * @beta\n */\nexport function styp(view: IsoView): Fields<SegmentTypeBox> {\n\treturn ftyp(view);\n}\n","import type { Fields } from '../boxes/Fields.js';\nimport type { SubsampleInformationBox } from '../boxes/SubsampleInformationBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a SubSampleInformationBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SubSampleInformationBox\n *\n *\n * @beta\n */\nexport function subs(view: IsoView): Fields<SubsampleInformationBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst entryCount = view.readUint(4);\n\tconst entries = view.readEntries(entryCount, () => {\n\t\tconst sampleDelta = view.readUint(4);\n\t\tconst subsampleCount = view.readUint(2);\n\t\tconst subsamples = view.readEntries(subsampleCount, () => ({\n\t\t\tsubsampleSize: view.readUint((version === 1) ? 4 : 2),\n\t\t\tsubsamplePriority: view.readUint(1),\n\t\t\tdiscardable: view.readUint(1),\n\t\t\tcodecSpecificParameters: view.readUint(4),\n\t\t}));\n\n\t\treturn {\n\t\t\tsampleDelta,\n\t\t\tsubsampleCount,\n\t\t\tsubsamples,\n\t\t};\n\t});\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries,\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { TrackEncryptionBox } from '../boxes/TrackEncryptionBox.js';\nimport { UINT } from '../fields/UINT.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a TrackEncryptionBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackEncryptionBox\n *\n *\n * @beta\n */\nexport function tenc(view: IsoView): Fields<TrackEncryptionBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tdefaultIsEncrypted: view.readUint(3),\n\t\tdefaultIvSize: view.readUint(1),\n\t\tdefaultKid: view.readArray(UINT, 1, 16),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { TrackFragmentBaseMediaDecodeTimeBox } from '../boxes/TrackFragmentBaseMediaDecodeTimeBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a TrackFragmentDecodeTimeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackFragmentDecodeTimeBox\n *\n *\n * @beta\n */\nexport function tfdt(view: IsoView): Fields<TrackFragmentBaseMediaDecodeTimeBox> {\n\tconst { version, flags } = view.readFullBox();\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tbaseMediaDecodeTime: view.readUint((version == 1) ? 8 : 4),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { TrackFragmentHeaderBox } from '../boxes/TrackFragmentHeaderBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a TrackFragmentHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackFragmentHeaderBox\n *\n *\n * @beta\n */\nexport function tfhd(view: IsoView): Fields<TrackFragmentHeaderBox> {\n\tconst { version, flags } = view.readFullBox();\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\ttrackId: view.readUint(4),\n\t\tbaseDataOffset: flags & 0x01 ? view.readUint(8) : undefined,\n\t\tsampleDescriptionIndex: flags & 0x02 ? view.readUint(4) : undefined,\n\t\tdefaultSampleDuration: flags & 0x08 ? view.readUint(4) : undefined,\n\t\tdefaultSampleSize: flags & 0x10 ? view.readUint(4) : undefined,\n\t\tdefaultSampleFlags: flags & 0x20 ? view.readUint(4) : undefined,\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { TrackFragmentRandomAccessBox } from '../boxes/TrackFragmentRandomAccessBox.js';\nimport type { TrackFragmentRandomAccessEntry } from '../boxes/TrackFragmentRandomAccessEntry.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a TrackFragmentRandomAccessBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackFragmentRandomAccessBox\n *\n *\n * @beta\n */\nexport function tfra(view: IsoView): Fields<TrackFragmentRandomAccessBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst trackId = view.readUint(4);\n\tconst reserved = view.readUint(4);\n\n\tconst lengthSizeOfTrafNum = (reserved & 0x00000030) >> 4;\n\tconst lengthSizeOfTrunNum = (reserved & 0x0000000C) >> 2;\n\tconst lengthSizeOfSampleNum = (reserved & 0x00000003);\n\n\tconst numberOfEntry = view.readUint(4);\n\n\tconst entries = view.readEntries<TrackFragmentRandomAccessEntry>(numberOfEntry, () => ({\n\t\ttime: view.readUint((version === 1) ? 8 : 4),\n\t\tmoofOffset: view.readUint((version === 1) ? 8 : 4),\n\t\ttrafNumber: view.readUint(lengthSizeOfTrafNum + 1),\n\t\ttrunNumber: view.readUint(lengthSizeOfTrunNum + 1),\n\t\tsampleNumber: view.readUint(lengthSizeOfSampleNum + 1),\n\t}));\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\ttrackId,\n\t\treserved,\n\t\tlengthSizeOfTrafNum,\n\t\tlengthSizeOfTrunNum,\n\t\tlengthSizeOfSampleNum,\n\t\tnumberOfEntry,\n\t\tentries,\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { TrackHeaderBox } from '../boxes/TrackHeaderBox.js';\nimport { TEMPLATE } from '../fields/TEMPLATE.js';\nimport { UINT } from '../fields/UINT.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a TrackHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackHeaderBox\n *\n *\n * @beta\n */\nexport function tkhd(view: IsoView): Fields<TrackHeaderBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst size = version === 1 ? 8 : 4;\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tcreationTime: view.readUint(size),\n\t\tmodificationTime: view.readUint(size),\n\t\ttrackId: view.readUint(4),\n\t\treserved1: view.readUint(4),\n\t\tduration: view.readUint(size),\n\t\treserved2: view.readArray(UINT, 4, 2),\n\t\tlayer: view.readUint(2),\n\t\talternateGroup: view.readUint(2),\n\t\tvolume: view.readTemplate(2),\n\t\treserved3: view.readUint(2),\n\t\tmatrix: view.readArray(TEMPLATE, 4, 9),\n\t\twidth: view.readTemplate(4),\n\t\theight: view.readTemplate(4),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { TrackExtendsBox } from '../boxes/TrackExtendsBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a TrackExtendsBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackExtendsBox\n *\n *\n * @beta\n */\nexport function trex(view: IsoView): Fields<TrackExtendsBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\ttrackId: view.readUint(4),\n\t\tdefaultSampleDescriptionIndex: view.readUint(4),\n\t\tdefaultSampleDuration: view.readUint(4),\n\t\tdefaultSampleSize: view.readUint(4),\n\t\tdefaultSampleFlags: view.readUint(4),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { TrackRunBox } from '../boxes/TrackRunBox.js';\nimport type { TrackRunSample } from '../boxes/TrackRunSample.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a TrackRunBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackRunBox\n *\n *\n * @beta\n */\nexport function trun(view: IsoView): Fields<TrackRunBox> {\n\tconst { version, flags } = view.readFullBox();\n\tconst sampleCount = view.readUint(4);\n\tlet dataOffset: number | undefined;\n\tlet firstSampleFlags: number | undefined;\n\n\tif (flags & 0x1) {\n\t\tdataOffset = view.readInt(4);\n\t}\n\n\tif (flags & 0x4) {\n\t\tfirstSampleFlags = view.readUint(4);\n\t}\n\n\tconst samples = view.readEntries<TrackRunSample>(sampleCount, () => {\n\t\tconst sample: TrackRunSample = {};\n\n\t\tif (flags & 0x100) {\n\t\t\tsample.sampleDuration = view.readUint(4);\n\t\t}\n\t\tif (flags & 0x200) {\n\t\t\tsample.sampleSize = view.readUint(4);\n\t\t}\n\t\tif (flags & 0x400) {\n\t\t\tsample.sampleFlags = view.readUint(4);\n\t\t}\n\t\tif (flags & 0x800) {\n\t\t\tsample.sampleCompositionTimeOffset = (version === 1) ? view.readInt(4) : view.readUint(4);\n\t\t}\n\n\t\treturn sample;\n\t});\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tsampleCount,\n\t\tdataOffset,\n\t\tfirstSampleFlags,\n\t\tsamples,\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { UrlBox } from '../boxes/UrlBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a UrlBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed UrlBox\n *\n *\n * @beta\n */\nexport function url(view: IsoView): Fields<UrlBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tlocation: view.readString(-1),\n\t};\n};\n","import type { IsoView } from '../IsoView.js';\nimport type { Fields } from '../boxes/Fields.js';\nimport type { UrnBox } from '../boxes/UrnBox.js';\n\n/**\n * Parse a UrnBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed UrnBox\n *\n *\n * @beta\n */\nexport function urn(view: IsoView): Fields<UrnBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tname: view.readString(-1),\n\t\tlocation: view.readString(-1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { WebVttSourceLabelBox } from '../boxes/WebVttSourceLabelBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a WebVTTSourceLabelBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed WebVTTSourceLabelBox\n *\n *\n * @beta\n */\nexport function vlab(view: IsoView): Fields<WebVttSourceLabelBox> {\n\treturn {\n\t\tsourceLabel: view.readUtf8(-1),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { VideoMediaHeaderBox } from '../boxes/VideoMediaHeaderBox.js';\nimport { UINT } from '../fields/UINT.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a VideoMediaHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VideoMediaHeaderBox\n *\n *\n * @beta\n */\nexport function vmhd(view: IsoView): Fields<VideoMediaHeaderBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tgraphicsmode: view.readUint(2),\n\t\topcolor: view.readArray(UINT, 2, 3),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { WebVttConfigurationBox } from '../boxes/WebVttConfigurationBox.js';\nimport type { IsoView } from '../IsoView.js';\n\n/**\n * Parse a WebVTTConfigurationBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed WebVttConfigurationBox\n *\n *\n * @beta\n */\nexport function vttC(view: IsoView): Fields<WebVttConfigurationBox> {\n\treturn {\n\t\tconfig: view.readUtf8(),\n\t};\n};\n","import type { Fields } from '../boxes/Fields.js';\nimport type { WebVttEmptySampleBox } from '../boxes/WebVttEmptySampleBox.js';\n\n/**\n * Parse a WebVTT Empty Sample Box from an IsoView\n *\n * @returns A parsed WebVTT Empty Sample Box\n *\n *\n * @beta\n */\nexport function vtte(): Fields<WebVttEmptySampleBox> {\n\t// Nothing should happen here.\n\treturn {};\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["CONTAINERS: string[]","value: number","s1: number","s2: number","result: any","result: T[]","readUint","readTemplate","readInt","readData","readUint","readString","readData","readUint","readTemplate","readData","readUint","readTemplate","kidCount: number","kid: number[]","readUint","readUint","dataOffset: number | undefined","firstSampleFlags: number | undefined","sample: TrackRunSample"],"sources":["../src/CONTAINERS.ts","../src/fields/DATA.ts","../src/fields/INT.ts","../src/fields/STRING.ts","../src/fields/TEMPLATE.ts","../src/fields/UINT.ts","../src/fields/UTF8.ts","../src/readers/readData.ts","../src/readers/readInt.ts","../src/readers/readUint.ts","../src/readers/readString.ts","../src/readers/readTemplate.ts","../src/readers/readTerminatedString.ts","../src/readers/readUtf8String.ts","../src/readers/readUtf8TerminatedString.ts","../src/IsoView.ts","../src/createIsoView.ts","../src/filterBoxes.ts","../src/filterBoxesByType.ts","../src/findBox.ts","../src/findBoxByType.ts","../src/parseBoxes.ts","../src/parsers/ardi.ts","../src/parsers/avc1.ts","../src/parsers/avc2.ts","../src/parsers/avc3.ts","../src/parsers/avc4.ts","../src/parsers/ctts.ts","../src/parsers/dref.ts","../src/parsers/elng.ts","../src/parsers/elst.ts","../src/parsers/emsg.ts","../src/parsers/mp4a.ts","../src/parsers/enca.ts","../src/parsers/encv.ts","../src/parsers/free.ts","../src/parsers/frma.ts","../src/parsers/ftyp.ts","../src/parsers/hdlr.ts","../src/parsers/hev1.ts","../src/parsers/hvc1.ts","../src/parsers/iden.ts","../src/parsers/imda.ts","../src/parsers/kind.ts","../src/parsers/labl.ts","../src/parsers/mdat.ts","../src/parsers/mdhd.ts","../src/parsers/mehd.ts","../src/parsers/meta.ts","../src/parsers/mfhd.ts","../src/parsers/mfro.ts","../src/parsers/mvhd.ts","../src/parsers/payl.ts","../src/parsers/prft.ts","../src/parsers/prsl.ts","../src/parsers/pssh.ts","../src/parsers/schm.ts","../src/parsers/sdtp.ts","../src/parsers/sidx.ts","../src/parsers/skip.ts","../src/parsers/smhd.ts","../src/parsers/ssix.ts","../src/parsers/sthd.ts","../src/parsers/stsd.ts","../src/parsers/stss.ts","../src/parsers/sttg.ts","../src/parsers/stts.ts","../src/parsers/styp.ts","../src/parsers/subs.ts","../src/parsers/tenc.ts","../src/parsers/tfdt.ts","../src/parsers/tfhd.ts","../src/parsers/tfra.ts","../src/parsers/tkhd.ts","../src/parsers/trex.ts","../src/parsers/trun.ts","../src/parsers/url.ts","../src/parsers/urn.ts","../src/parsers/vlab.ts","../src/parsers/vmhd.ts","../src/parsers/vttC.ts","../src/parsers/vtte.ts"],"sourcesContent":["export const CONTAINERS: string[] = [\n\t'dinf',\n\t'edts',\n\t'enca',\n\t'encv',\n\t'grpl',\n\t'mdia',\n\t'meco',\n\t'meta',\n\t'mfra',\n\t'minf',\n\t'moof',\n\t'moov',\n\t'mvex',\n\t'prsl',\n\t'schi',\n\t'sinf',\n\t'stbl',\n\t'strk',\n\t'traf',\n\t'trak',\n\t'tref',\n\t'udta',\n\t'vttc',\n]\n","/**\n * The data field type\n *\n *\n * @beta\n */\nexport const DATA = 'data'\n","/**\n * The integer field type\n *\n *\n * @beta\n */\nexport const INT = 'int'\n","/**\n * The string field type\n *\n *\n * @beta\n */\nexport const STRING = 'string'\n","/**\n * The template field type\n *\n *\n * @beta\n */\nexport const TEMPLATE = 'template'\n","/**\n * The unsigned integer field type\n *\n *\n * @beta\n */\nexport const UINT = 'uint'\n","/**\n * The UTF8 field type\n *\n *\n * @beta\n */\nexport const UTF8 = 'utf8'\n","export function readData(dataView: DataView, offset: number, size: number): Uint8Array {\n\tconst length = (size > 0) ? size : (dataView.byteLength - (offset - dataView.byteOffset))\n\treturn new Uint8Array(dataView.buffer, offset, Math.max(length, 0))\n};\n","export function readInt(dataView: DataView, offset: number, size: number): number {\n\tlet result = NaN\n\tconst cursor = offset - dataView.byteOffset\n\n\tswitch (size) {\n\t\tcase 1:\n\t\t\tresult = dataView.getInt8(cursor)\n\t\t\tbreak\n\n\t\tcase 2:\n\t\t\tresult = dataView.getInt16(cursor)\n\t\t\tbreak\n\n\t\tcase 4:\n\t\t\tresult = dataView.getInt32(cursor)\n\t\t\tbreak\n\n\t\tcase 8:\n\t\t\t// Warning: JavaScript cannot handle 64-bit integers natively.\n\t\t\t// This will give unexpected results for integers >= 2^53\n\t\t\tconst s1 = dataView.getInt32(cursor)\n\t\t\tconst s2 = dataView.getInt32(cursor + 4)\n\t\t\tresult = (s1 * Math.pow(2, 32)) + s2\n\t\t\tbreak\n\t}\n\n\treturn result\n};\n","export function readUint(dataView: DataView, offset: number, size: number): number {\n\tconst cursor = offset - dataView.byteOffset\n\n\tlet value: number = NaN\n\tlet s1: number\n\tlet s2: number\n\n\tswitch (size) {\n\t\tcase 1:\n\t\t\tvalue = dataView.getUint8(cursor)\n\t\t\tbreak\n\n\t\tcase 2:\n\t\t\tvalue = dataView.getUint16(cursor)\n\t\t\tbreak\n\n\t\tcase 3:\n\t\t\ts1 = dataView.getUint16(cursor)\n\t\t\ts2 = dataView.getUint8(cursor + 2)\n\t\t\tvalue = (s1 << 8) + s2\n\t\t\tbreak\n\n\t\tcase 4:\n\t\t\tvalue = dataView.getUint32(cursor)\n\t\t\tbreak\n\n\t\tcase 8:\n\t\t\t// Warning: JavaScript cannot handle 64-bit integers natively.\n\t\t\t// This will give unexpected results for integers >= 2^53\n\t\t\ts1 = dataView.getUint32(cursor)\n\t\t\ts2 = dataView.getUint32(cursor + 4)\n\t\t\tvalue = (s1 * Math.pow(2, 32)) + s2\n\t\t\tbreak\n\t}\n\n\treturn value\n};\n","import { readUint } from './readUint.ts'\n\nexport function readString(dataView: DataView, offset: number, length: number): string {\n\tlet str = ''\n\n\tfor (let c = 0; c < length; c++) {\n\t\tconst cursor = offset + c\n\t\tconst char = readUint(dataView, cursor, 1)\n\t\tstr += String.fromCharCode(char)\n\t}\n\n\treturn str\n}\n","import { readUint } from './readUint.ts'\n\nexport function readTemplate(dataView: DataView, offset: number, size: number): number {\n\tconst half = size / 2\n\tconst pre = readUint(dataView, offset, half)\n\tconst post = readUint(dataView, offset + half, half)\n\treturn pre + (post / Math.pow(2, half))\n};\n","import { readUint } from './readUint.ts'\n\nexport function readTerminatedString(dataView: DataView, offset: number): string {\n\tlet str = ''\n\tlet cursor = offset\n\n\twhile (cursor - dataView.byteOffset < dataView.byteLength) {\n\t\tconst char = readUint(dataView, cursor, 1)\n\t\tif (char === 0) {\n\t\t\tbreak\n\t\t}\n\n\t\tstr += String.fromCharCode(char)\n\t\tcursor++\n\t}\n\n\treturn str\n};\n","import { decodeText, UTF_8 } from '@svta/cml-utils'\n\n/**\n * Reads a UTF-8 string from a data view.\n *\n * @param dataView - The data view to read from.\n * @param offset - The offset to start reading from.\n * @returns The UTF-8 string.\n *\n * @internal\n */\nexport function readUtf8String(dataView: DataView<ArrayBuffer>, offset: number): string {\n\tconst length = dataView.byteLength - (offset - dataView.byteOffset)\n\treturn (length > 0) ? decodeText(new DataView(dataView.buffer, offset, length), { encoding: UTF_8 }) : ''\n};\n","import { decodeText, UTF_8 } from '@svta/cml-utils'\n\n/**\n * Reads a UTF-8 terminated string from a data view.\n *\n * @param dataView - The data view to read from.\n * @param offset - The offset to start reading from.\n * @returns The UTF-8 terminated string.\n *\n * @internal\n */\nexport function readUtf8TerminatedString(dataView: DataView<ArrayBuffer>, offset: number): string {\n\tconst length = dataView.byteLength - (offset - dataView.byteOffset)\n\n\tlet data = ''\n\n\tif (length > 0) {\n\t\tconst view = new DataView(dataView.buffer, offset, length)\n\n\t\tlet l = 0\n\n\t\tfor (; l < length; l++) {\n\t\t\tif (view.getUint8(l) === 0) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// remap the Dataview with the actual length\n\t\tdata = decodeText(new DataView(dataView.buffer, offset, l), { encoding: UTF_8 })\n\t}\n\n\treturn data\n};\n","import type { ContainerBox } from './boxes/ContainerBox.ts'\nimport type { Fields } from './boxes/Fields.ts'\nimport type { FullBox } from './boxes/FullBox.ts'\nimport type { IsoBmffBox } from './boxes/IsoBmffBox.ts'\nimport { CONTAINERS } from './CONTAINERS.ts'\nimport { DATA } from './fields/DATA.ts'\nimport { INT } from './fields/INT.ts'\nimport { STRING } from './fields/STRING.ts'\nimport { TEMPLATE } from './fields/TEMPLATE.ts'\nimport { UINT } from './fields/UINT.ts'\nimport { UTF8 } from './fields/UTF8.ts'\nimport type { IsoViewConfig } from './IsoViewConfig.ts'\nimport type { IsoFieldTypeMap } from './readers/IsoFieldTypeMap.ts'\nimport { readData } from './readers/readData.ts'\nimport { readInt } from './readers/readInt.ts'\nimport { readString } from './readers/readString.ts'\nimport { readTemplate } from './readers/readTemplate.ts'\nimport { readTerminatedString } from './readers/readTerminatedString.ts'\nimport { readUint } from './readers/readUint.ts'\nimport { readUtf8String } from './readers/readUtf8String.ts'\nimport { readUtf8TerminatedString } from './readers/readUtf8TerminatedString.ts'\n\n/**\n * Raw ISO BMFF data box.\n *\n *\n * @beta\n */\nexport type RawBox = {\n\ttype: string;\n\tsize: number;\n\tlargesize?: number;\n\tusertype?: number[];\n\tdata: IsoView;\n};\n\n/**\n * ISO BMFF data view. Similar to DataView, but with additional methods for reading ISO BMFF data.\n * It implements the iterator protocol, so it can be used in a for...of loop.\n *\n *\n * @beta\n */\nexport class IsoView {\n\tprivate dataView: DataView<ArrayBuffer>\n\tprivate offset: number\n\tprivate config: IsoViewConfig\n\tprivate truncated: boolean = false\n\n\t/**\n\t * Creates a new IsoView instance. Similar to DataView, but with additional\n\t * methods for reading ISO BMFF data. It implements the iterator protocol,\n\t * so it can be used in a for...of loop.\n\t *\n\t * @param raw - The raw data to view.\n\t * @param config - The configuration for the IsoView.\n\t */\n\tconstructor(raw: ArrayBuffer | DataView<ArrayBuffer> | Uint8Array<ArrayBuffer>, config?: IsoViewConfig) {\n\t\tthis.dataView = (raw instanceof ArrayBuffer) ? new DataView<ArrayBuffer>(raw) : (raw instanceof Uint8Array) ? new DataView<ArrayBuffer>(raw.buffer, raw.byteOffset, raw.byteLength) : raw\n\t\tthis.offset = this.dataView.byteOffset\n\t\tthis.config = config || { recursive: false, parsers: {} }\n\t}\n\n\t/**\n\t * The current byteoffset in the data view.\n\t */\n\tget cursor(): number {\n\t\treturn this.offset - this.dataView.byteOffset\n\t}\n\n\t/**\n\t * Whether the end of the data view has been reached.\n\t */\n\tget done(): boolean {\n\t\treturn this.cursor >= this.dataView.byteLength || this.truncated\n\t}\n\n\t/**\n\t * The number of bytes remaining in the data view.\n\t */\n\tget bytesRemaining(): number {\n\t\treturn this.dataView.byteLength - this.cursor\n\t}\n\n\t/**\n\t * Creates a new IsoView instance with a slice of the current data view.\n\t *\n\t * @param size - The size of the slice.\n\t * @returns A new IsoView instance.\n\t */\n\tslice = (size: number): IsoView => {\n\t\tconst dataView = new DataView(this.dataView.buffer, this.offset, size)\n\t\tthis.offset += size\n\t\treturn new IsoView(dataView, this.config)\n\t}\n\n\tprivate read = <T extends keyof IsoFieldTypeMap>(type: T, size: number = 0): IsoFieldTypeMap[T] => {\n\t\t// TODO: Change all sizes from bits to bytes\n\t\tconst { dataView, offset } = this\n\n\t\tlet result: any\n\t\tlet cursor = size\n\n\t\tswitch (type) {\n\t\t\tcase UINT:\n\t\t\t\tresult = readUint(dataView, offset, size)\n\t\t\t\tbreak\n\n\t\t\tcase INT:\n\t\t\t\tresult = readInt(dataView, offset, size)\n\t\t\t\tbreak\n\n\t\t\tcase TEMPLATE:\n\t\t\t\tresult = readTemplate(dataView, offset, size)\n\t\t\t\tbreak\n\n\t\t\tcase STRING:\n\t\t\t\tif (size === -1) {\n\t\t\t\t\tresult = readTerminatedString(dataView, offset)\n\t\t\t\t\tcursor = result.length + 1\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tresult = readString(dataView, offset, size)\n\t\t\t\t}\n\t\t\t\tbreak\n\n\t\t\tcase DATA:\n\t\t\t\tresult = readData(dataView, offset, size)\n\t\t\t\tcursor = result.length\n\t\t\t\tbreak\n\n\t\t\tcase UTF8:\n\t\t\t\tif (size === -1) {\n\t\t\t\t\tresult = readUtf8TerminatedString(dataView, offset)\n\t\t\t\t\tcursor = result.length + 1\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tresult = readUtf8String(dataView, offset)\n\t\t\t\t}\n\t\t\t\tbreak\n\n\t\t\tdefault:\n\t\t\t\tresult = -1\n\t\t}\n\n\t\tthis.offset += cursor\n\n\t\treturn result\n\t}\n\n\t/**\n\t * Reads a unsigned integer from the data view.\n\t *\n\t * @param size - The size of the integer in bytes.\n\t * @returns The unsigned integer.\n\t */\n\treadUint = (size: number): number => {\n\t\treturn this.read(UINT, size)\n\t}\n\n\t/**\n\t * Reads a signed integer from the data view.\n\t *\n\t * @param size - The size of the integer in bytes.\n\t * @returns The signed integer.\n\t */\n\treadInt = (size: number): number => {\n\t\treturn this.read(INT, size)\n\t}\n\n\t/**\n\t * Reads a string from the data view.\n\t *\n\t * @param size - The size of the string in bytes.\n\t * @returns The string.\n\t */\n\treadString = (size: number): string => {\n\t\treturn this.read(STRING, size)\n\t}\n\n\t/**\n\t * Reads a template from the data view.\n\t *\n\t * @param size - The size of the template in bytes.\n\t * @returns The template.\n\t */\n\treadTemplate = (size: number): number => {\n\t\treturn this.read(TEMPLATE, size)\n\t}\n\n\t/**\n\t * Reads a byte array from the data view.\n\t *\n\t * @param size - The size of the data in bytes.\n\t * @returns The data.\n\t */\n\treadData = (size: number): Uint8Array<ArrayBuffer> => {\n\t\treturn this.read(DATA, size)\n\t}\n\n\t/**\n\t * Reads a UTF-8 string from the data view.\n\t *\n\t * @param size - The size of the string in bytes.\n\t * @returns The UTF-8 string.\n\t */\n\treadUtf8 = (size?: number): string => {\n\t\treturn this.read(UTF8, size)\n\t}\n\n\t/**\n\t * Reads a full box from the data view.\n\t *\n\t * @returns The full box.\n\t */\n\treadFullBox = (): Fields<FullBox> => {\n\t\treturn {\n\t\t\tversion: this.readUint(1),\n\t\t\tflags: this.readUint(3),\n\t\t}\n\t}\n\n\t/**\n\t * Reads an array of values from the data view.\n\t *\n\t * @param type - The type of the values.\n\t * @param size - The size of the values in bytes.\n\t * @param length - The number of values to read.\n\t * @returns The array of values.\n\t */\n\treadArray = <T extends keyof IsoFieldTypeMap>(type: T, size: number, length: number): IsoFieldTypeMap[T][] => {\n\t\tconst value = []\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tvalue.push(this.read(type, size))\n\t\t}\n\n\t\treturn value as IsoFieldTypeMap[T][]\n\t}\n\n\t/**\n\t * Reads a raw box from the data view.\n\t *\n\t * @returns The box.\n\t */\n\treadBox = (): RawBox => {\n\t\tconst { dataView, offset } = this\n\n\t\t// read box size and type without advancing the cursor in case the box is truncated\n\t\tlet cursor = 0\n\n\t\tconst box = {\n\t\t\tsize: readUint(dataView, offset, 4),\n\t\t\ttype: readString(dataView, offset + 4, 4),\n\t\t} as RawBox\n\n\t\tcursor += 8\n\n\t\tif (box.size === 1) {\n\t\t\tbox.largesize = readUint(dataView, offset + cursor, 8)\n\t\t\tcursor += 8\n\t\t}\n\n\t\tconst actualSize = box.largesize || box.size\n\t\tif (this.cursor + actualSize > dataView.byteLength) {\n\t\t\tthis.truncated = true\n\t\t\tthrow new Error('Truncated box')\n\t\t}\n\n\t\tthis.offset += cursor\n\t\tif (box.type === 'uuid') {\n\t\t\tbox.usertype = this.readArray('uint', 1, 16)\n\t\t}\n\n\t\tconst viewSize = box.size === 0 ? this.bytesRemaining : actualSize - cursor\n\t\tbox.data = this.slice(viewSize)\n\n\t\treturn box\n\t}\n\n\t/**\n\t * Reads a number of boxes from the data view.\n\t *\n\t * @param length - The number of boxes to read.\n\t * @returns The boxes.\n\t */\n\treadBoxes = <T = IsoBmffBox>(length: number): T[] => {\n\t\tconst result: T[] = []\n\n\t\tfor (const box of this) {\n\t\t\tresult.push(box as T)\n\n\t\t\tif (length > 0 && result.length >= length) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}\n\n\t/**\n\t * Reads a number of entries from the data view.\n\t *\n\t * @param length - The number of entries to read.\n\t * @param map - The function to map the entries.\n\t * @returns The entries.\n\t */\n\treadEntries = <T>(length: number, map: () => T): T[] => {\n\t\tconst result: T[] = []\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tresult.push(map())\n\t\t}\n\n\t\treturn result\n\t};\n\n\t/**\n\t * Iterates over the boxes in the data view.\n\t *\n\t * @returns A generator of boxes.\n\t */\n\t*[Symbol.iterator](): Generator<IsoBmffBox> {\n\t\tconst { parsers = {}, recursive = false } = this.config\n\n\t\twhile (!this.done) {\n\t\t\ttry {\n\t\t\t\tconst { type, data, ...rest } = this.readBox()\n\t\t\t\tconst box = { type, ...rest } as IsoBmffBox\n\t\t\t\tconst parser = parsers[type] || parsers[type.trim()] // url and urn boxes have a trailing space in their type field\n\n\t\t\t\tif (parser) {\n\t\t\t\t\tObject.assign(box, parser(data, this.config))\n\t\t\t\t}\n\n\t\t\t\tbox.view = data\n\n\t\t\t\tif (CONTAINERS.includes(type)) {\n\t\t\t\t\tconst boxes = []\n\n\t\t\t\t\tfor (const child of data) {\n\t\t\t\t\t\tif (recursive) {\n\t\t\t\t\t\t\tyield child\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tboxes.push(child)\n\t\t\t\t\t}\n\n\t\t\t\t\t(box as ContainerBox<IsoBmffBox>).boxes = boxes\n\t\t\t\t}\n\n\t\t\t\tyield box\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n}\n","import type { IsoData } from './IsoData.ts'\nimport { IsoView } from './IsoView.ts'\nimport type { IsoViewConfig } from './IsoViewConfig.ts'\n\n/**\n * Create an IsoView from a raw ISO data.\n *\n * @param raw - The raw ISO data\n * @param config - The configuration for the IsoView\n *\n * @returns The created IsoView\n *\n *\n * @beta\n */\nexport function createIsoView(raw: IsoData, config?: IsoViewConfig): IsoView {\n\treturn new IsoView(raw, config)\n}\n","import type { ContainerBox } from './boxes/ContainerBox.ts'\nimport type { IsoBmffBox } from './boxes/IsoBmffBox.ts'\nimport type { BoxFilter } from './BoxFilter.ts'\nimport { createIsoView } from './createIsoView.ts'\nimport type { IsoData } from './IsoData.ts'\nimport type { IsoViewConfig } from './IsoViewConfig.ts'\n\nfunction filter<T extends IsoBmffBox = IsoBmffBox>(iterator: Iterable<IsoBmffBox>, fn: BoxFilter<T>, recursive: boolean, result: T[]): T[] {\n\tfor (const box of iterator) {\n\t\tif (fn(box)) {\n\t\t\tresult.push(box as T)\n\t\t}\n\n\t\tconst { boxes } = box as ContainerBox<IsoBmffBox>\n\t\tif (recursive && Array.isArray(boxes)) {\n\t\t\tfilter(boxes, fn, recursive, result)\n\t\t}\n\t}\n\n\treturn result\n}\n\n/**\n * Filters boxes based on the given filter function.\n *\n * @param raw - The raw boxes to filter.\n * @param config - The box parser configuration.\n * @param fn - The filter function.\n * @returns The filtered boxes.\n *\n * @beta\n */\nexport function filterBoxes<T extends IsoBmffBox = IsoBmffBox>(raw: IsoData | Iterable<IsoBmffBox>, fn: BoxFilter<T>, config?: IsoViewConfig): T[] {\n\tif (raw instanceof DataView || raw instanceof Uint8Array || raw instanceof ArrayBuffer) {\n\t\traw = createIsoView(raw, { ...config, recursive: false })\n\t}\n\n\tconst recursive = config?.recursive ?? true\n\treturn filter<T>(raw, fn, recursive, [])\n}\n","import type { IsoBmffBox } from './boxes/IsoBmffBox.ts'\nimport type { IsoBmffBoxMap } from './boxes/IsoBmffBoxMap.ts'\nimport { filterBoxes } from './filterBoxes.ts'\nimport type { IsoData } from './IsoData.ts'\nimport type { IsoViewConfig } from './IsoViewConfig.ts'\n\n/**\n * Filter boxes by type from an IsoView\n *\n * @param type - The type(s) of boxes to filter\n * @param raw - The raw ISO data\n * @param config - The configuration for the IsoView\n *\n * @returns The filtered boxes\n *\n *\n * @beta\n */\nexport function filterBoxesByType<T extends keyof IsoBmffBoxMap>(raw: IsoData, type: T | T[], config: IsoViewConfig = {}): IsoBmffBoxMap[T][] {\n\tif (!Array.isArray(type)) {\n\t\ttype = [type]\n\t}\n\n\treturn filterBoxes(raw, (box: IsoBmffBox): box is IsoBmffBoxMap[T] => type.includes(box.type as T), config)\n}\n","import type { ContainerBox } from './boxes/ContainerBox.ts'\nimport type { IsoBmffBox } from './boxes/IsoBmffBox.ts'\nimport type { BoxFilter } from './BoxFilter.ts'\nimport { createIsoView } from './createIsoView.ts'\nimport type { IsoData } from './IsoData.ts'\nimport type { IsoViewConfig } from './IsoViewConfig.ts'\n\nfunction find<T extends IsoBmffBox = IsoBmffBox>(iterator: Iterable<IsoBmffBox>, recursive: boolean, fn: BoxFilter<T>): T | null {\n\tfor (const box of iterator) {\n\t\tif (fn(box)) {\n\t\t\treturn box as T\n\t\t}\n\n\t\tconst { boxes } = box as ContainerBox<IsoBmffBox>\n\t\tif (recursive && Array.isArray(boxes)) {\n\t\t\tconst result = find(boxes, recursive, fn)\n\n\t\t\tif (result) {\n\t\t\t\treturn result as T\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null\n}\n\n/**\n * Find a box from an IsoView that matches a filter function\n *\n * @param raw - The raw ISO data\n * @param config - The configuration for the IsoView\n * @param fn - The filter function\n *\n * @returns The first box that matches the filter function\n *\n *\n * @beta\n */\nexport function findBox<T extends IsoBmffBox = IsoBmffBox>(raw: IsoData | Iterable<IsoBmffBox>, fn: BoxFilter<T>, config?: IsoViewConfig): T | null {\n\tconst recursive = config?.recursive ?? true\n\tif (raw instanceof DataView || raw instanceof Uint8Array || raw instanceof ArrayBuffer) {\n\t\traw = createIsoView(raw, { ...config, recursive: false })\n\t}\n\n\treturn find(raw, recursive, fn)\n}\n","import type { IsoBmffBox } from './boxes/IsoBmffBox.ts'\nimport type { IsoBmffBoxMap } from './boxes/IsoBmffBoxMap.ts'\nimport { findBox } from './findBox.ts'\nimport type { IsoData } from './IsoData.ts'\nimport type { IsoViewConfig } from './IsoViewConfig.ts'\n\n/**\n * Find a box from an IsoView that matches a given type\n *\n * @param type - The type of box to find\n * @param raw - The raw ISO data\n * @param config - The configuration for the IsoView\n *\n * @returns The first box that matches the type\n *\n *\n * @beta\n */\nexport function findBoxByType<T extends keyof IsoBmffBoxMap>(raw: IsoData, type: T, config: IsoViewConfig = {}): IsoBmffBoxMap[T] | null {\n\treturn findBox(raw, (box: IsoBmffBox): box is IsoBmffBoxMap[T] => box.type === type, config)\n}\n","import type { IsoBmffBox } from './boxes/IsoBmffBox.ts'\nimport { createIsoView } from './createIsoView.ts'\nimport type { IsoData } from './IsoData.ts'\nimport type { IsoViewConfig } from './IsoViewConfig.ts'\n\n/**\n * Parse boxes from an IsoView\n *\n * @param raw - The raw ISO data\n * @param config - The configuration for the IsoView\n *\n * @returns The parsed boxes\n *\n *\n * @beta\n */\nexport function parseBoxes(raw: IsoData, config?: IsoViewConfig): IsoBmffBox[] {\n\tconst boxes = []\n\n\tfor (const box of createIsoView(raw, config)) {\n\t\tboxes.push(box)\n\t}\n\n\treturn boxes\n}\n","import type { AudioRenderingIndicationBox } from '../boxes/AudioRenderingIndicationBox.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a AudioRenderingIndicationBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed AudioRenderingIndicationBox\n *\n *\n * @beta\n */\nexport function ardi(view: IsoView): Fields<AudioRenderingIndicationBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\taudioRenderingIndication: view.readUint(1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.ts'\nimport { UINT } from '../fields/UINT.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function avc1(view: IsoView): Fields<VisualSampleEntryBox<'avc1'>> {\n\tconst { readArray, readUint, readInt, readTemplate, readData } = view\n\n\treturn {\n\t\treserved1: readArray(UINT, 1, 6),\n\t\tdataReferenceIndex: readUint(2),\n\t\tpreDefined1: readUint(2),\n\t\treserved2: readUint(2),\n\t\tpreDefined2: readArray(UINT, 4, 3),\n\t\twidth: readUint(2),\n\t\theight: readUint(2),\n\t\thorizresolution: readTemplate(4),\n\t\tvertresolution: readTemplate(4),\n\t\treserved3: readUint(4),\n\t\tframeCount: readUint(2),\n\t\tcompressorName: readArray(UINT, 1, 32),\n\t\tdepth: readUint(2),\n\t\tpreDefined3: readInt(2),\n\t\tconfig: readData(-1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.ts'\nimport type { IsoView } from '../IsoView.ts'\nimport { avc1 } from './avc1.ts'\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function avc2(view: IsoView): Fields<VisualSampleEntryBox<'avc2'>> {\n\treturn avc1(view)\n}\n\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.ts'\nimport type { IsoView } from '../IsoView.ts'\nimport { avc1 } from './avc1.ts'\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function avc3(view: IsoView): Fields<VisualSampleEntryBox<'avc3'>> {\n\treturn avc1(view)\n}\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.ts'\nimport type { IsoView } from '../IsoView.ts'\nimport { avc1 } from './avc1.ts'\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function avc4(view: IsoView): Fields<VisualSampleEntryBox<'avc4'>> {\n\treturn avc1(view)\n}\n","import type { CompositionTimeToSampleBox } from '../boxes/CompositionTimeToSampleBox.ts'\nimport type { CompositionTimeToSampleEntry } from '../boxes/CompositionTimeToSampleEntry.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a CompositionTimeToSampleBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed CompositionTimeToSampleBox\n *\n *\n * @beta\n */\nexport function ctts(view: IsoView): Fields<CompositionTimeToSampleBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst read = version === 1 ? view.readInt : view.readUint\n\n\tconst entryCount = view.readUint(4)\n\tconst entries = view.readEntries<CompositionTimeToSampleEntry>(entryCount, () => ({\n\t\tsampleCount: view.readUint(4),\n\t\tsampleOffset: read(4),\n\t}))\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries,\n\t}\n};\n","import type { DataEntryUrlBox } from '../boxes/DataEntryUrlBox.ts'\nimport type { DataEntryUrnBox } from '../boxes/DataEntryUrnBox.ts'\nimport type { DataReferenceBox } from '../boxes/DataReferenceBox.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a DataReferenceBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed DataReferenceBox\n *\n *\n * @beta\n */\nexport function dref(view: IsoView): Fields<DataReferenceBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst entryCount = view.readUint(4)\n\tconst entries = view.readBoxes<DataEntryUrlBox | DataEntryUrnBox>(entryCount)\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries,\n\t}\n};\n","import type { ExtendedLanguageBox } from '../boxes/ExtendedLanguageBox.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a ExtendedLanguageBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed ExtendedLanguageBox\n *\n *\n * @beta\n */\nexport function elng(view: IsoView): Fields<ExtendedLanguageBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\textendedLanguage: view.readUtf8(-1),\n\t}\n};\n","import type { EditListBox } from '../boxes/EditListBox.ts'\nimport type { EditListEntry } from '../boxes/EditListEntry.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a Box from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed Box\n *\n *\n * @beta\n */\nexport function elst(view: IsoView): Fields<EditListBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst v1 = version === 1\n\tconst size = v1 ? 8 : 4\n\n\tconst entryCount = view.readUint(4)\n\tconst entries = view.readEntries<EditListEntry>(entryCount, () => ({\n\t\tsegmentDuration: view.readUint(size),\n\t\tmediaTime: view.readInt(size),\n\t\tmediaRateInteger: view.readInt(2),\n\t\tmediaRateFraction: view.readInt(2),\n\t}))\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries,\n\t}\n};\n","import type { EventMessageBox } from '../boxes/EventMessageBox.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse an EventMessageBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed EventMessageBox\n *\n *\n * @beta\n */\nexport function emsg(view: IsoView): Fields<EventMessageBox> {\n\tconst { readUint, readString, readData } = view\n\n\tconst result = { ...view.readFullBox() } as EventMessageBox\n\n\tif (result.version == 1) {\n\t\tresult.timescale = readUint(4)\n\t\tresult.presentationTime = readUint(8)\n\t\tresult.eventDuration = readUint(4)\n\t\tresult.id = readUint(4)\n\t\tresult.schemeIdUri = readString(-1)\n\t\tresult.value = readString(-1)\n\t}\n\telse {\n\t\tresult.schemeIdUri = readString(-1)\n\t\tresult.value = readString(-1)\n\t\tresult.timescale = readUint(4)\n\t\tresult.presentationTimeDelta = readUint(4)\n\t\tresult.eventDuration = readUint(4)\n\t\tresult.id = readUint(4)\n\t}\n\n\tresult.messageData = readData(-1)\n\n\treturn result\n}\n","import type { AudioSampleEntryBox } from '../boxes/AudioSampleEntryBox.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport { UINT } from '../fields/UINT.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse an AudioSampleEntry from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed AudioSampleEntry\n *\n *\n * @beta\n */\nexport function mp4a(view: IsoView): Fields<AudioSampleEntryBox<'mp4a'>> {\n\tconst { readArray, readUint, readTemplate, readData } = view\n\n\treturn {\n\t\treserved1: readArray(UINT, 1, 6),\n\t\tdataReferenceIndex: readUint(2),\n\t\treserved2: readArray(UINT, 4, 2),\n\t\tchannelcount: readUint(2),\n\t\tsamplesize: readUint(2),\n\t\tpreDefined: readUint(2),\n\t\treserved3: readUint(2),\n\t\tsamplerate: readTemplate(4),\n\t\tesds: readData(-1),\n\t}\n};\n","import type { AudioSampleEntryBox } from '../boxes/AudioSampleEntryBox.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { IsoView } from '../IsoView.ts'\nimport { mp4a } from './mp4a.ts'\n\n/**\n * Parse an AudioSampleEntry from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed AudioSampleEntry\n *\n *\n * @beta\n */\nexport function enca(view: IsoView): Fields<AudioSampleEntryBox<'enca'>> {\n\treturn mp4a(view)\n}\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.ts'\nimport type { IsoView } from '../IsoView.ts'\nimport { avc1 } from './avc1.ts'\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function encv(view: IsoView): Fields<VisualSampleEntryBox<'encv'>> {\n\treturn avc1(view)\n}\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { FreeSpaceBox } from '../boxes/FreeSpaceBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a Box from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed Box\n *\n *\n * @beta\n */\nexport function free(view: IsoView): Fields<FreeSpaceBox> {\n\treturn {\n\t\tdata: view.readData(-1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { OriginalFormatBox } from '../boxes/OriginalFormatBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse an OriginalFormatBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed OriginalFormatBox\n *\n *\n * @beta\n */\nexport function frma(view: IsoView): Fields<OriginalFormatBox> {\n\treturn {\n\t\tdataFormat: view.readUint(4),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { FileTypeBox } from '../boxes/FileTypeBox.ts'\nimport { STRING } from '../fields/STRING.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a FileTypeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed FileTypeBox\n *\n *\n * @beta\n */\nexport function ftyp(view: IsoView): Fields<FileTypeBox> {\n\tconst size = 4\n\tconst majorBrand = view.readString(4)\n\tconst minorVersion = view.readUint(4)\n\tconst length = view.bytesRemaining / size\n\tconst compatibleBrands = view.readArray(STRING, size, length)\n\n\treturn {\n\t\tmajorBrand,\n\t\tminorVersion,\n\t\tcompatibleBrands,\n\t}\n}\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { HandlerReferenceBox } from '../boxes/HandlerReferenceBox.ts'\nimport { UINT } from '../fields/UINT.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a HandlerReferenceBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed HandlerReferenceBox\n *\n *\n * @beta\n */\nexport function hdlr(view: IsoView): Fields<HandlerReferenceBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tpreDefined: view.readUint(4),\n\t\thandlerType: view.readString(4),\n\t\treserved: view.readArray(UINT, 4, 3),\n\t\tname: view.readString(-1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.ts'\nimport type { IsoView } from '../IsoView.ts'\nimport { avc1 } from './avc1.ts'\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function hev1(view: IsoView): Fields<VisualSampleEntryBox<'hev1'>> {\n\treturn avc1(view)\n}\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { VisualSampleEntryBox } from '../boxes/VisualSampleEntryBox.ts'\nimport type { IsoView } from '../IsoView.ts'\nimport { avc1 } from './avc1.ts'\n\n/**\n * Parse a VisualSampleEntryBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VisualSampleEntryBox\n *\n *\n * @beta\n */\nexport function hvc1(view: IsoView): Fields<VisualSampleEntryBox<'avc1'>> {\n\treturn avc1(view)\n}\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { WebVttCueIdBox } from '../boxes/WebVttCueIdBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a WebVTTCueIdBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed WebVTTCueIdBox\n *\n *\n * @beta\n */\nexport function iden(view: IsoView): Fields<WebVttCueIdBox> {\n\treturn {\n\t\tcueId: view.readUtf8(-1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { IdentifiedMediaDataBox } from '../boxes/IdentifiedMediaDataBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a IdentifiedMediaDataBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed IdentifiedMediaDataBox\n *\n *\n * @beta\n */\nexport function imda(view: IsoView): Fields<IdentifiedMediaDataBox> {\n\treturn {\n\t\timdaIdentifier: view.readUint(4),\n\t\tdata: view.readData(-1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { TrackKindBox } from '../boxes/TrackKindBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a TrackKinBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackKindBox\n *\n *\n * @beta\n */\nexport function kind(view: IsoView): Fields<TrackKindBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tschemeUri: view.readUtf8(-1),\n\t\tvalue: view.readUtf8(-1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { LabelBox } from '../boxes/LabelBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a LabelBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed LabelBox\n *\n *\n * @beta\n */\nexport function labl(view: IsoView): Fields<LabelBox> {\n\tconst { version, flags } = view.readFullBox()\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tisGroupLabel: (flags & 0x1) !== 0,\n\t\tlabelId: view.readUint(2),\n\t\tlanguage: view.readUtf8(-1),\n\t\tlabel: view.readUtf8(-1),\n\t}\n}\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { MediaDataBox } from '../boxes/MediaDataBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a MediaDataBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MediaDataBox\n *\n *\n * @beta\n */\nexport function mdat(view: IsoView): Fields<MediaDataBox> {\n\treturn {\n\t\tdata: view.readData(-1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { MediaHeaderBox } from '../boxes/MediaHeaderBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a MediaHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MediaHeaderBox\n *\n *\n * @beta\n */\nexport function mdhd(view: IsoView): Fields<MediaHeaderBox> {\n\tconst { version, flags } = view.readFullBox()\n\n\tconst creationTime = view.readUint(version == 1 ? 8 : 4)\n\tconst modificationTime = view.readUint(version == 1 ? 8 : 4)\n\tconst timescale = view.readUint(4)\n\tconst duration = view.readUint(version == 1 ? 8 : 4)\n\tconst lang = view.readUint(2)\n\tconst language = String.fromCharCode(((lang >> 10) & 0x1F) + 0x60,\n\t\t((lang >> 5) & 0x1F) + 0x60,\n\t\t(lang & 0x1F) + 0x60)\n\n\tconst preDefined = view.readUint(2)\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tcreationTime,\n\t\tmodificationTime,\n\t\ttimescale,\n\t\tduration,\n\t\tlanguage,\n\t\tpreDefined,\n\t}\n}\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { MovieExtendsHeaderBox } from '../boxes/MovieExtendsHeaderBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a MovieExtendsHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MovieExtendsHeaderBox\n *\n *\n * @beta\n */\nexport function mehd(view: IsoView): Fields<MovieExtendsHeaderBox> {\n\tconst { version, flags } = view.readFullBox()\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tfragmentDuration: view.readUint((version === 1) ? 8 : 4),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { MetaBox } from '../boxes/MetaBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a MetaBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MetaBox\n *\n *\n * @beta\n */\nexport function meta(view: IsoView): Fields<MetaBox> {\n\treturn view.readFullBox()\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { MovieFragmentHeaderBox } from '../boxes/MovieFragmentHeaderBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a MovieFragmentHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MovieFragmentHeaderBox\n *\n *\n * @beta\n */\nexport function mfhd(view: IsoView): Fields<MovieFragmentHeaderBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tsequenceNumber: view.readUint(4),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { MovieFragmentRandomAccessOffsetBox } from '../boxes/MovieFragmentRandomAccessOffsetBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a MovieFragmentRandomAccessBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed MovieFragmentRandomAccessBox\n *\n *\n * @beta\n */\nexport function mfro(view: IsoView): Fields<MovieFragmentRandomAccessOffsetBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tmfraSize: view.readUint(4),\n\t}\n};\n\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { MovieHeaderBox } from '../boxes/MovieHeaderBox.ts'\nimport { UINT } from '../fields/UINT.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a Box from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed Box\n *\n *\n * @beta\n */\nexport function mvhd(view: IsoView): Fields<MovieHeaderBox> {\n\tconst { readUint, readTemplate, readArray } = view\n\n\tconst { version, flags } = view.readFullBox()\n\tconst size = (version == 1) ? 8 : 4\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tcreationTime: readUint(size),\n\t\tmodificationTime: readUint(size),\n\t\ttimescale: readUint(4),\n\t\tduration: readUint(size),\n\t\trate: readTemplate(4),\n\t\tvolume: readTemplate(2),\n\t\treserved1: readUint(2),\n\t\treserved2: readArray(UINT, 4, 2),\n\t\tmatrix: readArray(UINT, 4, 9),\n\t\tpreDefined: readArray(UINT, 4, 6),\n\t\tnextTrackId: readUint(4),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { WebVttCuePayloadBox } from '../boxes/WebVttCuePayloadBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a WebVTTCuePayloadBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed WebVTTCuePayloadBox\n *\n *\n * @beta\n */\nexport function payl(view: IsoView): Fields<WebVttCuePayloadBox> {\n\treturn {\n\t\tcueText: view.readUtf8(-1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { ProducerReferenceTimeBox } from '../boxes/ProducerReferenceTimeBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a ProducerReferenceTimeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed ProducerReferenceTimeBox\n *\n *\n * @beta\n */\nexport function prft(view: IsoView): Fields<ProducerReferenceTimeBox> {\n\tconst { version, flags } = view.readFullBox()\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\treferenceTrackId: view.readUint(4),\n\t\tntpTimestampSec: view.readUint(4),\n\t\tntpTimestampFrac: view.readUint(4),\n\t\tmediaTime: view.readUint(version === 1 ? 8 : 4),\n\t}\n};\n","import type { Entity } from '../boxes/Entity.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { PreselectionGroupBox } from '../boxes/PreselectionGroupBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a PreselectionGroupBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed PreselectionGroupBox\n *\n *\n * @beta\n */\nexport function prsl(view: IsoView): Fields<PreselectionGroupBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst groupId = view.readUint(4)\n\tconst numEntitiesInGroup = view.readUint(4)\n\tconst entities = view.readEntries<Entity>(numEntitiesInGroup, () => ({\n\t\tentityId: view.readUint(4),\n\t}))\n\tconst preselectionTag = flags & 0x1000 ? view.readUtf8(-1) : undefined\n\tconst selectionPriority = flags & 0x2000 ? view.readUint(1) : undefined\n\tconst interleavingTag = flags & 0x4000 ? view.readUtf8(-1) : undefined\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tgroupId,\n\t\tnumEntitiesInGroup,\n\t\tentities,\n\t\tpreselectionTag,\n\t\tselectionPriority,\n\t\tinterleavingTag,\n\t}\n}\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { ProtectionSystemSpecificHeaderBox } from '../boxes/ProtectionSystemSpecificHeaderBox.ts'\nimport { UINT } from '../fields/UINT.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a ProtectionSystemSpecificHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed ProtectionSystemSpecificHeaderBox\n *\n *\n * @beta\n */\nexport function pssh(view: IsoView): Fields<ProtectionSystemSpecificHeaderBox> {\n\tconst { readUint, readArray } = view\n\tconst { version, flags } = view.readFullBox()\n\n\tconst systemId = readArray(UINT, 1, 16)\n\n\tlet kidCount: number = 0\n\tlet kid: number[] = []\n\n\tif (version > 0) {\n\t\tkidCount = readUint(4)\n\t\tkid = readArray(UINT, 1, kidCount)\n\t}\n\n\tconst dataSize = readUint(4)\n\tconst data = readArray(UINT, 1, dataSize)\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tsystemId,\n\t\tkidCount,\n\t\tkid,\n\t\tdataSize,\n\t\tdata,\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { SchemeTypeBox } from '../boxes/SchemeTypeBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a SchemeTypeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SchemeTypeBox\n *\n *\n * @beta\n */\nexport function schm(view: IsoView): Fields<SchemeTypeBox> {\n\tconst { version, flags } = view.readFullBox()\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tschemeType: view.readUint(4),\n\t\tschemeVersion: view.readUint(4),\n\t\tschemeUri: flags & 0x000001 ? view.readString(-1) : undefined,\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { SampleDependencyTypeBox } from '../boxes/SampleDependencyTypeBox.ts'\nimport { UINT } from '../fields/UINT.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a SampleDependencyTypeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SampleDependencyTypeBox\n *\n *\n * @beta\n */\nexport function sdtp(view: IsoView): Fields<SampleDependencyTypeBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tsampleDependencyTable: view.readArray(UINT, 1, view.bytesRemaining),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { SegmentIndexBox } from '../boxes/SegmentIndexBox.ts'\nimport type { SegmentIndexReference } from '../boxes/SegmentIndexReference.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a SegmentIndexBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SegmentIndexBox\n *\n *\n * @beta\n */\nexport function sidx(view: IsoView): Fields<SegmentIndexBox> {\n\tconst { readUint } = view\n\tconst { version, flags } = view.readFullBox()\n\tconst v1 = version === 1\n\tconst size = v1 ? 8 : 4\n\n\tconst referenceId = readUint(4)\n\tconst timescale = readUint(4)\n\tconst earliestPresentationTime = readUint(size)\n\tconst firstOffset = readUint(size)\n\tconst reserved = readUint(2)\n\tconst referenceCount = readUint(2)\n\tconst references = view.readEntries<SegmentIndexReference>(referenceCount, () => {\n\t\tconst entry = {} as any\n\n\t\tentry.reference = readUint(4)\n\t\tentry.subsegmentDuration = readUint(4)\n\t\tentry.sap = readUint(4)\n\t\tentry.referenceType = (entry.reference >> 31) & 0x00000001\n\t\tentry.referencedSize = entry.reference & 0x7FFFFFFF\n\t\tentry.startsWithSap = (entry.sap >> 31) & 0x00000001\n\t\tentry.sapType = (entry.sap >> 28) & 0x00000007\n\t\tentry.sapDeltaTime = (entry.sap & 0x0FFFFFFF)\n\n\t\treturn entry\n\t})\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\treferenceId,\n\t\ttimescale,\n\t\tearliestPresentationTime,\n\t\tfirstOffset,\n\t\treserved,\n\t\treferences,\n\t}\n};\n","import type { IsoView } from '../IsoView.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { FreeSpaceBox } from '../boxes/FreeSpaceBox.ts'\nimport { free } from './free.ts'\n\n/**\n * Parse a FreeSpaceBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed FreeSpaceBox\n *\n *\n * @beta\n */\nexport function skip(view: IsoView): Fields<FreeSpaceBox<'skip'>> {\n\treturn free(view)\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { SoundMediaHeaderBox } from '../boxes/SoundMediaHeaderBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a SoundMediaHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SoundMediaHeaderBox\n *\n *\n * @beta\n */\nexport function smhd(view: IsoView): Fields<SoundMediaHeaderBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tbalance: view.readUint(2),\n\t\treserved: view.readUint(2),\n\t}\n};\n","import type { IsoView } from '../IsoView.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { SubsegmentIndexBox } from '../boxes/SubsegmentIndexBox.ts'\n\n/**\n * Parse a SubsegmentIndexBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SubsegmentIndexBox\n *\n *\n * @beta\n */\nexport function ssix(view: IsoView): Fields<SubsegmentIndexBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst subsegmentCount = view.readUint(4)\n\tconst subsegments = view.readEntries(subsegmentCount, () => {\n\t\tconst rangesCount = view.readUint(4)\n\t\tconst ranges = view.readEntries(rangesCount, () => ({\n\t\t\tlevel: view.readUint(1),\n\t\t\trangeSize: view.readUint(3),\n\t\t}))\n\t\treturn { rangesCount, ranges }\n\t})\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tsubsegmentCount,\n\t\tsubsegments,\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { SubtitleMediaHeaderBox } from '../boxes/SubtitleMediaHeaderBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a SubtitleMediaHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SubtitleMediaHeaderBox\n *\n *\n * @beta\n */\nexport function sthd(view: IsoView): Fields<SubtitleMediaHeaderBox> {\n\treturn view.readFullBox()\n};\n","import type { IsoView } from '../IsoView.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { SampleDescriptionBox } from '../boxes/SampleDescriptionBox.ts'\nimport type { SampleEntryBox } from '../boxes/SampleEntryBox.ts'\n\n/**\n * Parse a SampleDescriptionBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SampleDescriptionBox\n *\n *\n * @beta\n */\nexport function stsd<E extends SampleEntryBox = SampleEntryBox>(view: IsoView): Fields<SampleDescriptionBox<E>> {\n\tconst { version, flags } = view.readFullBox()\n\tconst entryCount = view.readUint(4)\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries: view.readBoxes<E>(entryCount),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { SyncSample } from '../boxes/SyncSample.ts'\nimport type { SyncSampleBox } from '../boxes/SyncSampleBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a SyncSampleBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SyncSampleBox\n *\n *\n * @beta\n */\nexport function stss(view: IsoView): Fields<SyncSampleBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst entryCount = view.readUint(4)\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries: view.readEntries<SyncSample>(entryCount, () => ({\n\t\t\tsampleNumber: view.readUint(4),\n\t\t})),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { WebVttSettingsBox } from '../boxes/WebVttSettingsBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a WebVTTSettingsBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed WebVTTSettingsBox\n *\n *\n * @beta\n */\nexport function sttg(view: IsoView): Fields<WebVttSettingsBox> {\n\treturn {\n\t\tsettings: view.readUtf8(-1),\n\t}\n};\n","import type { DecodingTimeToSampleBox } from '../boxes/DecodingTimeToSampleBox.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a DecodingTimeToSampleBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed DecodingTimeToSampleBox\n *\n *\n * @beta\n */\nexport function stts(view: IsoView): Fields<DecodingTimeToSampleBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst entryCount = view.readUint(4)\n\tconst entries = view.readEntries(entryCount, () => ({\n\t\tsampleCount: view.readUint(4),\n\t\tsampleDelta: view.readUint(4),\n\t}))\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries,\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { SegmentTypeBox } from '../boxes/SegmentTypeBox.ts'\nimport type { IsoView } from '../IsoView.ts'\nimport { ftyp } from './ftyp.ts'\n\n/**\n * Parse a SegmentTypeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SegmentTypeBox\n *\n *\n * @beta\n */\nexport function styp(view: IsoView): Fields<SegmentTypeBox> {\n\treturn ftyp(view)\n}\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { SubsampleInformationBox } from '../boxes/SubsampleInformationBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a SubSampleInformationBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed SubSampleInformationBox\n *\n *\n * @beta\n */\nexport function subs(view: IsoView): Fields<SubsampleInformationBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst entryCount = view.readUint(4)\n\tconst entries = view.readEntries(entryCount, () => {\n\t\tconst sampleDelta = view.readUint(4)\n\t\tconst subsampleCount = view.readUint(2)\n\t\tconst subsamples = view.readEntries(subsampleCount, () => ({\n\t\t\tsubsampleSize: view.readUint((version === 1) ? 4 : 2),\n\t\t\tsubsamplePriority: view.readUint(1),\n\t\t\tdiscardable: view.readUint(1),\n\t\t\tcodecSpecificParameters: view.readUint(4),\n\t\t}))\n\n\t\treturn {\n\t\t\tsampleDelta,\n\t\t\tsubsampleCount,\n\t\t\tsubsamples,\n\t\t}\n\t})\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tentryCount,\n\t\tentries,\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { TrackEncryptionBox } from '../boxes/TrackEncryptionBox.ts'\nimport { UINT } from '../fields/UINT.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a TrackEncryptionBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackEncryptionBox\n *\n *\n * @beta\n */\nexport function tenc(view: IsoView): Fields<TrackEncryptionBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tdefaultIsEncrypted: view.readUint(3),\n\t\tdefaultIvSize: view.readUint(1),\n\t\tdefaultKid: view.readArray(UINT, 1, 16),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { TrackFragmentBaseMediaDecodeTimeBox } from '../boxes/TrackFragmentBaseMediaDecodeTimeBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a TrackFragmentDecodeTimeBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackFragmentDecodeTimeBox\n *\n *\n * @beta\n */\nexport function tfdt(view: IsoView): Fields<TrackFragmentBaseMediaDecodeTimeBox> {\n\tconst { version, flags } = view.readFullBox()\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tbaseMediaDecodeTime: view.readUint((version == 1) ? 8 : 4),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { TrackFragmentHeaderBox } from '../boxes/TrackFragmentHeaderBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a TrackFragmentHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackFragmentHeaderBox\n *\n *\n * @beta\n */\nexport function tfhd(view: IsoView): Fields<TrackFragmentHeaderBox> {\n\tconst { version, flags } = view.readFullBox()\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\ttrackId: view.readUint(4),\n\t\tbaseDataOffset: flags & 0x01 ? view.readUint(8) : undefined,\n\t\tsampleDescriptionIndex: flags & 0x02 ? view.readUint(4) : undefined,\n\t\tdefaultSampleDuration: flags & 0x08 ? view.readUint(4) : undefined,\n\t\tdefaultSampleSize: flags & 0x10 ? view.readUint(4) : undefined,\n\t\tdefaultSampleFlags: flags & 0x20 ? view.readUint(4) : undefined,\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { TrackFragmentRandomAccessBox } from '../boxes/TrackFragmentRandomAccessBox.ts'\nimport type { TrackFragmentRandomAccessEntry } from '../boxes/TrackFragmentRandomAccessEntry.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a TrackFragmentRandomAccessBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackFragmentRandomAccessBox\n *\n *\n * @beta\n */\nexport function tfra(view: IsoView): Fields<TrackFragmentRandomAccessBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst trackId = view.readUint(4)\n\tconst reserved = view.readUint(4)\n\n\tconst lengthSizeOfTrafNum = (reserved & 0x00000030) >> 4\n\tconst lengthSizeOfTrunNum = (reserved & 0x0000000C) >> 2\n\tconst lengthSizeOfSampleNum = (reserved & 0x00000003)\n\n\tconst numberOfEntry = view.readUint(4)\n\n\tconst entries = view.readEntries<TrackFragmentRandomAccessEntry>(numberOfEntry, () => ({\n\t\ttime: view.readUint((version === 1) ? 8 : 4),\n\t\tmoofOffset: view.readUint((version === 1) ? 8 : 4),\n\t\ttrafNumber: view.readUint(lengthSizeOfTrafNum + 1),\n\t\ttrunNumber: view.readUint(lengthSizeOfTrunNum + 1),\n\t\tsampleNumber: view.readUint(lengthSizeOfSampleNum + 1),\n\t}))\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\ttrackId,\n\t\treserved,\n\t\tlengthSizeOfTrafNum,\n\t\tlengthSizeOfTrunNum,\n\t\tlengthSizeOfSampleNum,\n\t\tnumberOfEntry,\n\t\tentries,\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { TrackHeaderBox } from '../boxes/TrackHeaderBox.ts'\nimport { TEMPLATE } from '../fields/TEMPLATE.ts'\nimport { UINT } from '../fields/UINT.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a TrackHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackHeaderBox\n *\n *\n * @beta\n */\nexport function tkhd(view: IsoView): Fields<TrackHeaderBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst size = version === 1 ? 8 : 4\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tcreationTime: view.readUint(size),\n\t\tmodificationTime: view.readUint(size),\n\t\ttrackId: view.readUint(4),\n\t\treserved1: view.readUint(4),\n\t\tduration: view.readUint(size),\n\t\treserved2: view.readArray(UINT, 4, 2),\n\t\tlayer: view.readUint(2),\n\t\talternateGroup: view.readUint(2),\n\t\tvolume: view.readTemplate(2),\n\t\treserved3: view.readUint(2),\n\t\tmatrix: view.readArray(TEMPLATE, 4, 9),\n\t\twidth: view.readTemplate(4),\n\t\theight: view.readTemplate(4),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { TrackExtendsBox } from '../boxes/TrackExtendsBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a TrackExtendsBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackExtendsBox\n *\n *\n * @beta\n */\nexport function trex(view: IsoView): Fields<TrackExtendsBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\ttrackId: view.readUint(4),\n\t\tdefaultSampleDescriptionIndex: view.readUint(4),\n\t\tdefaultSampleDuration: view.readUint(4),\n\t\tdefaultSampleSize: view.readUint(4),\n\t\tdefaultSampleFlags: view.readUint(4),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { TrackRunBox } from '../boxes/TrackRunBox.ts'\nimport type { TrackRunSample } from '../boxes/TrackRunSample.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a TrackRunBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed TrackRunBox\n *\n *\n * @beta\n */\nexport function trun(view: IsoView): Fields<TrackRunBox> {\n\tconst { version, flags } = view.readFullBox()\n\tconst sampleCount = view.readUint(4)\n\tlet dataOffset: number | undefined\n\tlet firstSampleFlags: number | undefined\n\n\tif (flags & 0x1) {\n\t\tdataOffset = view.readInt(4)\n\t}\n\n\tif (flags & 0x4) {\n\t\tfirstSampleFlags = view.readUint(4)\n\t}\n\n\tconst samples = view.readEntries<TrackRunSample>(sampleCount, () => {\n\t\tconst sample: TrackRunSample = {}\n\n\t\tif (flags & 0x100) {\n\t\t\tsample.sampleDuration = view.readUint(4)\n\t\t}\n\t\tif (flags & 0x200) {\n\t\t\tsample.sampleSize = view.readUint(4)\n\t\t}\n\t\tif (flags & 0x400) {\n\t\t\tsample.sampleFlags = view.readUint(4)\n\t\t}\n\t\tif (flags & 0x800) {\n\t\t\tsample.sampleCompositionTimeOffset = (version === 1) ? view.readInt(4) : view.readUint(4)\n\t\t}\n\n\t\treturn sample\n\t})\n\n\treturn {\n\t\tversion,\n\t\tflags,\n\t\tsampleCount,\n\t\tdataOffset,\n\t\tfirstSampleFlags,\n\t\tsamples,\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { UrlBox } from '../boxes/UrlBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a UrlBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed UrlBox\n *\n *\n * @beta\n */\nexport function url(view: IsoView): Fields<UrlBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tlocation: view.readString(-1),\n\t}\n};\n","import type { IsoView } from '../IsoView.ts'\nimport type { Fields } from '../boxes/Fields.ts'\nimport type { UrnBox } from '../boxes/UrnBox.ts'\n\n/**\n * Parse a UrnBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed UrnBox\n *\n *\n * @beta\n */\nexport function urn(view: IsoView): Fields<UrnBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tname: view.readString(-1),\n\t\tlocation: view.readString(-1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { WebVttSourceLabelBox } from '../boxes/WebVttSourceLabelBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a WebVTTSourceLabelBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed WebVTTSourceLabelBox\n *\n *\n * @beta\n */\nexport function vlab(view: IsoView): Fields<WebVttSourceLabelBox> {\n\treturn {\n\t\tsourceLabel: view.readUtf8(-1),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { VideoMediaHeaderBox } from '../boxes/VideoMediaHeaderBox.ts'\nimport { UINT } from '../fields/UINT.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a VideoMediaHeaderBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed VideoMediaHeaderBox\n *\n *\n * @beta\n */\nexport function vmhd(view: IsoView): Fields<VideoMediaHeaderBox> {\n\treturn {\n\t\t...view.readFullBox(),\n\t\tgraphicsmode: view.readUint(2),\n\t\topcolor: view.readArray(UINT, 2, 3),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { WebVttConfigurationBox } from '../boxes/WebVttConfigurationBox.ts'\nimport type { IsoView } from '../IsoView.ts'\n\n/**\n * Parse a WebVTTConfigurationBox from an IsoView\n *\n * @param view - The IsoView to read data from\n *\n * @returns A parsed WebVttConfigurationBox\n *\n *\n * @beta\n */\nexport function vttC(view: IsoView): Fields<WebVttConfigurationBox> {\n\treturn {\n\t\tconfig: view.readUtf8(),\n\t}\n};\n","import type { Fields } from '../boxes/Fields.ts'\nimport type { WebVttEmptySampleBox } from '../boxes/WebVttEmptySampleBox.ts'\n\n/**\n * Parse a WebVTT Empty Sample Box from an IsoView\n *\n * @returns A parsed WebVTT Empty Sample Box\n *\n *\n * @beta\n */\nexport function vtte(): Fields<WebVttEmptySampleBox> {\n\t// Nothing should happen here.\n\treturn {}\n};\n"],"mappings":";;;AAAA,MAAaA,aAAuB;CACnC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;;;;;;;;;AClBD,MAAa,OAAO;;;;;;;;;;ACApB,MAAa,MAAM;;;;;;;;;;ACAnB,MAAa,SAAS;;;;;;;;;;ACAtB,MAAa,WAAW;;;;;;;;;;ACAxB,MAAa,OAAO;;;;;;;;;;ACApB,MAAa,OAAO;;;;ACNpB,SAAgB,SAAS,UAAoB,QAAgB,MAA0B;CACtF,MAAM,SAAU,OAAO,IAAK,OAAQ,SAAS,cAAc,SAAS,SAAS;AAC7E,QAAO,IAAI,WAAW,SAAS,QAAQ,QAAQ,KAAK,IAAI,QAAQ,EAAE,CAAC;;;;;ACFpE,SAAgB,QAAQ,UAAoB,QAAgB,MAAsB;CACjF,IAAI,SAAS;CACb,MAAM,SAAS,SAAS,SAAS;AAEjC,SAAQ,MAAR;EACC,KAAK;AACJ,YAAS,SAAS,QAAQ,OAAO;AACjC;EAED,KAAK;AACJ,YAAS,SAAS,SAAS,OAAO;AAClC;EAED,KAAK;AACJ,YAAS,SAAS,SAAS,OAAO;AAClC;EAED,KAAK;GAGJ,MAAM,KAAK,SAAS,SAAS,OAAO;GACpC,MAAM,KAAK,SAAS,SAAS,SAAS,EAAE;AACxC,YAAU,KAAK,KAAK,IAAI,GAAG,GAAG,GAAI;AAClC;;AAGF,QAAO;;;;;AC1BR,SAAgB,SAAS,UAAoB,QAAgB,MAAsB;CAClF,MAAM,SAAS,SAAS,SAAS;CAEjC,IAAIC,QAAgB;CACpB,IAAIC;CACJ,IAAIC;AAEJ,SAAQ,MAAR;EACC,KAAK;AACJ,WAAQ,SAAS,SAAS,OAAO;AACjC;EAED,KAAK;AACJ,WAAQ,SAAS,UAAU,OAAO;AAClC;EAED,KAAK;AACJ,QAAK,SAAS,UAAU,OAAO;AAC/B,QAAK,SAAS,SAAS,SAAS,EAAE;AAClC,YAAS,MAAM,KAAK;AACpB;EAED,KAAK;AACJ,WAAQ,SAAS,UAAU,OAAO;AAClC;EAED,KAAK;AAGJ,QAAK,SAAS,UAAU,OAAO;AAC/B,QAAK,SAAS,UAAU,SAAS,EAAE;AACnC,WAAS,KAAK,KAAK,IAAI,GAAG,GAAG,GAAI;AACjC;;AAGF,QAAO;;;;;ACjCR,SAAgB,WAAW,UAAoB,QAAgB,QAAwB;CACtF,IAAI,MAAM;AAEV,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK;EAEhC,MAAM,OAAO,SAAS,UADP,SAAS,GACgB,EAAE;AAC1C,SAAO,OAAO,aAAa,KAAK;;AAGjC,QAAO;;;;;ACTR,SAAgB,aAAa,UAAoB,QAAgB,MAAsB;CACtF,MAAM,OAAO,OAAO;AAGpB,QAFY,SAAS,UAAU,QAAQ,KAAK,GAC/B,SAAS,UAAU,SAAS,MAAM,KAAK,GAC/B,KAAK,IAAI,GAAG,KAAK;;;;;ACJvC,SAAgB,qBAAqB,UAAoB,QAAwB;CAChF,IAAI,MAAM;CACV,IAAI,SAAS;AAEb,QAAO,SAAS,SAAS,aAAa,SAAS,YAAY;EAC1D,MAAM,OAAO,SAAS,UAAU,QAAQ,EAAE;AAC1C,MAAI,SAAS,EACZ;AAGD,SAAO,OAAO,aAAa,KAAK;AAChC;;AAGD,QAAO;;;;;;;;;;;;;;ACLR,SAAgB,eAAe,UAAiC,QAAwB;CACvF,MAAM,SAAS,SAAS,cAAc,SAAS,SAAS;AACxD,QAAQ,SAAS,IAAK,WAAW,IAAI,SAAS,SAAS,QAAQ,QAAQ,OAAO,EAAE,EAAE,UAAU,OAAO,CAAC,GAAG;;;;;;;;;;;;;;ACFxG,SAAgB,yBAAyB,UAAiC,QAAwB;CACjG,MAAM,SAAS,SAAS,cAAc,SAAS,SAAS;CAExD,IAAI,OAAO;AAEX,KAAI,SAAS,GAAG;EACf,MAAM,OAAO,IAAI,SAAS,SAAS,QAAQ,QAAQ,OAAO;EAE1D,IAAI,IAAI;AAER,SAAO,IAAI,QAAQ,IAClB,KAAI,KAAK,SAAS,EAAE,KAAK,EACxB;AAKF,SAAO,WAAW,IAAI,SAAS,SAAS,QAAQ,QAAQ,EAAE,EAAE,EAAE,UAAU,OAAO,CAAC;;AAGjF,QAAO;;;;;;;;;;;;ACYR,IAAa,UAAb,MAAa,QAAQ;;;;;;;;;CAcpB,YAAY,KAAoE,QAAwB;mBAV3E;gBA2CpB,SAA0B;GAClC,MAAM,WAAW,IAAI,SAAS,KAAK,SAAS,QAAQ,KAAK,QAAQ,KAAK;AACtE,QAAK,UAAU;AACf,UAAO,IAAI,QAAQ,UAAU,KAAK,OAAO;;eAGO,MAAS,OAAe,MAA0B;GAElG,MAAM,EAAE,UAAU,WAAW;GAE7B,IAAIC;GACJ,IAAI,SAAS;AAEb,WAAQ,MAAR;IACC,KAAK;AACJ,cAAS,SAAS,UAAU,QAAQ,KAAK;AACzC;IAED,KAAK;AACJ,cAAS,QAAQ,UAAU,QAAQ,KAAK;AACxC;IAED,KAAK;AACJ,cAAS,aAAa,UAAU,QAAQ,KAAK;AAC7C;IAED,KAAK;AACJ,SAAI,SAAS,IAAI;AAChB,eAAS,qBAAqB,UAAU,OAAO;AAC/C,eAAS,OAAO,SAAS;WAGzB,UAAS,WAAW,UAAU,QAAQ,KAAK;AAE5C;IAED,KAAK;AACJ,cAAS,SAAS,UAAU,QAAQ,KAAK;AACzC,cAAS,OAAO;AAChB;IAED,KAAK;AACJ,SAAI,SAAS,IAAI;AAChB,eAAS,yBAAyB,UAAU,OAAO;AACnD,eAAS,OAAO,SAAS;WAGzB,UAAS,eAAe,UAAU,OAAO;AAE1C;IAED,QACC,UAAS;;AAGX,QAAK,UAAU;AAEf,UAAO;;mBASI,SAAyB;AACpC,UAAO,KAAK,KAAK,MAAM,KAAK;;kBASlB,SAAyB;AACnC,UAAO,KAAK,KAAK,KAAK,KAAK;;qBASd,SAAyB;AACtC,UAAO,KAAK,KAAK,QAAQ,KAAK;;uBASf,SAAyB;AACxC,UAAO,KAAK,KAAK,UAAU,KAAK;;mBASrB,SAA0C;AACrD,UAAO,KAAK,KAAK,MAAM,KAAK;;mBASjB,SAA0B;AACrC,UAAO,KAAK,KAAK,MAAM,KAAK;;2BAQQ;AACpC,UAAO;IACN,SAAS,KAAK,SAAS,EAAE;IACzB,OAAO,KAAK,SAAS,EAAE;IACvB;;oBAW4C,MAAS,MAAc,WAAyC;GAC7G,MAAM,QAAQ,EAAE;AAEhB,QAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,IAC3B,OAAM,KAAK,KAAK,KAAK,MAAM,KAAK,CAAC;AAGlC,UAAO;;uBAQgB;GACvB,MAAM,EAAE,UAAU,WAAW;GAG7B,IAAI,SAAS;GAEb,MAAM,MAAM;IACX,MAAM,SAAS,UAAU,QAAQ,EAAE;IACnC,MAAM,WAAW,UAAU,SAAS,GAAG,EAAE;IACzC;AAED,aAAU;AAEV,OAAI,IAAI,SAAS,GAAG;AACnB,QAAI,YAAY,SAAS,UAAU,SAAS,QAAQ,EAAE;AACtD,cAAU;;GAGX,MAAM,aAAa,IAAI,aAAa,IAAI;AACxC,OAAI,KAAK,SAAS,aAAa,SAAS,YAAY;AACnD,SAAK,YAAY;AACjB,UAAM,IAAI,MAAM,gBAAgB;;AAGjC,QAAK,UAAU;AACf,OAAI,IAAI,SAAS,OAChB,KAAI,WAAW,KAAK,UAAU,QAAQ,GAAG,GAAG;GAG7C,MAAM,WAAW,IAAI,SAAS,IAAI,KAAK,iBAAiB,aAAa;AACrE,OAAI,OAAO,KAAK,MAAM,SAAS;AAE/B,UAAO;;oBASqB,WAAwB;GACpD,MAAMC,SAAc,EAAE;AAEtB,QAAK,MAAM,OAAO,MAAM;AACvB,WAAO,KAAK,IAAS;AAErB,QAAI,SAAS,KAAK,OAAO,UAAU,OAClC;;AAIF,UAAO;;sBAUU,QAAgB,QAAsB;GACvD,MAAMA,SAAc,EAAE;AAEtB,QAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,IAC3B,QAAO,KAAK,KAAK,CAAC;AAGnB,UAAO;;AAhQP,OAAK,WAAY,eAAe,cAAe,IAAI,SAAsB,IAAI,GAAI,eAAe,aAAc,IAAI,SAAsB,IAAI,QAAQ,IAAI,YAAY,IAAI,WAAW,GAAG;AACtL,OAAK,SAAS,KAAK,SAAS;AAC5B,OAAK,SAAS,UAAU;GAAE,WAAW;GAAO,SAAS,EAAE;GAAE;;;;;CAM1D,IAAI,SAAiB;AACpB,SAAO,KAAK,SAAS,KAAK,SAAS;;;;;CAMpC,IAAI,OAAgB;AACnB,SAAO,KAAK,UAAU,KAAK,SAAS,cAAc,KAAK;;;;;CAMxD,IAAI,iBAAyB;AAC5B,SAAO,KAAK,SAAS,aAAa,KAAK;;;;;;;CAiPxC,EAAE,OAAO,YAAmC;EAC3C,MAAM,EAAE,UAAU,EAAE,EAAE,YAAY,UAAU,KAAK;AAEjD,SAAO,CAAC,KAAK,KACZ,KAAI;GACH,MAAM,EAAE,MAAM,KAAM,GAAG,SAAS,KAAK,SAAS;GAC9C,MAAM,MAAM;IAAE;IAAM,GAAG;IAAM;GAC7B,MAAM,SAAS,QAAQ,SAAS,QAAQ,KAAK,MAAM;AAEnD,OAAI,OACH,QAAO,OAAO,KAAK,OAAO,MAAM,KAAK,OAAO,CAAC;AAG9C,OAAI,OAAO;AAEX,OAAI,WAAW,SAAS,KAAK,EAAE;IAC9B,MAAM,QAAQ,EAAE;AAEhB,SAAK,MAAM,SAAS,MAAM;AACzB,SAAI,UACH,OAAM;AAGP,WAAM,KAAK,MAAM;;AAGlB,IAAC,IAAiC,QAAQ;;AAG3C,SAAM;WAEA,OAAO;AACb;;;;;;;;;;;;;;;;;;ACnVJ,SAAgB,cAAc,KAAc,QAAiC;AAC5E,QAAO,IAAI,QAAQ,KAAK,OAAO;;;;;ACThC,SAAS,OAA0C,UAAgC,IAAkB,WAAoB,QAAkB;AAC1I,MAAK,MAAM,OAAO,UAAU;AAC3B,MAAI,GAAG,IAAI,CACV,QAAO,KAAK,IAAS;EAGtB,MAAM,EAAE,UAAU;AAClB,MAAI,aAAa,MAAM,QAAQ,MAAM,CACpC,QAAO,OAAO,IAAI,WAAW,OAAO;;AAItC,QAAO;;;;;;;;;;;;AAaR,SAAgB,YAA+C,KAAqC,IAAkB,QAA6B;AAClJ,KAAI,eAAe,YAAY,eAAe,cAAc,eAAe,YAC1E,OAAM,cAAc,KAAK;EAAE,GAAG;EAAQ,WAAW;EAAO,CAAC;CAG1D,MAAM,YAAY,QAAQ,aAAa;AACvC,QAAO,OAAU,KAAK,IAAI,WAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;ACpBzC,SAAgB,kBAAiD,KAAc,MAAe,SAAwB,EAAE,EAAsB;AAC7I,KAAI,CAAC,MAAM,QAAQ,KAAK,CACvB,QAAO,CAAC,KAAK;AAGd,QAAO,YAAY,MAAM,QAA6C,KAAK,SAAS,IAAI,KAAU,EAAE,OAAO;;;;;AChB5G,SAAS,KAAwC,UAAgC,WAAoB,IAA4B;AAChI,MAAK,MAAM,OAAO,UAAU;AAC3B,MAAI,GAAG,IAAI,CACV,QAAO;EAGR,MAAM,EAAE,UAAU;AAClB,MAAI,aAAa,MAAM,QAAQ,MAAM,EAAE;GACtC,MAAM,SAAS,KAAK,OAAO,WAAW,GAAG;AAEzC,OAAI,OACH,QAAO;;;AAKV,QAAO;;;;;;;;;;;;;;AAeR,SAAgB,QAA2C,KAAqC,IAAkB,QAAkC;CACnJ,MAAM,YAAY,QAAQ,aAAa;AACvC,KAAI,eAAe,YAAY,eAAe,cAAc,eAAe,YAC1E,OAAM,cAAc,KAAK;EAAE,GAAG;EAAQ,WAAW;EAAO,CAAC;AAG1D,QAAO,KAAK,KAAK,WAAW,GAAG;;;;;;;;;;;;;;;;;AC1BhC,SAAgB,cAA6C,KAAc,MAAS,SAAwB,EAAE,EAA2B;AACxI,QAAO,QAAQ,MAAM,QAA6C,IAAI,SAAS,MAAM,OAAO;;;;;;;;;;;;;;;;ACH7F,SAAgB,WAAW,KAAc,QAAsC;CAC9E,MAAM,QAAQ,EAAE;AAEhB,MAAK,MAAM,OAAO,cAAc,KAAK,OAAO,CAC3C,OAAM,KAAK,IAAI;AAGhB,QAAO;;;;;;;;;;;;;;;ACTR,SAAgB,KAAK,MAAoD;AACxE,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,0BAA0B,KAAK,SAAS,EAAE;EAC1C;;;;;;;;;;;;;;;ACHF,SAAgB,KAAK,MAAqD;CACzE,MAAM,EAAE,WAAW,sBAAU,oBAAS,8BAAc,yBAAa;AAEjE,QAAO;EACN,WAAW,UAAU,MAAM,GAAG,EAAE;EAChC,oBAAoBC,WAAS,EAAE;EAC/B,aAAaA,WAAS,EAAE;EACxB,WAAWA,WAAS,EAAE;EACtB,aAAa,UAAU,MAAM,GAAG,EAAE;EAClC,OAAOA,WAAS,EAAE;EAClB,QAAQA,WAAS,EAAE;EACnB,iBAAiBC,eAAa,EAAE;EAChC,gBAAgBA,eAAa,EAAE;EAC/B,WAAWD,WAAS,EAAE;EACtB,YAAYA,WAAS,EAAE;EACvB,gBAAgB,UAAU,MAAM,GAAG,GAAG;EACtC,OAAOA,WAAS,EAAE;EAClB,aAAaE,UAAQ,EAAE;EACvB,QAAQC,WAAS,GAAG;EACpB;;;;;;;;;;;;;;;ACnBF,SAAgB,KAAK,MAAqD;AACzE,QAAO,KAAK,KAAK;;;;;;;;;;;;;;;ACDlB,SAAgB,KAAK,MAAqD;AACzE,QAAO,KAAK,KAAK;;;;;;;;;;;;;;;ACDlB,SAAgB,KAAK,MAAqD;AACzE,QAAO,KAAK,KAAK;;;;;;;;;;;;;;;ACDlB,SAAgB,KAAK,MAAmD;CACvE,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,OAAO,YAAY,IAAI,KAAK,UAAU,KAAK;CAEjD,MAAM,aAAa,KAAK,SAAS,EAAE;AAMnC,QAAO;EACN;EACA;EACA;EACA,SATe,KAAK,YAA0C,mBAAmB;GACjF,aAAa,KAAK,SAAS,EAAE;GAC7B,cAAc,KAAK,EAAE;GACrB,EAAE;EAOF;;;;;;;;;;;;;;;ACdF,SAAgB,KAAK,MAAyC;CAC7D,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,aAAa,KAAK,SAAS,EAAE;AAGnC,QAAO;EACN;EACA;EACA;EACA,SANe,KAAK,UAA6C,WAAW;EAO5E;;;;;;;;;;;;;;;ACZF,SAAgB,KAAK,MAA4C;AAChE,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,kBAAkB,KAAK,SAAS,GAAG;EACnC;;;;;;;;;;;;;;;ACHF,SAAgB,KAAK,MAAoC;CACxD,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAE7C,MAAM,OADK,YAAY,IACL,IAAI;CAEtB,MAAM,aAAa,KAAK,SAAS,EAAE;AAQnC,QAAO;EACN;EACA;EACA;EACA,SAXe,KAAK,YAA2B,mBAAmB;GAClE,iBAAiB,KAAK,SAAS,KAAK;GACpC,WAAW,KAAK,QAAQ,KAAK;GAC7B,kBAAkB,KAAK,QAAQ,EAAE;GACjC,mBAAmB,KAAK,QAAQ,EAAE;GAClC,EAAE;EAOF;;;;;;;;;;;;;;;ACnBF,SAAgB,KAAK,MAAwC;CAC5D,MAAM,EAAE,sBAAU,0BAAY,yBAAa;CAE3C,MAAM,SAAS,EAAE,GAAG,KAAK,aAAa,EAAE;AAExC,KAAI,OAAO,WAAW,GAAG;AACxB,SAAO,YAAYC,WAAS,EAAE;AAC9B,SAAO,mBAAmBA,WAAS,EAAE;AACrC,SAAO,gBAAgBA,WAAS,EAAE;AAClC,SAAO,KAAKA,WAAS,EAAE;AACvB,SAAO,cAAcC,aAAW,GAAG;AACnC,SAAO,QAAQA,aAAW,GAAG;QAEzB;AACJ,SAAO,cAAcA,aAAW,GAAG;AACnC,SAAO,QAAQA,aAAW,GAAG;AAC7B,SAAO,YAAYD,WAAS,EAAE;AAC9B,SAAO,wBAAwBA,WAAS,EAAE;AAC1C,SAAO,gBAAgBA,WAAS,EAAE;AAClC,SAAO,KAAKA,WAAS,EAAE;;AAGxB,QAAO,cAAcE,WAAS,GAAG;AAEjC,QAAO;;;;;;;;;;;;;;;ACvBR,SAAgB,KAAK,MAAoD;CACxE,MAAM,EAAE,WAAW,sBAAU,8BAAc,yBAAa;AAExD,QAAO;EACN,WAAW,UAAU,MAAM,GAAG,EAAE;EAChC,oBAAoBC,WAAS,EAAE;EAC/B,WAAW,UAAU,MAAM,GAAG,EAAE;EAChC,cAAcA,WAAS,EAAE;EACzB,YAAYA,WAAS,EAAE;EACvB,YAAYA,WAAS,EAAE;EACvB,WAAWA,WAAS,EAAE;EACtB,YAAYC,eAAa,EAAE;EAC3B,MAAMC,WAAS,GAAG;EAClB;;;;;;;;;;;;;;;ACbF,SAAgB,KAAK,MAAoD;AACxE,QAAO,KAAK,KAAK;;;;;;;;;;;;;;;ACDlB,SAAgB,KAAK,MAAqD;AACzE,QAAO,KAAK,KAAK;;;;;;;;;;;;;;;ACFlB,SAAgB,KAAK,MAAqC;AACzD,QAAO,EACN,MAAM,KAAK,SAAS,GAAG,EACvB;;;;;;;;;;;;;;;ACHF,SAAgB,KAAK,MAA0C;AAC9D,QAAO,EACN,YAAY,KAAK,SAAS,EAAE,EAC5B;;;;;;;;;;;;;;;ACFF,SAAgB,KAAK,MAAoC;CACxD,MAAM,OAAO;CACb,MAAM,aAAa,KAAK,WAAW,EAAE;CACrC,MAAM,eAAe,KAAK,SAAS,EAAE;CACrC,MAAM,SAAS,KAAK,iBAAiB;AAGrC,QAAO;EACN;EACA;EACA,kBALwB,KAAK,UAAU,QAAQ,MAAM,OAAO;EAM5D;;;;;;;;;;;;;;;ACXF,SAAgB,KAAK,MAA4C;AAChE,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,YAAY,KAAK,SAAS,EAAE;EAC5B,aAAa,KAAK,WAAW,EAAE;EAC/B,UAAU,KAAK,UAAU,MAAM,GAAG,EAAE;EACpC,MAAM,KAAK,WAAW,GAAG;EACzB;;;;;;;;;;;;;;;ACPF,SAAgB,KAAK,MAAqD;AACzE,QAAO,KAAK,KAAK;;;;;;;;;;;;;;;ACDlB,SAAgB,KAAK,MAAqD;AACzE,QAAO,KAAK,KAAK;;;;;;;;;;;;;;;ACFlB,SAAgB,KAAK,MAAuC;AAC3D,QAAO,EACN,OAAO,KAAK,SAAS,GAAG,EACxB;;;;;;;;;;;;;;;ACHF,SAAgB,KAAK,MAA+C;AACnE,QAAO;EACN,gBAAgB,KAAK,SAAS,EAAE;EAChC,MAAM,KAAK,SAAS,GAAG;EACvB;;;;;;;;;;;;;;;ACJF,SAAgB,KAAK,MAAqC;AACzD,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,WAAW,KAAK,SAAS,GAAG;EAC5B,OAAO,KAAK,SAAS,GAAG;EACxB;;;;;;;;;;;;;;;ACLF,SAAgB,KAAK,MAAiC;CACrD,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;AAE7C,QAAO;EACN;EACA;EACA,eAAe,QAAQ,OAAS;EAChC,SAAS,KAAK,SAAS,EAAE;EACzB,UAAU,KAAK,SAAS,GAAG;EAC3B,OAAO,KAAK,SAAS,GAAG;EACxB;;;;;;;;;;;;;;;ACVF,SAAgB,KAAK,MAAqC;AACzD,QAAO,EACN,MAAM,KAAK,SAAS,GAAG,EACvB;;;;;;;;;;;;;;;ACHF,SAAgB,KAAK,MAAuC;CAC3D,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAE7C,MAAM,eAAe,KAAK,SAAS,WAAW,IAAI,IAAI,EAAE;CACxD,MAAM,mBAAmB,KAAK,SAAS,WAAW,IAAI,IAAI,EAAE;CAC5D,MAAM,YAAY,KAAK,SAAS,EAAE;CAClC,MAAM,WAAW,KAAK,SAAS,WAAW,IAAI,IAAI,EAAE;CACpD,MAAM,OAAO,KAAK,SAAS,EAAE;AAO7B,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA,UAbgB,OAAO,cAAe,QAAQ,KAAM,MAAQ,KAC1D,QAAQ,IAAK,MAAQ,KACtB,OAAO,MAAQ,GAAK;EAYrB,YAVkB,KAAK,SAAS,EAAE;EAWlC;;;;;;;;;;;;;;;ACvBF,SAAgB,KAAK,MAA8C;CAClE,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;AAE7C,QAAO;EACN;EACA;EACA,kBAAkB,KAAK,SAAU,YAAY,IAAK,IAAI,EAAE;EACxD;;;;;;;;;;;;;;;ACPF,SAAgB,KAAK,MAAgC;AACpD,QAAO,KAAK,aAAa;;;;;;;;;;;;;;;ACD1B,SAAgB,KAAK,MAA+C;AACnE,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,gBAAgB,KAAK,SAAS,EAAE;EAChC;;;;;;;;;;;;;;;ACJF,SAAgB,KAAK,MAA2D;AAC/E,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,UAAU,KAAK,SAAS,EAAE;EAC1B;;;;;;;;;;;;;;;ACHF,SAAgB,KAAK,MAAuC;CAC3D,MAAM,EAAE,sBAAU,8BAAc,cAAc;CAE9C,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,OAAQ,WAAW,IAAK,IAAI;AAElC,QAAO;EACN;EACA;EACA,cAAcC,WAAS,KAAK;EAC5B,kBAAkBA,WAAS,KAAK;EAChC,WAAWA,WAAS,EAAE;EACtB,UAAUA,WAAS,KAAK;EACxB,MAAMC,eAAa,EAAE;EACrB,QAAQA,eAAa,EAAE;EACvB,WAAWD,WAAS,EAAE;EACtB,WAAW,UAAU,MAAM,GAAG,EAAE;EAChC,QAAQ,UAAU,MAAM,GAAG,EAAE;EAC7B,YAAY,UAAU,MAAM,GAAG,EAAE;EACjC,aAAaA,WAAS,EAAE;EACxB;;;;;;;;;;;;;;;ACrBF,SAAgB,KAAK,MAA4C;AAChE,QAAO,EACN,SAAS,KAAK,SAAS,GAAG,EAC1B;;;;;;;;;;;;;;;ACHF,SAAgB,KAAK,MAAiD;CACrE,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;AAE7C,QAAO;EACN;EACA;EACA,kBAAkB,KAAK,SAAS,EAAE;EAClC,iBAAiB,KAAK,SAAS,EAAE;EACjC,kBAAkB,KAAK,SAAS,EAAE;EAClC,WAAW,KAAK,SAAS,YAAY,IAAI,IAAI,EAAE;EAC/C;;;;;;;;;;;;;;;ACTF,SAAgB,KAAK,MAA6C;CACjE,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,UAAU,KAAK,SAAS,EAAE;CAChC,MAAM,qBAAqB,KAAK,SAAS,EAAE;AAQ3C,QAAO;EACN;EACA;EACA;EACA;EACA,UAZgB,KAAK,YAAoB,2BAA2B,EACpE,UAAU,KAAK,SAAS,EAAE,EAC1B,EAAE;EAWF,iBAVuB,QAAQ,OAAS,KAAK,SAAS,GAAG,GAAG;EAW5D,mBAVyB,QAAQ,OAAS,KAAK,SAAS,EAAE,GAAG;EAW7D,iBAVuB,QAAQ,QAAS,KAAK,SAAS,GAAG,GAAG;EAW5D;;;;;;;;;;;;;;;ACpBF,SAAgB,KAAK,MAA0D;CAC9E,MAAM,EAAE,sBAAU,cAAc;CAChC,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAE7C,MAAM,WAAW,UAAU,MAAM,GAAG,GAAG;CAEvC,IAAIE,WAAmB;CACvB,IAAIC,MAAgB,EAAE;AAEtB,KAAI,UAAU,GAAG;AAChB,aAAWC,WAAS,EAAE;AACtB,QAAM,UAAU,MAAM,GAAG,SAAS;;CAGnC,MAAM,WAAWA,WAAS,EAAE;CAC5B,MAAM,OAAO,UAAU,MAAM,GAAG,SAAS;AAEzC,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;;;;;;;;;;AC1BF,SAAgB,KAAK,MAAsC;CAC1D,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;AAE7C,QAAO;EACN;EACA;EACA,YAAY,KAAK,SAAS,EAAE;EAC5B,eAAe,KAAK,SAAS,EAAE;EAC/B,WAAW,QAAQ,IAAW,KAAK,WAAW,GAAG,GAAG;EACpD;;;;;;;;;;;;;;;ACRF,SAAgB,KAAK,MAAgD;AACpE,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,uBAAuB,KAAK,UAAU,MAAM,GAAG,KAAK,eAAe;EACnE;;;;;;;;;;;;;;;ACJF,SAAgB,KAAK,MAAwC;CAC5D,MAAM,EAAE,yBAAa;CACrB,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAE7C,MAAM,OADK,YAAY,IACL,IAAI;CAEtB,MAAM,cAAcC,WAAS,EAAE;CAC/B,MAAM,YAAYA,WAAS,EAAE;CAC7B,MAAM,2BAA2BA,WAAS,KAAK;CAC/C,MAAM,cAAcA,WAAS,KAAK;CAClC,MAAM,WAAWA,WAAS,EAAE;CAC5B,MAAM,iBAAiBA,WAAS,EAAE;AAgBlC,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAvBkB,KAAK,YAAmC,sBAAsB;GAChF,MAAM,QAAQ,EAAE;AAEhB,SAAM,YAAYA,WAAS,EAAE;AAC7B,SAAM,qBAAqBA,WAAS,EAAE;AACtC,SAAM,MAAMA,WAAS,EAAE;AACvB,SAAM,gBAAiB,MAAM,aAAa,KAAM;AAChD,SAAM,iBAAiB,MAAM,YAAY;AACzC,SAAM,gBAAiB,MAAM,OAAO,KAAM;AAC1C,SAAM,UAAW,MAAM,OAAO,KAAM;AACpC,SAAM,eAAgB,MAAM,MAAM;AAElC,UAAO;IACN;EAWD;;;;;;;;;;;;;;;ACpCF,SAAgB,KAAK,MAA6C;AACjE,QAAO,KAAK,KAAK;;;;;;;;;;;;;;;ACFlB,SAAgB,KAAK,MAA4C;AAChE,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,SAAS,KAAK,SAAS,EAAE;EACzB,UAAU,KAAK,SAAS,EAAE;EAC1B;;;;;;;;;;;;;;;ACLF,SAAgB,KAAK,MAA2C;CAC/D,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,kBAAkB,KAAK,SAAS,EAAE;AAUxC,QAAO;EACN;EACA;EACA;EACA,aAbmB,KAAK,YAAY,uBAAuB;GAC3D,MAAM,cAAc,KAAK,SAAS,EAAE;AAKpC,UAAO;IAAE;IAAa,QAJP,KAAK,YAAY,oBAAoB;KACnD,OAAO,KAAK,SAAS,EAAE;KACvB,WAAW,KAAK,SAAS,EAAE;KAC3B,EAAE;IAC2B;IAC7B;EAOD;;;;;;;;;;;;;;;ACjBF,SAAgB,KAAK,MAA+C;AACnE,QAAO,KAAK,aAAa;;;;;;;;;;;;;;;ACA1B,SAAgB,KAAgD,MAAgD;CAC/G,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,aAAa,KAAK,SAAS,EAAE;AAEnC,QAAO;EACN;EACA;EACA;EACA,SAAS,KAAK,UAAa,WAAW;EACtC;;;;;;;;;;;;;;;ACTF,SAAgB,KAAK,MAAsC;CAC1D,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,aAAa,KAAK,SAAS,EAAE;AAEnC,QAAO;EACN;EACA;EACA;EACA,SAAS,KAAK,YAAwB,mBAAmB,EACxD,cAAc,KAAK,SAAS,EAAE,EAC9B,EAAE;EACH;;;;;;;;;;;;;;;ACZF,SAAgB,KAAK,MAA0C;AAC9D,QAAO,EACN,UAAU,KAAK,SAAS,GAAG,EAC3B;;;;;;;;;;;;;;;ACHF,SAAgB,KAAK,MAAgD;CACpE,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,aAAa,KAAK,SAAS,EAAE;AAMnC,QAAO;EACN;EACA;EACA;EACA,SATe,KAAK,YAAY,mBAAmB;GACnD,aAAa,KAAK,SAAS,EAAE;GAC7B,aAAa,KAAK,SAAS,EAAE;GAC7B,EAAE;EAOF;;;;;;;;;;;;;;;ACZF,SAAgB,KAAK,MAAuC;AAC3D,QAAO,KAAK,KAAK;;;;;;;;;;;;;;;ACFlB,SAAgB,KAAK,MAAgD;CACpE,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,aAAa,KAAK,SAAS,EAAE;AAkBnC,QAAO;EACN;EACA;EACA;EACA,SArBe,KAAK,YAAY,kBAAkB;GAClD,MAAM,cAAc,KAAK,SAAS,EAAE;GACpC,MAAM,iBAAiB,KAAK,SAAS,EAAE;AAQvC,UAAO;IACN;IACA;IACA,YAVkB,KAAK,YAAY,uBAAuB;KAC1D,eAAe,KAAK,SAAU,YAAY,IAAK,IAAI,EAAE;KACrD,mBAAmB,KAAK,SAAS,EAAE;KACnC,aAAa,KAAK,SAAS,EAAE;KAC7B,yBAAyB,KAAK,SAAS,EAAE;KACzC,EAAE;IAMF;IACA;EAOD;;;;;;;;;;;;;;;ACxBF,SAAgB,KAAK,MAA2C;AAC/D,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,oBAAoB,KAAK,SAAS,EAAE;EACpC,eAAe,KAAK,SAAS,EAAE;EAC/B,YAAY,KAAK,UAAU,MAAM,GAAG,GAAG;EACvC;;;;;;;;;;;;;;;ACPF,SAAgB,KAAK,MAA4D;CAChF,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;AAE7C,QAAO;EACN;EACA;EACA,qBAAqB,KAAK,SAAU,WAAW,IAAK,IAAI,EAAE;EAC1D;;;;;;;;;;;;;;;ACPF,SAAgB,KAAK,MAA+C;CACnE,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;AAE7C,QAAO;EACN;EACA;EACA,SAAS,KAAK,SAAS,EAAE;EACzB,gBAAgB,QAAQ,IAAO,KAAK,SAAS,EAAE,GAAG;EAClD,wBAAwB,QAAQ,IAAO,KAAK,SAAS,EAAE,GAAG;EAC1D,uBAAuB,QAAQ,IAAO,KAAK,SAAS,EAAE,GAAG;EACzD,mBAAmB,QAAQ,KAAO,KAAK,SAAS,EAAE,GAAG;EACrD,oBAAoB,QAAQ,KAAO,KAAK,SAAS,EAAE,GAAG;EACtD;;;;;;;;;;;;;;;ACXF,SAAgB,KAAK,MAAqD;CACzE,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,UAAU,KAAK,SAAS,EAAE;CAChC,MAAM,WAAW,KAAK,SAAS,EAAE;CAEjC,MAAM,uBAAuB,WAAW,OAAe;CACvD,MAAM,uBAAuB,WAAW,OAAe;CACvD,MAAM,wBAAyB,WAAW;CAE1C,MAAM,gBAAgB,KAAK,SAAS,EAAE;AAUtC,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAjBe,KAAK,YAA4C,sBAAsB;GACtF,MAAM,KAAK,SAAU,YAAY,IAAK,IAAI,EAAE;GAC5C,YAAY,KAAK,SAAU,YAAY,IAAK,IAAI,EAAE;GAClD,YAAY,KAAK,SAAS,sBAAsB,EAAE;GAClD,YAAY,KAAK,SAAS,sBAAsB,EAAE;GAClD,cAAc,KAAK,SAAS,wBAAwB,EAAE;GACtD,EAAE;EAYF;;;;;;;;;;;;;;;AC5BF,SAAgB,KAAK,MAAuC;CAC3D,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,OAAO,YAAY,IAAI,IAAI;AAEjC,QAAO;EACN;EACA;EACA,cAAc,KAAK,SAAS,KAAK;EACjC,kBAAkB,KAAK,SAAS,KAAK;EACrC,SAAS,KAAK,SAAS,EAAE;EACzB,WAAW,KAAK,SAAS,EAAE;EAC3B,UAAU,KAAK,SAAS,KAAK;EAC7B,WAAW,KAAK,UAAU,MAAM,GAAG,EAAE;EACrC,OAAO,KAAK,SAAS,EAAE;EACvB,gBAAgB,KAAK,SAAS,EAAE;EAChC,QAAQ,KAAK,aAAa,EAAE;EAC5B,WAAW,KAAK,SAAS,EAAE;EAC3B,QAAQ,KAAK,UAAU,UAAU,GAAG,EAAE;EACtC,OAAO,KAAK,aAAa,EAAE;EAC3B,QAAQ,KAAK,aAAa,EAAE;EAC5B;;;;;;;;;;;;;;;ACtBF,SAAgB,KAAK,MAAwC;AAC5D,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,SAAS,KAAK,SAAS,EAAE;EACzB,+BAA+B,KAAK,SAAS,EAAE;EAC/C,uBAAuB,KAAK,SAAS,EAAE;EACvC,mBAAmB,KAAK,SAAS,EAAE;EACnC,oBAAoB,KAAK,SAAS,EAAE;EACpC;;;;;;;;;;;;;;;ACPF,SAAgB,KAAK,MAAoC;CACxD,MAAM,EAAE,SAAS,UAAU,KAAK,aAAa;CAC7C,MAAM,cAAc,KAAK,SAAS,EAAE;CACpC,IAAIC;CACJ,IAAIC;AAEJ,KAAI,QAAQ,EACX,cAAa,KAAK,QAAQ,EAAE;AAG7B,KAAI,QAAQ,EACX,oBAAmB,KAAK,SAAS,EAAE;CAGpC,MAAM,UAAU,KAAK,YAA4B,mBAAmB;EACnE,MAAMC,SAAyB,EAAE;AAEjC,MAAI,QAAQ,IACX,QAAO,iBAAiB,KAAK,SAAS,EAAE;AAEzC,MAAI,QAAQ,IACX,QAAO,aAAa,KAAK,SAAS,EAAE;AAErC,MAAI,QAAQ,KACX,QAAO,cAAc,KAAK,SAAS,EAAE;AAEtC,MAAI,QAAQ,KACX,QAAO,8BAA+B,YAAY,IAAK,KAAK,QAAQ,EAAE,GAAG,KAAK,SAAS,EAAE;AAG1F,SAAO;GACN;AAEF,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;;;;;;;;;;;;;;;ACzCF,SAAgB,IAAI,MAA+B;AAClD,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,UAAU,KAAK,WAAW,GAAG;EAC7B;;;;;;;;;;;;;;;ACJF,SAAgB,IAAI,MAA+B;AAClD,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,MAAM,KAAK,WAAW,GAAG;EACzB,UAAU,KAAK,WAAW,GAAG;EAC7B;;;;;;;;;;;;;;;ACLF,SAAgB,KAAK,MAA6C;AACjE,QAAO,EACN,aAAa,KAAK,SAAS,GAAG,EAC9B;;;;;;;;;;;;;;;ACFF,SAAgB,KAAK,MAA4C;AAChE,QAAO;EACN,GAAG,KAAK,aAAa;EACrB,cAAc,KAAK,SAAS,EAAE;EAC9B,SAAS,KAAK,UAAU,MAAM,GAAG,EAAE;EACnC;;;;;;;;;;;;;;;ACNF,SAAgB,KAAK,MAA+C;AACnE,QAAO,EACN,QAAQ,KAAK,UAAU,EACvB;;;;;;;;;;;;;ACNF,SAAgB,OAAqC;AAEpD,QAAO,EAAE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@svta/cml-iso-bmff",
3
- "version": "0.20.0",
3
+ "version": "0.22.0",
4
4
  "description": "ISO Base Media File Format (ISOBMFF) parsing functionality",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -51,6 +51,6 @@
51
51
  }
52
52
  },
53
53
  "peerDependencies": {
54
- "@svta/cml-utils": "0.20.0"
54
+ "@svta/cml-utils": "*"
55
55
  }
56
56
  }