12 lines
34 KiB
Go
Raw Normal View History

2022-01-15 21:17:38 +00:00
//
// 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/
2023-04-15 17:27:31 +00:00
package mscfb ;import (_cb "bytes";_db "encoding/binary";_gb "fmt";_f "github.com/richardlehane/msoleps/types";_bc "github.com/unidoc/unioffice/internal/mscfb/rw";_d "io";_a "os";_b "strconv";_bf "time";_g "unicode";_e "unicode/utf16";);func (_gcfg *Reader )setMiniStream ()error {if _gcfg ._ggf [0]._cab ==_dacb ||_gcfg ._dcfa ._ceb ==_dacb ||_gcfg ._dcfa ._gdb ==0{return nil ;};_bgb :=int (_gcfg ._dcfa ._gdb );_gcfg ._dcfa ._ggad =make ([]uint32 ,_bgb );_gcfg ._dcfa ._ggad [0]=_gcfg ._dcfa ._ceb ;for _cfe :=1;_cfe < _bgb ;_cfe ++{_caf ,_aed :=_gcfg .findNext (_gcfg ._dcfa ._ggad [_cfe -1],false );if _aed !=nil {return Error {ErrFormat ,"s\u0065\u0074\u0074\u0069ng\u0020m\u0069\u006e\u0069\u0020\u0073t\u0072\u0065\u0061\u006d\u0020\u0028"+_aed .Error ()+"\u0029",int64 (_gcfg ._dcfa ._ggad [_cfe -1])};};_gcfg ._dcfa ._ggad [_cfe ]=_caf ;};_bgb =int (_gcfg ._egg /4*_gcfg ._dcfa ._gdb );_gcfg ._dcfa ._acf =make ([]uint32 ,0,_bgb );_ceca :=_gcfg ._ggf [0]._cab ;var _deaf error ;for _ceca !=_dacb {_gcfg ._dcfa ._acf =append (_gcfg ._dcfa ._acf ,_ceca );_ceca ,_deaf =_gcfg .findNext (_ceca ,false );if _deaf !=nil {return Error {ErrFormat ,"s\u0065\u0074\u0074\u0069ng\u0020m\u0069\u006e\u0069\u0020\u0073t\u0072\u0065\u0061\u006d\u0020\u0028"+_deaf .Error ()+"\u0029",int64 (_ceca )};};};return nil ;};func (_ffa *Reader )setHeader ()error {_bbg ,_edaa :=_ffa .readAt (0,_bbb );if _edaa !=nil {return _edaa ;};_ffa ._dcfa =&header {headerFields :_bgd (_bbg )};if _ffa ._dcfa ._gga !=_gce {return Error {ErrFormat ,"\u0062\u0061\u0064\u0020\u0073\u0069\u0067\u006e\u0061\u0074\u0075\u0072\u0065",int64 (_ffa ._dcfa ._gga )};};if _ffa ._dcfa ._bad ==0x0009||_ffa ._dcfa ._bad ==0x000c{_ffa ._egg =uint32 (1<<_ffa ._dcfa ._bad );}else {return Error {ErrFormat ,"\u0069\u006c\u006c\u0065ga\u006c\u0020\u0073\u0065\u0063\u0074\u006f\u0072\u0020\u0073\u0069\u007a\u0065",int64 (_ffa ._dcfa ._bad )};};if _ffa ._dcfa ._gcae > 0{_bfc :=(_ffa ._egg /4)-1;if int (_ffa ._dcfa ._gcae *_bfc +109)< 0{return Error {ErrFormat ,"\u0044I\u0046A\u0054\u0020\u0069\u006e\u0074 \u006f\u0076e\u0072\u0066\u006c\u006f\u0077",int64 (_ffa ._dcfa ._gcae )};};if _ffa ._dcfa ._gcae *_bfc +109> _ffa ._dcfa ._agg +_bfc {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 (_ffa ._dcfa ._gcae )};};};if _ffa ._dcfa ._gdb > 0{if int (_ffa ._egg /4*_ffa ._dcfa ._gdb )< 0{return Error {ErrFormat ,"m\u0069\u006e\u0069\u0020FA\u0054 \u0069\u006e\u0074\u0020\u006fv\u0065\u0072\u0066\u006c\u006f\u0077",int64 (_ffa ._dcfa ._gdb )};};if _ffa ._dcfa ._gdb > _ffa ._dcfa ._agg *(_ffa ._egg /_ggdc ){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 (_ffa ._dcfa ._agg )};};};return nil ;};type slicer interface{Slice (_afbb int64 ,_dfda int )([]byte ,error );};func (_agd *File )FileInfo ()_a .FileInfo {return fileInfo {_agd }};func New (ra _d .ReaderAt )(*Reader ,error ){_bcfa :=&Reader {_ccg :ra };if _ ,_cadc :=ra .(slicer );_cadc {_bcfa ._bebd =true ;}else {_bcfa ._deda =make ([]byte ,_bbb );};if _agad :=_bcfa .setHeader ();_agad !=nil {return nil ,_agad ;};if !_bcfa ._bebd &&int (_bcfa ._egg )> len (_bcfa ._deda ){_bcfa ._deda =make ([]byte ,_bcfa ._egg );};if _gdg :=_bcfa .setDifats ();_gdg !=nil {return nil ,_gdg ;};if _dbfb :=_bcfa .setDirEntries ();_dbfb !=nil {return nil ,_dbfb ;};if _fgfe :=_bcfa .setMiniStream ();_fgfe !=nil {return nil ,_fgfe ;};if _cdb :=_bcfa .traverse ();_cdb !=nil {return nil ,_cdb ;};return _bcfa ,nil ;};func (_bgbc *Reader )GetEntry (entryName string )(*File ,error ){for _gba ,_adfb :=_bgbc .Next ();_adfb ==nil ;_gba ,_adfb =_bgbc .Next (){if _gba .Name ==entryName {return _gba ,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\u006