2023-03-01 18:42:44 +00:00

12 lines
34 KiB
Go

//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/
package mscfb ;import (_g "bytes";_gd "encoding/binary";_e "fmt";_d "github.com/richardlehane/msoleps/types";_bb "github.com/unidoc/unioffice/internal/mscfb/rw";_bf "io";_fa "os";_f "strconv";_a "time";_fe "unicode";_b "unicode/utf16";);func (_fgc *File )FileInfo ()_fa .FileInfo {return fileInfo {_fgc }};func (_ffgf *Reader )Created ()_a .Time {return _ffgf .File [0].Created ()};func (_gfd *Reader )setMiniStream ()error {if _gfd ._dda [0]._ea ==_dcfd ||_gfd ._bad ._aeca ==_dcfd ||_gfd ._bad ._fegf ==0{return nil ;};_edb :=int (_gfd ._bad ._fegf );_gfd ._bad ._egae =make ([]uint32 ,_edb );_gfd ._bad ._egae [0]=_gfd ._bad ._aeca ;for _fge :=1;_fge < _edb ;_fge ++{_acf ,_ggf :=_gfd .findNext (_gfd ._bad ._egae [_fge -1],false );if _ggf !=nil {return Error {ErrFormat ,"s\u0065\u0074\u0074\u0069ng\u0020m\u0069\u006e\u0069\u0020\u0073t\u0072\u0065\u0061\u006d\u0020\u0028"+_ggf .Error ()+"\u0029",int64 (_gfd ._bad ._egae [_fge -1])};};_gfd ._bad ._egae [_fge ]=_acf ;};_edb =int (_gfd ._cfc /4*_gfd ._bad ._fegf );_gfd ._bad ._gbg =make ([]uint32 ,0,_edb );_abff :=_gfd ._dda [0]._ea ;var _becc error ;for _abff !=_dcfd {_gfd ._bad ._gbg =append (_gfd ._bad ._gbg ,_abff );_abff ,_becc =_gfd .findNext (_abff ,false );if _becc !=nil {return Error {ErrFormat ,"s\u0065\u0074\u0074\u0069ng\u0020m\u0069\u006e\u0069\u0020\u0073t\u0072\u0065\u0061\u006d\u0020\u0028"+_becc .Error ()+"\u0029",int64 (_abff )};};};return nil ;};func (_bcf *File )stream (_fbe int )([][2]int64 ,error ){var _degc bool ;var _ggcg int ;var _cea int64 ;if _bcf .Size < _aga {_degc =true ;_ggcg =_fbe /int (_ddfc )+2;_cea =int64 (_ddfc );}else {_ggcg =_fbe /int (_bcf ._be ._cfc )+2;_cea =int64 (_bcf ._be ._cfc );};_bef :=make ([][2]int64 ,0,_ggcg );var _aff ,_ecc int ;if _bcf ._ggc > 0{_fga ,_eed :=_bcf ._be .getOffset (_bcf ._dcg ,_degc );if _eed !=nil {return nil ,_eed ;};if _cea -_bcf ._ggc >=int64 (_fbe ){_bef =append (_bef ,[2]int64 {_fga +_bcf ._ggc ,int64 (_fbe )});}else {_bef =append (_bef ,[2]int64 {_fga +_bcf ._ggc ,_cea -_bcf ._ggc });};if _cea -_bcf ._ggc <=int64 (_fbe ){_bcf ._dcg ,_eed =_bcf ._be .findNext (_bcf ._dcg ,_degc );if _eed !=nil {return nil ,_eed ;};_ecc +=int (_cea -_bcf ._ggc );_bcf ._ggc =0;}else {_bcf ._ggc +=int64 (_fbe );};if _bef [0][1]==int64 (_fbe ){return _bef ,nil ;};if _bcf ._dcg ==_dcfd {return nil ,Error {ErrRead ,"\u0075\u006ee\u0078\u0070\u0065\u0063\u0074\u0065\u0064\u0020\u0065\u0061\u0072\u006c\u0079\u0020\u0065\u006e\u0064\u0020\u006f\u0066\u0020\u0063ha\u0069\u006e",int64 (_bcf ._dcg )};};_aff ++;};for {if _aff >=cap (_bef ){return nil ,Error {ErrRead ,"\u0069\u006e\u0064\u0065x\u0020\u006f\u0076\u0065\u0072\u0072\u0075\u006e\u0073\u0020s\u0065c\u0074\u006f\u0072\u0020\u006c\u0065\u006eg\u0074\u0068",int64 (_aff )};};_dega ,_aeabg :=_bcf ._be .getOffset (_bcf ._dcg ,_degc );if _aeabg !=nil {return nil ,_aeabg ;};if _fbe -_ecc < int (_cea ){_bef =append (_bef ,[2]int64 {_dega ,int64 (_fbe -_ecc )});_bcf ._ggc =int64 (_fbe -_ecc );return _dgc (_bef ),nil ;}else {_bef =append (_bef ,[2]int64 {_dega ,_cea });_ecc +=int (_cea );_bcf ._dcg ,_aeabg =_bcf ._be .findNext (_bcf ._dcg ,_degc );if _aeabg !=nil {return nil ,_aeabg ;};if _ecc ==_fbe {return _dgc (_bef ),nil ;};};_aff ++;};};func (_ddc *File )Modified ()_a .Time {return _ddc ._afa .Time ()};type File struct{Name string ;Initial uint16 ;Path []string ;Size int64 ;_gec int64 ;_dcg uint32 ;_ggc int64 ;*directoryEntryFields ;_be *Reader ;};func (_afc fileInfo )Mode ()_fa .FileMode {return _afc .File .mode ()};func (_cad *File )Created ()_a .Time {return _cad ._de .Time ()};func (_fad *File )Write (b []byte )(int ,error ){if _fad .Size < 1||_fad ._gec >=_fad .Size {return 0,_bf .EOF ;};if _bdc :=_fad .ensureWriterAt ();_bdc !=nil {return 0,_bdc ;};_dab :=len (b );if int64 (_dab )> _fad .Size -_fad ._gec {_dab =int (_fad .Size -_fad ._gec );};_gc ,_aac :=_fad .stream (_dab );if _aac !=nil {return 0,_aac ;};var _eae ,_afd int ;for _ ,_aeab :=range _gc {_ddfg :=_eae +int (_aeab [1]);if _ddfg < _eae ||_ddfg > _dab {return 0,Error {ErrWrite ,"\u0062\u0061d\u0020\u0077\u0072i\u0074\u0065\u0020\u006c\u0065\u006e\u0067\u0074\u0068",int64 (_ddfg )};};_gdcd ,_deg :=_fad ._be ._geee .WriteAt (b [_eae :_ddfg ],_aeab [0]);_afd =_afd +_gdcd ;if _deg !=nil {_fad ._gec +=int64 (_afd );return _afd ,Error {ErrWrite ,"\u0075n\u0064\u0065\u0072\u006c\u0079\u0069\u006e\u0067\u0020\u0077\u0072i\u0074\u0065\u0072\u0020\u0066\u0061\u0069\u006c\u0020\u0028"+_deg .Error ()+"\u0029",int64 (_eae )};};_eae =_ddfg ;};_fad ._gec +=int64 (_afd );if _afd !=_dab {_aac =Error {ErrWrite ,"\u0062\u0079t\u0065\u0073\u0020\u0077\u0072\u0069\u0074\u0074\u0065\u006e\u0020\u0064\u006f\u0020\u006e\u006f\u0074\u0020\u006d\u0061\u0074\u0063\u0068\u0020\u0065\u0078\u0070\u0065\u0063\u0074\u0065\u0064\u0020\u0077\u0072\u0069\u0074\u0065\u0020\u0073\u0069\u007a\u0065",int64 (_afd )};}else if _afd < len (b ){_aac =_bf .EOF ;};return _afd ,_aac ;};func (_beaf *Reader )ID ()string {return _beaf .File [0].ID ()};func (_aed *File )ID ()string {return _aed ._ge .String ()};func (_cd *File )ReadAt (p []byte ,off int64 )(_cacc int ,_gbe error ){_gbc ,_egfa ,_gebe :=_cd ._gec ,_cd ._ggc ,_cd ._dcg ;_ ,_gbe =_cd .Seek (off ,0);if _gbe ==nil {_cacc ,_gbe =_cd .Read (p );};_cd ._gec ,_cd ._ggc ,_cd ._dcg =_gbc ,_egfa ,_gebe ;return _cacc ,_gbe ;};const (_ab uint8 =0x0;_ag uint8 =0x1;);type headerFields struct{_ceff uint64 ;_ [16]byte ;_abb uint16 ;_ebf uint16 ;_ [2]byte ;_bffe uint16 ;_ [2]byte ;_ [6]byte ;_gee uint32 ;_fdb uint32 ;_fggcd uint32 ;_ [4]byte ;_ [4]byte ;_aeca uint32 ;_fegf uint32 ;_fec uint32 ;_eca uint32 ;_bag [109]uint32 ;};func (_aea fileInfo )Size ()int64 {if _aea ._ad !=_dc {return 0;};return _aea .File .Size ;};func (_db *File )changeSize (_ed int64 )error {if _ed ==_db .Size {return nil ;};var _abeb *File ;for _ ,_gge :=range _db ._be ._dda {if _gge .Name ==_db .Name {_abeb =_gge ;break ;};};if _abeb ==nil {return _e .Errorf ("\u004e\u006f\u0020\u0064\u0069\u0072e\u0063\u0074\u006f\u0072\u0079\u0020\u0065\u006e\u0074\u0072\u0079\u0020\u0066o\u0072\u0020\u0061\u0020\u0066\u0069\u006ce\u003a\u0020\u0025\u0073",_db .Name );};_agd :=_g .NewBuffer ([]byte {});if _bgda :=_gd .Write (_agd ,_gd .LittleEndian ,_ed );_bgda !=nil {return _bgda ;};for _bfb ,_dgg :=range _agd .Bytes (){_abeb ._bca [_bfb ]=_dgg ;};var _gf int64 ;var _fee bool ;if _db .Size < _aga {_fee =true ;_gf =int64 (_ddfc );}else {_gf =int64 (_db ._be ._cfc );};_gfa :=int ((_db .Size -1)/_gf )+1;_ega :=int ((_ed -1)/_gf )+1;if _gfa < _ega {_cg ,_ddec :=_db .findLast (_fee );if _ddec !=nil {return _ddec ;};_ggce ,_ddec :=_db ._be .findNextFreeSector (_fee );if _ddec !=nil {return _ddec ;};for _ac :=_ega -_gfa ;_ac > 0;_ac --{if _gae :=_db ._be .saveToFatLocs (_cg ,_ggce ,_fee );_gae !=nil {return _gae ;};if _ac > 1{_cg =_ggce ;_ggce ++;}else if _fcd :=_db ._be .saveToFatLocs (_ggce ,_dcfd ,_fee );_fcd !=nil {return _fcd ;};};}else if _gfa > _ega {_fd :=_db ._ea ;var _cce error ;for _cf :=0;_cf < _ega -1;_cf ++{_fd ,_cce =_db ._be .findNext (_fd ,_fee );if _cce !=nil {return _cce ;};};if _gac :=_db ._be .saveToFatLocs (_fd ,_dcfd ,_fee );_gac !=nil {return _gac ;};};_db .Size =_ed ;return nil ;};func (_baa *Reader )exportDirEntries (_fbb *_bb .Writer )error {if int64 (_fbb .Len ())!=_afde (_baa ._cfc ,_baa ._bad ._fggcd ){return Error {ErrWrite ,_e .Sprintf ("I\u006e\u0063\u006f\u0072\u0072\u0065c\u0074\u0020\u0077\u0072\u0069\u0074\u0065\u0072\u0020l\u0065\u006e\u0067t\u0068:\u0020\u0025\u0076",_fbb .Len ()),0};};for _ ,_dfb :=range _baa ._dda {_afba ,_adeg :=_fggd (_dfb .directoryEntryFields );if _adeg !=nil {return _adeg ;};if _ ,_cbb :=_bf .Copy (_fbb ,_afba );_cbb !=nil {return _cbb ;};};return nil ;};func _gb (_fea *File ){if _fea ._gdc < 4||_fea ._gdc > 64{return ;};_bac :=int (_fea ._gdc /2-1);_fea .Initial =_fea ._dd [0];var _efcd int ;if !_fe .IsPrint (rune (_fea .Initial )){_efcd =1;};_fea .Name =string (_b .Decode (_fea ._dd [_efcd :_bac ]));};func _abg (_ee uint16 ,_ec *File ){_gb (_ec );if _ec ._ad !=_dc {return ;};if _ee > 3{_ec .Size =int64 (_gd .LittleEndian .Uint64 (_ec ._bca [:]));}else {_ec .Size =int64 (_gd .LittleEndian .Uint32 (_ec ._bca [:4]));};};func _ce (_dg []byte )*directoryEntryFields {_bbe :=&directoryEntryFields {};for _faa :=range _bbe ._dd {_bbe ._dd [_faa ]=_gd .LittleEndian .Uint16 (_dg [_faa *2:_faa *2+2]);};_bbe ._gdc =_gd .LittleEndian .Uint16 (_dg [64:66]);_bbe ._ad =uint8 (_dg [66]);_bbe ._ba =uint8 (_dg [67]);_bbe ._af =_gd .LittleEndian .Uint32 (_dg [68:72]);_bbe ._eg =_gd .LittleEndian .Uint32 (_dg [72:76]);_bbe ._da =_gd .LittleEndian .Uint32 (_dg [76:80]);_bbe ._ge =_d .MustGuid (_dg [80:96]);copy (_bbe ._cb [:],_dg [96:100]);_bbe ._de =_d .MustFileTime (_dg [100:108]);_bbe ._afa =_d .MustFileTime (_dg [108:116]);_bbe ._ea =_gd .LittleEndian .Uint32 (_dg [116:120]);copy (_bbe ._bca [:],_dg [120:128]);return _bbe ;};func _dgc (_afbg [][2]int64 )[][2]int64 {_bgdg :=len (_afbg );for _dbf ,_gea :=0,0;_dbf < _bgdg &&_gea +1< len (_afbg );_dbf ++{if _afbg [_gea ][0]+_afbg [_gea ][1]==_afbg [_gea +1][0]{_afbg [_gea ][1]=_afbg [_gea ][1]+_afbg [_gea +1][1];for _feb :=range _afbg [_gea +1:len (_afbg )-1]{_afbg [_gea +1+_feb ]=_afbg [_feb +_gea +2];};_afbg =_afbg [:len (_afbg )-1];}else {_gea +=1;};};return _afbg ;};func (_gg *Reader )setDirEntries ()error {_bfe :=20;if _gg ._bad ._gee > 0{_bfe =int (_gg ._bad ._gee );};_dde :=make ([]*File ,0,_bfe );_ef :=make (map[uint32 ]bool );_efc :=int (_gg ._cfc /_afaa );_feg :=_gg ._bad ._fggcd ;for _feg !=_dcfd {_df ,_ffg :=_gg .readAt (_afde (_gg ._cfc ,_feg ),int (_gg ._cfc ));if _ffg !=nil {return Error {ErrRead ,"\u0064\u0069\u0072\u0065\u0063\u0074\u006f\u0072\u0079\u0020e\u006e\u0074\u0072\u0069\u0065\u0073\u0020r\u0065\u0061\u0064\u0020\u0065\u0072\u0072\u006f\u0072\u0020\u0028"+_ffg .Error ()+"\u0029",_afde (_gg ._cfc ,_feg )};};for _cba :=0;_cba < _efc ;_cba ++{_bd :=&File {_be :_gg };_bd .directoryEntryFields =_ce (_df [_cba *int (_afaa ):]);_abg (_gg ._bad ._ebf ,_bd );_bd ._dcg =_bd ._ea ;_dde =append (_dde ,_bd );};_cac ,_ffg :=_gg .findNext (_feg ,false );if _ffg !=nil {return Error {ErrRead ,"d\u0069\u0072\u0065\u0063\u0074\u006f\u0072\u0079\u0020\u0065\u006e\u0074\u0072\u0069\u0065\u0073\u0020\u0065r\u0072\u006f\u0072\u0020\u0066\u0069\u006e\u0064\u0069\u006eg \u0073\u0065\u0063t\u006fr\u0020\u0028"+_ffg .Error ()+"\u0029",int64 (_cac )};};if _cac <=_feg {if _cac ==_feg ||_ef [_cac ]{return Error {ErrRead ,"\u0064\u0069\u0072\u0065\u0063\u0074\u006f\u0072\u0079\u0020e\u006e\u0074\u0072\u0069\u0065\u0073\u0020s\u0065\u0063\u0074\u006f\u0072\u0020\u0063\u0079\u0063\u006c\u0065",int64 (_cac )};};_ef [_cac ]=true ;};_feg =_cac ;};_gg ._dda =_dde ;return nil ;};func _feag (_gbea []byte )*headerFields {_cbgd :=&headerFields {};_cbgd ._ceff =_gd .LittleEndian .Uint64 (_gbea [:8]);_cbgd ._abb =_gd .LittleEndian .Uint16 (_gbea [24:26]);_cbgd ._ebf =_gd .LittleEndian .Uint16 (_gbea [26:28]);_cbgd ._bffe =_gd .LittleEndian .Uint16 (_gbea [30:32]);_cbgd ._gee =_gd .LittleEndian .Uint32 (_gbea [40:44]);_cbgd ._fdb =_gd .LittleEndian .Uint32 (_gbea [44:48]);_cbgd ._fggcd =_gd .LittleEndian .Uint32 (_gbea [48:52]);_cbgd ._aeca =_gd .LittleEndian .Uint32 (_gbea [60:64]);_cbgd ._fegf =_gd .LittleEndian .Uint32 (_gbea [64:68]);_cbgd ._fec =_gd .LittleEndian .Uint32 (_gbea [68:72]);_cbgd ._eca =_gd .LittleEndian .Uint32 (_gbea [72:76]);var _beb int ;for _bdfg :=76;_bdfg < 512;_bdfg =_bdfg +4{_cbgd ._bag [_beb ]=_gd .LittleEndian .Uint32 (_gbea [_bdfg :_bdfg +4]);_beb ++;};return _cbgd ;};type directoryEntryFields struct{_dd [32]uint16 ;_gdc uint16 ;_ad uint8 ;_ba uint8 ;_af uint32 ;_eg uint32 ;_da uint32 ;_ge _d .Guid ;_cb [4]byte ;_de _d .FileTime ;_afa _d .FileTime ;_ea uint32 ;_bca [8]byte ;};func (_fdf *Reader )findNextFreeSector (_gcc bool )(uint32 ,error ){_bed :=_fdf .findFatLocsOffset (_gcc );_gfc :=uint32 (0);_gcg :=_fdf ._cfc /4;for {_adcf ,_ecae :=_fdf .readAt (_bed ,4);if _ecae !=nil {return 0,Error {ErrRead ,"\u0062\u0061\u0064\u0020\u0072\u0065\u0061\u0064\u0020\u0066i\u006e\u0064\u0069\u006e\u0067\u0020\u006ee\u0078\u0074\u0020\u0073\u0065\u0063\u0074\u006f\u0072\u0020\u0028"+_ecae .Error ()+"\u0029",_bed };};_gba :=_gd .LittleEndian .Uint32 (_adcf );if _gba ==_ffc {break ;};if _gfc >=_gcg {return 0,Error {ErrRead ,"\u0065\u006e\u0064\u0020of\u0020\u006d\u0069\u006e\u0069\u0046\u0061\u0074\u0020\u0072\u0065\u0061\u0063\u0068e\u0064",_bed };};_gfc ++;_bed +=4;};return _gfc ,nil ;};func (_gdf *Reader )traverse ()error {_gdf .File =make ([]*File ,0,len (_gdf ._dda ));var (_cc func (int ,[]string );_bdf error ;_aa int ;);_cc =func (_fg int ,_bcae []string ){_aa ++;if _aa > len (_gdf ._dda ){_bdf =Error {ErrTraverse ,"\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c\u0020\u0063o\u0075\u006e\u0074\u0065\u0072\u0020\u006f\u0076\u0065\u0072f\u006c\u006f\u0077",int64 (_fg )};return ;};if _fg < 0||_fg >=len (_gdf ._dda ){_bdf =Error {ErrTraverse ,"\u0069\u006c\u006ceg\u0061\u006c\u0020\u0074\u0072\u0061\u0076\u0065\u0072\u0073\u0061\u006c\u0020\u0069\u006e\u0064\u0065\u0078",int64 (_fg )};return ;};_bg :=_gdf ._dda [_fg ];if _bg ._af !=_dfc {_cc (int (_bg ._af ),_bcae );};_gdf .File =append (_gdf .File ,_bg );_bg .Path =_bcae ;if _bg ._da !=_dfc {if _fg > 0{_cc (int (_bg ._da ),append (_bcae ,_bg .Name ));}else {_cc (int (_bg ._da ),_bcae );};};if _bg ._eg !=_dfc {_cc (int (_bg ._eg ),_bcae );};return ;};_cc (0,[]string {});return _bdf ;};func (_ddb fileInfo )ModTime ()_a .Time {return _ddb .Modified ()};func (_abge Error )Error ()string {return "\u006ds\u0063\u0066\u0062\u003a\u0020"+_abge ._cgc +"\u003b\u0020"+_f .FormatInt (_abge ._geae ,10);};func (_ggea *Reader )Read (b []byte )(_cccg int ,_cfe error ){if _ggea ._aab >=len (_ggea .File ){return 0,_bf .EOF ;};return _ggea .File [_ggea ._aab ].Read (b );};type header struct{*headerFields ;_fcc []uint32 ;_egae []uint32 ;_gbg []uint32 ;};const (ErrFormat =iota ;ErrRead ;ErrSeek ;ErrWrite ;ErrTraverse ;);const _bbbe int =8+16+10+6+12+8+16+109*4;func (_dae *File )SetEntryContent (b []byte )error {if _aacf :=_dae .ensureWriterAt ();_aacf !=nil {return _aacf ;};_dae .reset ();if _dad :=_dae .changeSize (int64 (len (b )));_dad !=nil {return _dad ;};_ ,_gcb :=_dae .Write (b );return _gcb ;};func (_eeg *Reader )Next ()(*File ,error ){_eeg ._aab ++;if _eeg ._aab >=len (_eeg .File ){return nil ,_bf .EOF ;};return _eeg .File [_eeg ._aab ],nil ;};const _ca int =64+4*4+16+4+8*2+4+8;func (_egdc *Reader )findNext (_ebg uint32 ,_afce bool )(uint32 ,error ){_dac :=_egdc ._cfc /4;_aaa :=int (_ebg /_dac );var _cbbc uint32 ;if _afce {if _aaa < 0||_aaa >=len (_egdc ._bad ._egae ){return 0,Error {ErrRead ,"\u006d\u0069\u006e\u0069\u0073e\u0063\u0074\u006f\u0072\u0020\u0069\u006e\u0064\u0065\u0078\u0020\u0069\u0073 \u006f\u0075\u0074\u0073\u0069\u0064\u0065\u0020\u006d\u0069\u006e\u0069\u0046\u0041\u0054\u0020\u0072\u0061\u006e\u0067\u0065",int64 (_aaa )};};_cbbc =_egdc ._bad ._egae [_aaa ];}else {if _aaa < 0||_aaa >=len (_egdc ._bad ._fcc ){return 0,Error {ErrRead ,"\u0046\u0041\u0054\u0020\u0069\u006e\u0064\u0065\u0078\u0020\u0069\u0073\u0020\u006f\u0075t\u0073i\u0064\u0065\u0020\u0044\u0049\u0046\u0041\u0054\u0020\u0072\u0061\u006e\u0067\u0065",int64 (_aaa )};};_cbbc =_egdc ._bad ._fcc [_aaa ];};_cda :=_ebg %_dac ;_eee :=_afde (_egdc ._cfc ,_cbbc )+int64 (_cda *4);_bgc ,_geag :=_egdc .readAt (_eee ,4);if _geag !=nil {return 0,Error {ErrRead ,"\u0062\u0061\u0064\u0020\u0072\u0065\u0061\u0064\u0020\u0066i\u006e\u0064\u0069\u006e\u0067\u0020\u006ee\u0078\u0074\u0020\u0073\u0065\u0063\u0074\u006f\u0072\u0020\u0028"+_geag .Error ()+"\u0029",_eee };};_fdg :=_gd .LittleEndian .Uint32 (_bgc );return _fdg ,nil ;};func (_deb *Reader )GetHeader ()*header {return _deb ._bad };const (_agc uint64 =0xE11AB1A1E011CFD0;_ddfc uint32 =64;_aga int64 =4096;_afaa uint32 =128;);type slicer interface{Slice (_cbbce int64 ,_dfaa int )([]byte ,error );};func (_dga *File )Read (b []byte )(int ,error ){if _dga .Size < 1||_dga ._gec >=_dga .Size {return 0,_bf .EOF ;};_ddf :=len (b );if int64 (_ddf )> _dga .Size -_dga ._gec {_ddf =int (_dga .Size -_dga ._gec );};_cbg ,_bgd :=_dga .stream (_ddf );if _bgd !=nil {return 0,_bgd ;};var _fgg ,_efb int ;for _ ,_bab :=range _cbg {_egg :=_fgg +int (_bab [1]);if _egg < _fgg ||_egg > _ddf {return 0,Error {ErrRead ,"\u0062a\u0064 \u0072\u0065\u0061\u0064\u0020\u006c\u0065\u006e\u0067\u0074\u0068",int64 (_egg )};};_fggc ,_fca :=_dga ._be ._fac .ReadAt (b [_fgg :_egg ],_bab [0]);_efb =_efb +_fggc ;if _fca !=nil {_dga ._gec +=int64 (_efb );return _efb ,Error {ErrRead ,"\u0075n\u0064\u0065\u0072\u006c\u0079\u0069\u006e\u0067\u0020\u0072\u0065a\u0064\u0065\u0072\u0020\u0066\u0061\u0069\u006c\u0020\u0028"+_fca .Error ()+"\u0029",int64 (_fgg )};};_fgg =_egg ;};_dga ._gec +=int64 (_efb );if _efb !=_ddf {_bgd =Error {ErrRead ,"\u0062\u0079\u0074e\u0073\u0020\u0072\u0065\u0061\u0064\u0020\u0064\u006f\u0020\u006e\u006f\u0074\u0020\u006d\u0061\u0074\u0063\u0068\u0020\u0065\u0078\u0070\u0065\u0063\u0074\u0065\u0064\u0020r\u0065\u0061\u0064\u0020\u0073\u0069\u007a\u0065",int64 (_efb )};}else if _efb < len (b ){_bgd =_bf .EOF ;};return _efb ,_bgd ;};func (_fc *File )mode ()_fa .FileMode {if _fc ._ad !=_dc {return _fa .ModeDir |0777;};return 0666;};func (_dcf *File )seek (_faf int64 )error {var _aedg bool ;var _afb int64 ;if _dcf .Size < _aga {_aedg =true ;_afb =64;}else {_afb =int64 (_dcf ._be ._cfc );};var _cdd int64 ;var _gfb error ;if _dcf ._ggc > 0{if _afb -_dcf ._ggc <=_faf {_dcf ._dcg ,_gfb =_dcf ._be .findNext (_dcf ._dcg ,_aedg );if _gfb !=nil {return _gfb ;};_cdd +=_afb -_dcf ._ggc ;_dcf ._ggc =0;if _cdd ==_faf {return nil ;};}else {_dcf ._ggc +=_faf ;return nil ;};if _dcf ._dcg ==_dcfd {return Error {ErrRead ,"\u0075\u006ee\u0078\u0070\u0065\u0063\u0074\u0065\u0064\u0020\u0065\u0061\u0072\u006c\u0079\u0020\u0065\u006e\u0064\u0020\u006f\u0066\u0020\u0063ha\u0069\u006e",int64 (_dcf ._dcg )};};};for {if _faf -_cdd < _afb {_dcf ._ggc =_faf -_cdd ;return nil ;}else {_cdd +=_afb ;_dcf ._dcg ,_gfb =_dcf ._be .findNext (_dcf ._dcg ,_aedg );if _gfb !=nil {return _gfb ;};if _cdd ==_faf {return nil ;};};};};func (_dabc *Reader )setDifats ()error {_dabc ._bad ._fcc =_dabc ._bad ._bag [:];if _dabc ._bad ._eca ==0{return nil ;};_gda :=(_dabc ._cfc /4)-1;_gdb :=make ([]uint32 ,109,_dabc ._bad ._eca *_gda +109);copy (_gdb ,_dabc ._bad ._fcc );_dabc ._bad ._fcc =_gdb ;_gace :=_dabc ._bad ._fec ;for _gca :=0;_gca < int (_dabc ._bad ._eca );_gca ++{_agbf ,_dgae :=_dabc .readAt (_afde (_dabc ._cfc ,_gace ),int (_dabc ._cfc ));if _dgae !=nil {return Error {ErrFormat ,"e\u0072r\u006f\u0072\u0020\u0073\u0065\u0074\u0074\u0069n\u0067\u0020\u0044\u0049FA\u0054\u0028"+_dgae .Error ()+"\u0029",int64 (_gace )};};for _ead :=0;_ead < int (_gda );_ead ++{_dabc ._bad ._fcc =append (_dabc ._bad ._fcc ,_gd .LittleEndian .Uint32 (_agbf [_ead *4:_ead *4+4]));};_gace =_gd .LittleEndian .Uint32 (_agbf [len (_agbf )-4:]);};return nil ;};type Error struct{_fggb int ;_cgc string ;_geae int64 ;};type Reader struct{_bdd bool ;_cfc uint32 ;_aeaf []byte ;_bad *header ;File []*File ;_dda []*File ;_aab int ;_fac _bf .ReaderAt ;_geee _bf .WriterAt ;};func (_aef *Reader )exportHeader (_cbbb *_bb .Writer )error {if _cgag :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._ceff );_cgag !=nil {return _cgag ;};if _fccb :=_cbbb .Skip (16);_fccb !=nil {return _fccb ;};if _fbba :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._abb );_fbba !=nil {return _fbba ;};if _abebd :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._ebf );_abebd !=nil {return _abebd ;};if _eaa :=_gd .Write (_cbbb ,_gd .LittleEndian ,uint16 (0xfffe));_eaa !=nil {return _eaa ;};if _eba :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._bffe );_eba !=nil {return _eba ;};if _ece :=_gd .Write (_cbbb ,_gd .LittleEndian ,uint16 (0x0006));_ece !=nil {return _ece ;};if _accb :=_cbbb .Skip (6);_accb !=nil {return _accb ;};if _fbaf :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._gee );_fbaf !=nil {return _fbaf ;};if _beg :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._fdb );_beg !=nil {return _beg ;};if _ddbg :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._fggcd );_ddbg !=nil {return _ddbg ;};if _bfee :=_cbbb .Skip (4);_bfee !=nil {return _bfee ;};if _debd :=_gd .Write (_cbbb ,_gd .LittleEndian ,uint32 (0x00001000));_debd !=nil {return _debd ;};if _abgb :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._aeca );_abgb !=nil {return _abgb ;};if _eeeb :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._fegf );_eeeb !=nil {return _eeeb ;};if _dggf :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._fec );_dggf !=nil {return _dggf ;};if _babf :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._eca );_babf !=nil {return _babf ;};for _cdg :=0;_cdg < 109;_cdg ++{if _bdg :=_gd .Write (_cbbb ,_gd .LittleEndian ,&_aef ._bad ._bag [_cdg ]);_bdg !=nil {return _bdg ;};};return nil ;};func (_gecb *Reader )setHeader ()error {_ddfb ,_cga :=_gecb .readAt (0,_bbbe );if _cga !=nil {return _cga ;};_gecb ._bad =&header {headerFields :_feag (_ddfb )};if _gecb ._bad ._ceff !=_agc {return Error {ErrFormat ,"\u0062\u0061\u0064\u0020\u0073\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065",int64 (_gecb ._bad ._ceff )};};if _gecb ._bad ._bffe ==0x0009||_gecb ._bad ._bffe ==0x000c{_gecb ._cfc =uint32 (1<<_gecb ._bad ._bffe );}else {return Error {ErrFormat ,"\u0069\u006c\u006c\u0065ga\u006c\u0020\u0073\u0065\u0063\u0074\u006f\u0072\u0020\u0073\u0069\u007a\u0065",int64 (_gecb ._bad ._bffe )};};if _gecb ._bad ._eca > 0{_aaf :=(_gecb ._cfc /4)-1;if int (_gecb ._bad ._eca *_aaf +109)< 0{return Error {ErrFormat ,"\u0044I\u0046A\u0054\u0020\u0069\u006e\u0074 \u006f\u0076e\u0072\u0066\u006c\u006f\u0077",int64 (_gecb ._bad ._eca )};};if _gecb ._bad ._eca *_aaf +109> _gecb ._bad ._fdb +_aaf {return Error {ErrFormat ,"\u006e\u0075\u006d\u0020\u0044\u0049\u0046\u0041\u0054\u0073 \u0065\u0078\u0063\u0065\u0065\u0064\u0073 \u0046\u0041\u0054\u0020\u0073\u0065\u0063\u0074\u006f\u0072\u0073",int64 (_gecb ._bad ._eca )};};};if _gecb ._bad ._fegf > 0{if int (_gecb ._cfc /4*_gecb ._bad ._fegf )< 0{return Error {ErrFormat ,"m\u0069\u006e\u0069\u0020FA\u0054 \u0069\u006e\u0074\u0020\u006fv\u0065\u0072\u0066\u006c\u006f\u0077",int64 (_gecb ._bad ._fegf )};};if _gecb ._bad ._fegf > _gecb ._bad ._fdb *(_gecb ._cfc /_ddfc ){return Error {ErrFormat ,"\u006e\u0075\u006d\u0020\u006d\u0069n\u0069\u0020\u0046\u0041\u0054\u0073\u0020\u0065\u0078\u0063\u0065\u0065\u0064s\u0020\u0046\u0041\u0054\u0020\u0073\u0065c\u0074\u006f\u0072\u0073",int64 (_gecb ._bad ._fdb )};};};return nil ;};func (_ffgd *File )ensureWriterAt ()error {if _ffgd ._be ._geee ==nil {_geb ,_aecc :=_ffgd ._be ._fac .(_bf .WriterAt );if !_aecc {return Error {ErrWrite ,"\u006d\u0073\u0063\u0066\u0062\u002e\u004ee\u0077\u0020\u006d\u0075\u0073\u0074\u0020\u0062\u0065\u0020\u0067\u0069\u0076\u0065n\u0020R\u0065\u0061\u0064\u0065\u0072\u0041t\u0020\u0063\u006f\u006e\u0076\u0065\u0072t\u0069\u0062\u006c\u0065\u0020\u0074\u006f\u0020\u0061\u0020\u0069\u006f\u002e\u0057\u0072\u0069\u0074\u0065\u0072\u0041\u0074\u0020\u0069n\u0020\u006f\u0072\u0064\u0065\u0072\u0020\u0074\u006f\u0020\u0077\u0072\u0069t\u0065",0};};_ffgd ._be ._geee =_geb ;};return nil ;};func (_bgf Error )Typ ()int {return _bgf ._fggb };func (_cab fileInfo )IsDir ()bool {return _cab .mode ().IsDir ()};func (_gecbe *Reader )exportFAT (_geeg *_bb .Writer ,_bbd []uint32 )error {if _gecbe ._bad ._fdb ==0{return nil ;};_aeae :=_g .NewBuffer ([]byte {});if _ceaf :=_gd .Write (_aeae ,_gd .LittleEndian ,_ecg );_ceaf !=nil {return _ceaf ;};for _abc :=0;_abc < len (_bbd )-1;_abc ++{for _ddcc :=_bbd [_abc ];_ddcc < _bbd [_abc +1]-1;_ddcc ++{if _dcd :=_gd .Write (_aeae ,_gd .LittleEndian ,_ddcc );_dcd !=nil {return _dcd ;};};if _gcfc :=_gd .Write (_aeae ,_gd .LittleEndian ,_dcfd );_gcfc !=nil {return _gcfc ;};};_feae :=512;for _ ,_gbd :=range _aeae .Bytes (){if _eea :=_geeg .WriteByteAt (_gbd ,_feae );_eea !=nil {return _eea ;};_feae ++;};return nil ;};func (_ecf *File )findLast (_afe bool )(uint32 ,error ){_egf :=_ecf ._ea ;for {_fab ,_bff :=_ecf ._be .findNext (_egf ,_afe );if _bff !=nil {return 0,Error {ErrRead ,"\u0062\u0061\u0064\u0020\u0072\u0065\u0061\u0064\u0020\u0066i\u006e\u0064\u0069\u006e\u0067\u0020\u006ee\u0078\u0074\u0020\u0073\u0065\u0063\u0074\u006f\u0072\u0020\u0028"+_bff .Error ()+"\u0029",0};};if _fab ==_dcfd {break ;};_egf =_fab ;};return _egf ,nil ;};const (_dgf uint32 =0xFFFFFFFA;_bbb uint32 =0xFFFFFFFC;_ecg uint32 =0xFFFFFFFD;_dcfd uint32 =0xFFFFFFFE;_ffc uint32 =0xFFFFFFFF;_cgg byte =0xFF;_affd uint32 =0xFFFFFFFA;_dfc uint32 =0xFFFFFFFF;);func (_eeb *Reader )Export ()([]byte ,error ){_aaaa :=_bb .NewWriter ();if _gfgb :=_eeb .exportHeader (_aaaa );_gfgb !=nil {return nil ,_gfgb ;};if _bdb :=_aaaa .FillWithByte (512,_cgg );_bdb !=nil {return nil ,_bdb ;};_dff :=[]uint32 {};if _aafd :=_eeb .exportDifats (_aaaa );_aafd !=nil {return nil ,_aafd ;};_cec ,_edbf ,_dcfb :=_eeb .exportMiniStream ();if _dcfb !=nil {return nil ,_dcfb ;};_dff =append (_dff ,uint32 (_aaaa .Len ())/_eeb ._cfc );if _fcf :=_eeb .exportDirEntries (_aaaa );_fcf !=nil {return nil ,_fcf ;};_dff =append (_dff ,uint32 (_aaaa .Len ())/_eeb ._cfc );if _ ,_cbac :=_cec .WriteTo (_aaaa );_cbac !=nil {return nil ,_cbac ;};_dff =append (_dff ,uint32 (_aaaa .Len ())/_eeb ._cfc );if _ ,_bde :=_edbf .WriteTo (_aaaa );_bde !=nil {return nil ,_bde ;};_dff =append (_dff ,uint32 (_aaaa .Len ())/_eeb ._cfc );if _dbd :=_eeb .exportFAT (_aaaa ,_dff );_dbd !=nil {return nil ,_dbd ;};return _aaaa .Bytes (),nil ;};type fileInfo struct{*File };func (_dee *Reader )Modified ()_a .Time {return _dee .File [0].Modified ()};func (_fefd *Reader )GetEntry (entryName string )(*File ,error ){for _gfbe ,_deba :=_fefd .Next ();_deba ==nil ;_gfbe ,_deba =_fefd .Next (){if _gfbe .Name ==entryName {return _gfbe ,nil ;};};return nil ,Error {ErrTraverse ,"\u004e\u006f\u0020\u0065\u006e\u0074\u0072\u0079\u0020\u0066o\u0075\u006e\u0064\u0020\u0066\u006f\u0072 \u0067\u0069\u0076\u0065\u006e\u0020\u006e\u0061\u006d\u0065\u002e",0};};func (_dfa *File )WriteAt (p []byte ,off int64 )(_acc int ,_bfd error ){_fcg ,_cef ,_cdb :=_dfa ._gec ,_dfa ._ggc ,_dfa ._dcg ;_ ,_bfd =_dfa .Seek (off ,0);if _bfd ==nil {_acc ,_bfd =_dfa .Write (p );};_dfa ._gec ,_dfa ._ggc ,_dfa ._dcg =_fcg ,_cef ,_cdb ;return _acc ,_bfd ;};func _fggd (_eb *directoryEntryFields )(*_g .Buffer ,error ){_cdba :=_g .NewBuffer ([]byte {});for _ ,_cgf :=range _eb ._dd {if _gdfc :=_gd .Write (_cdba ,_gd .LittleEndian ,&_cgf );_gdfc !=nil {return nil ,_gdfc ;};};if _bec :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._gdc );_bec !=nil {return nil ,_bec ;};if _fdc :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._ad );_fdc !=nil {return nil ,_fdc ;};if _ccc :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._ba );_ccc !=nil {return nil ,_ccc ;};if _ace :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._af );_ace !=nil {return nil ,_ace ;};if _gfg :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._eg );_gfg !=nil {return nil ,_gfg ;};if _befe :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._da );_befe !=nil {return nil ,_befe ;};if _bdfe :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._ge .DataA );_bdfe !=nil {return nil ,_bdfe ;};if _bae :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._ge .DataB );_bae !=nil {return nil ,_bae ;};if _bbc :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._ge .DataC );_bbc !=nil {return nil ,_bbc ;};if _ ,_dfag :=_cdba .Write (_eb ._ge .DataD [:]);_dfag !=nil {return nil ,_dfag ;};if _ ,_eag :=_cdba .Write (_eb ._cb [:]);_eag !=nil {return nil ,_eag ;};if _ffe :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._de .Low );_ffe !=nil {return nil ,_ffe ;};if _adc :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._de .High );_adc !=nil {return nil ,_adc ;};if _dea :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._afa .Low );_dea !=nil {return nil ,_dea ;};if _gcf :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._afa .High );_gcf !=nil {return nil ,_gcf ;};if _dbg :=_gd .Write (_cdba ,_gd .LittleEndian ,&_eb ._ea );_dbg !=nil {return nil ,_dbg ;};if _ ,_ffd :=_cdba .Write (_eb ._bca [:]);_ffd !=nil {return nil ,_ffd ;};return _cdba ,nil ;};func (_fae *Reader )exportDifats (_bedf *_bb .Writer )error {if _fae ._bad ._eca ==0{return nil ;};return nil ;};func (_fag *Reader )exportMiniStream ()(*_bb .Writer ,*_bb .Writer ,error ){_bfa ,_afaad :=_bb .NewWriter (),_bb .NewWriter ();_ffde :=uint32 (0);for _ ,_efg :=range _fag .File {if _efg .Size ==0{continue ;};_efg .reset ();_efg ._ea =_ffde ;_dggb :=int (_efg .Size )/int (_ddfc );if int (_efg .Size )%int (_ddfc )!=0{_dggb ++;};for _fbf :=1;_fbf < _dggb ;_fbf ++{_ffde ++;if _agac :=_gd .Write (_bfa ,_gd .LittleEndian ,_ffde );_agac !=nil {return nil ,nil ,_agac ;};};if _gad :=_gd .Write (_bfa ,_gd .LittleEndian ,_dcfd );_gad !=nil {return nil ,nil ,_gad ;};_ffde ++;if _ ,_acg :=_bf .Copy (_afaad ,_efg );_acg !=nil {return nil ,nil ,_acg ;};if _efd :=_afaad .AlignLength (64);_efd !=nil {return nil ,nil ,_efd ;};};if _gcbd :=_bfa .FillWithByte (int (_fag ._cfc )-_bfa .Len (),_cgg );_gcbd !=nil {return nil ,nil ,_gcbd ;};if _bfea :=_afaad .AlignLength (int (_fag ._cfc ));_bfea !=nil {return nil ,nil ,_bfea ;};return _bfa ,_afaad ,nil ;};func _afde (_beca ,_cbc uint32 )int64 {return int64 ((_cbc +1)*_beca )};func (_abe fileInfo )Name ()string {return _abe .File .Name };func (_cfa *Reader )getOffset (_gfbf uint32 ,_afdg bool )(int64 ,error ){if _afdg {_fgb :=_cfa ._cfc /64;_dag :=int (_gfbf /_fgb );if _dag >=len (_cfa ._bad ._gbg ){return 0,Error {ErrRead ,"\u006di\u006e\u0069s\u0065\u0063\u0074o\u0072\u0020\u006e\u0075\u006d\u0062\u0065r\u0020\u0069\u0073\u0020\u006f\u0075t\u0073\u0069\u0064\u0065\u0020\u006d\u0069\u006e\u0069\u0073\u0065c\u0074\u006f\u0072\u0020\u0072\u0061\u006e\u0067\u0065",int64 (_dag )};};_adf :=_gfbf %_fgb ;return int64 ((_cfa ._bad ._gbg [_dag ]+1)*_cfa ._cfc +_adf *64),nil ;};return _afde (_cfa ._cfc ,_gfbf ),nil ;};func (_befg *Reader )readAt (_bea int64 ,_egd int )([]byte ,error ){if _befg ._bdd {_fbc ,_fecg :=_befg ._fac .(slicer ).Slice (_bea ,_egd );if _fecg !=nil {return nil ,Error {ErrRead ,"\u0073\u006c\u0069\u0063er\u0020\u0072\u0065\u0061\u0064\u0020\u0065\u0072\u0072\u006f\u0072\u0020\u0028"+_fecg .Error ()+"\u0029",_bea };};return _fbc ,nil ;};if _egd > len (_befg ._aeaf ){return nil ,Error {ErrRead ,"\u0072\u0065ad\u0020\u006c\u0065n\u0067\u0074\u0068\u0020gre\u0061te\u0072\u0020\u0074\u0068\u0061\u006e\u0020re\u0061\u0064\u0020\u0062\u0075\u0066\u0066e\u0072",int64 (_egd )};};if _ ,_cfd :=_befg ._fac .ReadAt (_befg ._aeaf [:_egd ],_bea );_cfd !=nil {return nil ,Error {ErrRead ,_cfd .Error (),_bea };};return _befg ._aeaf [:_egd ],nil ;};const (_bc uint8 =0x0;_ae uint8 =0x1;_dc uint8 =0x2;_ff uint8 =0x5;);func New (ra _bf .ReaderAt )(*Reader ,error ){_degf :=&Reader {_fac :ra };if _ ,_ede :=ra .(slicer );_ede {_degf ._bdd =true ;}else {_degf ._aeaf =make ([]byte ,_bbbe );};if _ecdf :=_degf .setHeader ();_ecdf !=nil {return nil ,_ecdf ;};if !_degf ._bdd &&int (_degf ._cfc )> len (_degf ._aeaf ){_degf ._aeaf =make ([]byte ,_degf ._cfc );};if _bbf :=_degf .setDifats ();_bbf !=nil {return nil ,_bbf ;};if _fadc :=_degf .setDirEntries ();_fadc !=nil {return nil ,_fadc ;};if _gde :=_degf .setMiniStream ();_gde !=nil {return nil ,_gde ;};if _gdbb :=_degf .traverse ();_gdbb !=nil {return nil ,_gdbb ;};return _degf ,nil ;};func (_ga fileInfo )Sys ()interface{}{return nil };func (_cff *Reader )Debug ()map[string ][]uint32 {_ccf :=map[string ][]uint32 {"s\u0065\u0063\u0074\u006f\u0072\u0020\u0073\u0069\u007a\u0065":[]uint32 {_cff ._cfc },"\u006d\u0069\u006e\u0069\u0020\u0066\u0061\u0074\u0020\u006c\u006f\u0063\u0073":_cff ._bad ._egae ,"\u006d\u0069n\u0069\u0020\u0073t\u0072\u0065\u0061\u006d\u0020\u006c\u006f\u0063\u0073":_cff ._bad ._gbg ,"\u0064\u0069r\u0065\u0063\u0074o\u0072\u0079\u0020\u0073\u0065\u0063\u0074\u006f\u0072":[]uint32 {_cff ._bad ._fggcd },"\u006d\u0069\u006e\u0069 s\u0074\u0072\u0065\u0061\u006d\u0020\u0073\u0074\u0061\u0072\u0074\u002f\u0073\u0069z\u0065":[]uint32 {_cff .File [0]._ea ,_gd .LittleEndian .Uint32 (_cff .File [0]._bca [:])}};for _bedg ,_gaf :=_cff .Next ();_gaf ==nil ;_bedg ,_gaf =_cff .Next (){_ccf [_bedg .Name +" \u0073\u0074\u0061\u0072\u0074\u002f\u0073\u0069\u007a\u0065"]=[]uint32 {_bedg ._ea ,_gd .LittleEndian .Uint32 (_bedg ._bca [:])};};return _ccf ;};func (_ecd *File )reset (){_ecd ._gec =0;_ecd ._ggc =0;_ecd ._dcg =_ecd ._ea };func (_agb *File )Seek (offset int64 ,whence int )(int64 ,error ){var _ffb int64 ;switch whence {default:return 0,Error {ErrSeek ,"\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0077h\u0065\u006e\u0063\u0065",int64 (whence )};case 0:_ffb =offset ;case 1:_ffb =_agb ._gec +offset ;case 2:_ffb =_agb .Size -offset ;};switch {case _ffb < 0:return _agb ._gec ,Error {ErrSeek ,"\u0063\u0061\u006e'\u0074\u0020\u0073\u0065e\u006b\u0020\u0062\u0065\u0066\u006f\u0072e\u0020\u0073\u0074\u0061\u0072\u0074\u0020\u006f\u0066\u0020\u0046\u0069\u006c\u0065",_ffb };case _ffb >=_agb .Size :return _agb ._gec ,Error {ErrSeek ,"c\u0061\u006e\u0027\u0074\u0020\u0073e\u0065\u006b\u0020\u0070\u0061\u0073\u0074\u0020\u0046i\u006c\u0065\u0020l\u0065n\u0067\u0074\u0068",_ffb };case _ffb ==_agb ._gec :return _ffb ,nil ;case _ffb > _agb ._gec :_bee :=_agb ._gec ;_agb ._gec =_ffb ;return _agb ._gec ,_agb .seek (_ffb -_bee );};if _agb ._ggc >=_agb ._gec -_ffb {_agb ._ggc =_agb ._ggc -(_agb ._gec -_ffb );_agb ._gec =_ffb ;return _agb ._gec ,nil ;};_agb ._ggc =0;_agb ._dcg =_agb ._ea ;_agb ._gec =_ffb ;return _agb ._gec ,_agb .seek (_ffb );};func (_daf *Reader )saveToFatLocs (_aaab uint32 ,_bace interface{},_cfg bool )error {_beda :=_g .NewBuffer ([]byte {});if _gbac :=_gd .Write (_beda ,_gd .LittleEndian ,_bace );_gbac !=nil {return _gbac ;};_eedc :=_daf .findFatLocsOffset (_cfg )+int64 (_aaab *4);_ ,_daa :=_daf ._geee .WriteAt (_beda .Bytes (),_eedc );return _daa ;};func (_gaef *Reader )findFatLocsOffset (_fff bool )int64 {var _egfb uint32 ;if _fff {_egfb =_gaef ._bad ._egae [0];}else {_egfb =_gaef ._bad ._fcc [0];};return _afde (_gaef ._cfc ,_egfb );};