2020-09-21 01:20:10 +00:00

12 lines
184 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 segments ;import (_c "encoding/binary";_a "errors";_gf "fmt";_cb "github.com/unidoc/unipdf/v3/common";_ga "github.com/unidoc/unipdf/v3/internal/bitwise";_db "github.com/unidoc/unipdf/v3/internal/jbig2/basic";_f "github.com/unidoc/unipdf/v3/internal/jbig2/bitmap";_adc "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/arithmetic";_gff "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/huffman";_ag "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/mmr";_e "github.com/unidoc/unipdf/v3/internal/jbig2/encoder/arithmetic";_ad "github.com/unidoc/unipdf/v3/internal/jbig2/errors";_g "image";_gg "io";_bf "math";_df "strings";_d "time";);func (_agde *SymbolDictionary )addSymbol (_gbg Regioner )error {_egde ,_dgcbb :=_gbg .GetRegionBitmap ();if _dgcbb !=nil {return _dgcbb ;};_agde ._gede [_agde ._bgd ]=_egde ;_agde ._cfbbd =append (_agde ._cfbbd ,_egde );_cb .Log .Trace ("\u005b\u0053YM\u0042\u004f\u004c \u0044\u0049\u0043\u0054ION\u0041RY\u005d\u0020\u0041\u0064\u0064\u0065\u0064 s\u0079\u006d\u0062\u006f\u006c\u003a\u0020%\u0073",_egde );return nil ;};func (_dgebb *GenericRegion )setOverrideFlag (_aegd int ){_dgebb .GBAtOverride [_aegd ]=true ;_dgebb ._ffdd =true ;};func (_daad *TextRegion )readHuffmanFlags ()error {var (_afcdc int ;_ccff uint64 ;_gefcb error ;);_ ,_gefcb =_daad ._eaac .ReadBit ();if _gefcb !=nil {return _gefcb ;};_afcdc ,_gefcb =_daad ._eaac .ReadBit ();if _gefcb !=nil {return _gefcb ;};_daad .SbHuffRSize =int8 (_afcdc );_ccff ,_gefcb =_daad ._eaac .ReadBits (2);if _gefcb !=nil {return _gefcb ;};_daad .SbHuffRDY =int8 (_ccff )&0xf;_ccff ,_gefcb =_daad ._eaac .ReadBits (2);if _gefcb !=nil {return _gefcb ;};_daad .SbHuffRDX =int8 (_ccff )&0xf;_ccff ,_gefcb =_daad ._eaac .ReadBits (2);if _gefcb !=nil {return _gefcb ;};_daad .SbHuffRDHeight =int8 (_ccff )&0xf;_ccff ,_gefcb =_daad ._eaac .ReadBits (2);if _gefcb !=nil {return _gefcb ;};_daad .SbHuffRDWidth =int8 (_ccff )&0xf;_ccff ,_gefcb =_daad ._eaac .ReadBits (2);if _gefcb !=nil {return _gefcb ;};_daad .SbHuffDT =int8 (_ccff )&0xf;_ccff ,_gefcb =_daad ._eaac .ReadBits (2);if _gefcb !=nil {return _gefcb ;};_daad .SbHuffDS =int8 (_ccff )&0xf;_ccff ,_gefcb =_daad ._eaac .ReadBits (2);if _gefcb !=nil {return _gefcb ;};_daad .SbHuffFS =int8 (_ccff )&0xf;return nil ;};func (_gea *GenericRegion )decodeSLTP ()(int ,error ){switch _gea .GBTemplate {case 0:_gea ._fge .SetIndex (0x9B25);case 1:_gea ._fge .SetIndex (0x795);case 2:_gea ._fge .SetIndex (0xE5);case 3:_gea ._fge .SetIndex (0x195);};return _gea ._cbc .DecodeBit (_gea ._fge );};func (_afbb *SymbolDictionary )String ()string {_effbg :=&_df .Builder {};_effbg .WriteString ("\n\u005b\u0053\u0059\u004dBO\u004c-\u0044\u0049\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u000a");_effbg .WriteString (_gf .Sprintf ("\u0009-\u0020S\u0064\u0072\u0054\u0065\u006dp\u006c\u0061t\u0065\u0020\u0025\u0076\u000a",_afbb .SdrTemplate ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u0025\u0076\u000a",_afbb .SdTemplate ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0069\u0073\u0043\u006f\u0064\u0069\u006eg\u0043\u006f\u006e\u0074\u0065\u0078\u0074R\u0065\u0074\u0061\u0069\u006e\u0065\u0064\u0020\u0025\u0076\u000a",_afbb ._dbfg ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0069\u0073\u0043\u006f\u0064\u0069\u006e\u0067C\u006f\u006e\u0074\u0065\u0078\u0074\u0055\u0073\u0065\u0064 \u0025\u0076\u000a",_afbb ._edfd ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0048u\u0066\u0066\u0041\u0067\u0067\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065S\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0025\u0076\u000a",_afbb .SdHuffAggInstanceSelection ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053d\u0048\u0075\u0066\u0066\u0042\u004d\u0053\u0069\u007a\u0065S\u0065l\u0065\u0063\u0074\u0069\u006f\u006e\u0020%\u0076\u000a",_afbb .SdHuffBMSizeSelection ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0048u\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0057\u0069\u0064\u0074\u0068S\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0025\u0076\u000a",_afbb .SdHuffDecodeWidthSelection ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020Sd\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064e\u0048e\u0069g\u0068t\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u0020\u0025\u0076\u000a",_afbb .SdHuffDecodeHeightSelection ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020U\u0073\u0065\u0052\u0065f\u0069\u006e\u0065\u006d\u0065\u006e\u0074A\u0067\u0067\u0072\u0065\u0067\u0061\u0074\u0069\u006f\u006e\u0020\u0025\u0076\u000a",_afbb .UseRefinementAggregation ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020is\u0048\u0075\u0066\u0066\u006d\u0061\u006e\u0045\u006e\u0063\u006f\u0064\u0065\u0064\u0020\u0025\u0076\u000a",_afbb .IsHuffmanEncoded ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020S\u0064\u0041\u0054\u0058\u0020\u0025\u0076\u000a",_afbb .SdATX ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020S\u0064\u0041\u0054\u0059\u0020\u0025\u0076\u000a",_afbb .SdATY ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0072\u0041\u0054\u0058\u0020\u0025\u0076\u000a",_afbb .SdrATX ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0072\u0041\u0054\u0059\u0020\u0025\u0076\u000a",_afbb .SdrATY ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u004e\u0075\u006d\u0062\u0065\u0072\u004ff\u0045\u0078\u0070\u006f\u0072\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0025\u0076\u000a",_afbb .NumberOfExportedSymbols ));_effbg .WriteString (_gf .Sprintf ("\u0009-\u0020\u004e\u0075\u006db\u0065\u0072\u004f\u0066\u004ee\u0077S\u0079m\u0062\u006f\u006c\u0073\u0020\u0025\u0076\n",_afbb .NumberOfNewSymbols ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u004ff\u0049\u006d\u0070\u006f\u0072\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0025\u0076\u000a",_afbb ._baee ));_effbg .WriteString (_gf .Sprintf ("\u0009\u002d \u006e\u0075\u006d\u0062\u0065\u0072\u004f\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0064\u0053\u0079\u006d\u0062\u006f\u006c\u0073 %\u0076\u000a",_afbb ._bgd ));return _effbg .String ();};func (_fcdc *PageInformationSegment )CombinationOperatorOverrideAllowed ()bool {return _fcdc ._aedc };type Pager interface{GetSegment (int )(*Header ,error );GetBitmap ()(*_f .Bitmap ,error );};func (_ggggd *PageInformationSegment )readCombinationOperator ()error {_geega ,_fbcf :=_ggggd ._fed .ReadBits (2);if _fbcf !=nil {return _fbcf ;};_ggggd ._fbbe =_f .CombinationOperator (int (_geega ));return nil ;};type template0 struct{};type Header struct{SegmentNumber uint32 ;Type Type ;RetainFlag bool ;PageAssociation int ;PageAssociationFieldSize bool ;RTSegments []*Header ;HeaderLength int64 ;SegmentDataLength uint64 ;SegmentDataStartOffset uint64 ;Reader _ga .StreamReader ;SegmentData Segmenter ;RTSNumbers []int ;RetainBits []uint8 ;};func (_ffec *SymbolDictionary )readNumberOfExportedSymbols ()error {_bacd ,_ccbd :=_ffec ._gcdc .ReadBits (32);if _ccbd !=nil {return _ccbd ;};_ffec .NumberOfExportedSymbols =uint32 (_bacd &_bf .MaxUint32 );return nil ;};func (_cbfgd *RegionSegment )Encode (w _ga .BinaryWriter )(_ffcb int ,_dged error ){const _edcd ="R\u0065g\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065n\u0074\u002e\u0045\u006eco\u0064\u0065";_eccb :=make ([]byte ,4);_c .BigEndian .PutUint32 (_eccb ,_cbfgd .BitmapWidth );_ffcb ,_dged =w .Write (_eccb );if _dged !=nil {return 0,_ad .Wrap (_dged ,_edcd ,"\u0057\u0069\u0064t\u0068");};_c .BigEndian .PutUint32 (_eccb ,_cbfgd .BitmapHeight );var _fgba int ;_fgba ,_dged =w .Write (_eccb );if _dged !=nil {return 0,_ad .Wrap (_dged ,_edcd ,"\u0048\u0065\u0069\u0067\u0068\u0074");};_ffcb +=_fgba ;_c .BigEndian .PutUint32 (_eccb ,_cbfgd .XLocation );_fgba ,_dged =w .Write (_eccb );if _dged !=nil {return 0,_ad .Wrap (_dged ,_edcd ,"\u0058L\u006f\u0063\u0061\u0074\u0069\u006fn");};_ffcb +=_fgba ;_c .BigEndian .PutUint32 (_eccb ,_cbfgd .YLocation );_fgba ,_dged =w .Write (_eccb );if _dged !=nil {return 0,_ad .Wrap (_dged ,_edcd ,"\u0059L\u006f\u0063\u0061\u0074\u0069\u006fn");};_ffcb +=_fgba ;if _dged =w .WriteByte (byte (_cbfgd .CombinaionOperator )&0x07);_dged !=nil {return 0,_ad .Wrap (_dged ,_edcd ,"c\u006fm\u0062\u0069\u006e\u0061\u0074\u0069\u006f\u006e \u006f\u0070\u0065\u0072at\u006f\u0072");};_ffcb ++;return _ffcb ,nil ;};func (_dcga *PageInformationSegment )readResolution ()error {_caef ,_ggfc :=_dcga ._fed .ReadBits (32);if _ggfc !=nil {return _ggfc ;};_dcga .ResolutionX =int (_caef &_bf .MaxInt32 );_caef ,_ggfc =_dcga ._fed .ReadBits (32);if _ggfc !=nil {return _ggfc ;};_dcga .ResolutionY =int (_caef &_bf .MaxInt32 );return nil ;};func (_dfc *HalftoneRegion )checkInput ()error {if _dfc .IsMMREncoded {if _dfc .HTemplate !=0{_cb .Log .Debug ("\u0048\u0054\u0065\u006d\u0070l\u0061\u0074\u0065\u0020\u003d\u0020\u0025\u0064\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0020\u0074\u0068\u0065\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u0030",_dfc .HTemplate );};if _dfc .HSkipEnabled {_cb .Log .Debug ("\u0048\u0053\u006b\u0069\u0070\u0045\u006e\u0061\u0062\u006c\u0065\u0064\u0020\u0030\u0020\u0025\u0076\u0020(\u0073\u0068\u006f\u0075\u006c\u0064\u0020c\u006f\u006e\u0074\u0061\u0069\u006e\u0020\u0074\u0068\u0065\u0020v\u0061\u006c\u0075\u0065\u0020\u0066\u0061\u006c\u0073\u0065\u0029",_dfc .HSkipEnabled );};};return nil ;};func (_dffg *GenericRegion )writeGBAtPixels (_fcee _ga .BinaryWriter )(_eded int ,_fcf error ){const _cdg ="\u0077r\u0069t\u0065\u0047\u0042\u0041\u0074\u0050\u0069\u0078\u0065\u006c\u0073";if _dffg .UseMMR {return 0,nil ;};_fab :=1;if _dffg .GBTemplate ==0{_fab =4;}else if _dffg .UseExtTemplates {_fab =12;};if len (_dffg .GBAtX )!=_fab {return 0,_ad .Errorf (_cdg ,"\u0067\u0062\u0020\u0061\u0074\u0020\u0070\u0061\u0069\u0072\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020d\u006f\u0065\u0073\u006e\u0027\u0074\u0020m\u0061\u0074\u0063\u0068\u0020\u0074\u006f\u0020\u0047\u0042\u0041t\u0058\u0020\u0073\u006c\u0069\u0063\u0065\u0020\u006c\u0065\u006e");};if len (_dffg .GBAtY )!=_fab {return 0,_ad .Errorf (_cdg ,"\u0067\u0062\u0020\u0061\u0074\u0020\u0070\u0061\u0069\u0072\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020d\u006f\u0065\u0073\u006e\u0027\u0074\u0020m\u0061\u0074\u0063\u0068\u0020\u0074\u006f\u0020\u0047\u0042\u0041t\u0059\u0020\u0073\u006c\u0069\u0063\u0065\u0020\u006c\u0065\u006e");};for _degg :=0;_degg < _fab ;_degg ++{if _fcf =_fcee .WriteByte (byte (_dffg .GBAtX [_degg ]));_fcf !=nil {return _eded ,_ad .Wrap (_fcf ,_cdg ,"w\u0072\u0069\u0074\u0065\u0020\u0047\u0042\u0041\u0074\u0058");};_eded ++;if _fcf =_fcee .WriteByte (byte (_dffg .GBAtY [_degg ]));_fcf !=nil {return _eded ,_ad .Wrap (_fcf ,_cdg ,"w\u0072\u0069\u0074\u0065\u0020\u0047\u0042\u0041\u0074\u0059");};_eded ++;};return _eded ,nil ;};func (_efbc *SymbolDictionary )setExportedSymbols (_gffcf []int ){for _bbgde :=uint32 (0);_bbgde < _efbc ._baee +_efbc .NumberOfNewSymbols ;_bbgde ++{if _gffcf [_bbgde ]==1{var _dbbc *_f .Bitmap ;if _bbgde < _efbc ._baee {_dbbc =_efbc ._dadd [_bbgde ];}else {_dbbc =_efbc ._gede [_bbgde -_efbc ._baee ];};_cb .Log .Trace ("\u005bS\u0059\u004dB\u004f\u004c\u002d\u0044I\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u0020\u0041\u0064\u0064 E\u0078\u0070\u006fr\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c:\u0020\u0027%\u0073\u0027",_dbbc );_efbc ._agcc =append (_efbc ._agcc ,_dbbc );};};};func (_eab Type )String ()string {switch _eab {case TSymbolDictionary :return "\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069o\u006e\u0061\u0072\u0079";case TIntermediateTextRegion :return "\u0049n\u0074\u0065\u0072\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020T\u0065\u0078\u0074\u0020\u0052\u0065\u0067\u0069\u006f\u006e";case TImmediateTextRegion :return "I\u006d\u006d\u0065\u0064ia\u0074e\u0020\u0054\u0065\u0078\u0074 \u0052\u0065\u0067\u0069\u006f\u006e";case TImmediateLosslessTextRegion :return "\u0049\u006d\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020L\u006f\u0073\u0073\u006c\u0065\u0073\u0073 \u0054\u0065\u0078\u0074\u0020\u0052\u0065\u0067\u0069\u006f\u006e";case TPatternDictionary :return "\u0050a\u0074t\u0065\u0072\u006e\u0020\u0044i\u0063\u0074i\u006f\u006e\u0061\u0072\u0079";case TIntermediateHalftoneRegion :return "\u0049\u006e\u0074\u0065r\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0048\u0061l\u0066t\u006f\u006e\u0065\u0020\u0052\u0065\u0067i\u006f\u006e";case TImmediateHalftoneRegion :return "\u0049m\u006d\u0065\u0064\u0069a\u0074\u0065\u0020\u0048\u0061l\u0066t\u006fn\u0065\u0020\u0052\u0065\u0067\u0069\u006fn";case TImmediateLosslessHalftoneRegion :return "\u0049\u006d\u006ded\u0069\u0061\u0074\u0065\u0020\u004c\u006f\u0073\u0073l\u0065s\u0073 \u0048a\u006c\u0066\u0074\u006f\u006e\u0065\u0020\u0052\u0065\u0067\u0069\u006f\u006e";case TIntermediateGenericRegion :return "I\u006e\u0074\u0065\u0072\u006d\u0065d\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006e\u0065r\u0069\u0063\u0020R\u0065g\u0069\u006f\u006e";case TImmediateGenericRegion :return "\u0049m\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006ee\u0072\u0069\u0063\u0020\u0052\u0065\u0067\u0069\u006f\u006e";case TImmediateLosslessGenericRegion :return "\u0049\u006d\u006d\u0065\u0064\u0069a\u0074\u0065\u0020\u004c\u006f\u0073\u0073\u006c\u0065\u0073\u0073\u0020\u0047e\u006e\u0065\u0072\u0069\u0063\u0020\u0052e\u0067\u0069\u006f\u006e";case TIntermediateGenericRefinementRegion :return "\u0049\u006e\u0074\u0065\u0072\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006e\u0065\u0072\u0069\u0063\u0020\u0052\u0065\u0066i\u006e\u0065\u006d\u0065\u006et\u0020\u0052e\u0067\u0069\u006f\u006e";case TImmediateGenericRefinementRegion :return "I\u006d\u006d\u0065\u0064\u0069\u0061t\u0065\u0020\u0047\u0065\u006e\u0065r\u0069\u0063\u0020\u0052\u0065\u0066\u0069n\u0065\u006d\u0065\u006e\u0074\u0020\u0052\u0065\u0067\u0069o\u006e";case TImmediateLosslessGenericRefinementRegion :return "\u0049m\u006d\u0065d\u0069\u0061\u0074\u0065 \u004c\u006f\u0073s\u006c\u0065\u0073\u0073\u0020\u0047\u0065\u006e\u0065ri\u0063\u0020\u0052e\u0066\u0069n\u0065\u006d\u0065\u006e\u0074\u0020R\u0065\u0067i\u006f\u006e";case TPageInformation :return "\u0050\u0061g\u0065\u0020\u0049n\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e";case TEndOfPage :return "E\u006e\u0064\u0020\u004f\u0066\u0020\u0050\u0061\u0067\u0065";case TEndOfStrip :return "\u0045\u006e\u0064 \u004f\u0066\u0020\u0053\u0074\u0072\u0069\u0070";case TEndOfFile :return "E\u006e\u0064\u0020\u004f\u0066\u0020\u0046\u0069\u006c\u0065";case TProfiles :return "\u0050\u0072\u006f\u0066\u0069\u006c\u0065\u0073";case TTables :return "\u0054\u0061\u0062\u006c\u0065\u0073";case TExtension :return "\u0045x\u0074\u0065\u006e\u0073\u0069\u006fn";case TBitmap :return "\u0042\u0069\u0074\u006d\u0061\u0070";};return "I\u006ev\u0061\u006c\u0069\u0064\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u0020Ki\u006e\u0064";};func (_fgef *PageInformationSegment )DefaultPixelValue ()uint8 {return _fgef ._gcb };var _ SegmentEncoder =&GenericRegion {};func (_agaa *Header )writeSegmentDataLength (_gfae _ga .BinaryWriter )(_fddd int ,_baae error ){_cfg :=make ([]byte ,4);_c .BigEndian .PutUint32 (_cfg ,uint32 (_agaa .SegmentDataLength ));if _fddd ,_baae =_gfae .Write (_cfg );_baae !=nil {return 0,_ad .Wrap (_baae ,"\u0048\u0065a\u0064\u0065\u0072\u002e\u0077\u0072\u0069\u0074\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0044\u0061\u0074\u0061\u004c\u0065ng\u0074\u0068","");};return _fddd ,nil ;};func (_aea *GenericRegion )parseHeader ()(_ggdb error ){_cb .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052I\u0043\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0050\u0061\u0072s\u0069\u006e\u0067\u0048\u0065\u0061\u0064e\u0072\u002e\u002e\u002e");defer func (){if _ggdb !=nil {_cb .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0047\u0049\u004f\u004e]\u0020\u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065\u0061\u0064\u0065r\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u0020\u0077\u0069th\u0020\u0065\u0072\u0072\u006f\u0072\u002e\u0020\u0025\u0076",_ggdb );}else {_cb .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049C\u002d\u0052\u0045G\u0049\u004f\u004e]\u0020\u0050a\u0072\u0073\u0069\u006e\u0067\u0048e\u0061de\u0072\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u0020\u0053\u0075\u0063\u0063\u0065\u0073\u0073\u0066\u0075\u006c\u006c\u0079\u002e\u002e\u002e");};}();var (_cgec int ;_eee uint64 ;);if _ggdb =_aea .RegionSegment .parseHeader ();_ggdb !=nil {return _ggdb ;};if _ ,_ggdb =_aea ._ddd .ReadBits (3);_ggdb !=nil {return _ggdb ;};_cgec ,_ggdb =_aea ._ddd .ReadBit ();if _ggdb !=nil {return _ggdb ;};if _cgec ==1{_aea .UseExtTemplates =true ;};_cgec ,_ggdb =_aea ._ddd .ReadBit ();if _ggdb !=nil {return _ggdb ;};if _cgec ==1{_aea .IsTPGDon =true ;};_eee ,_ggdb =_aea ._ddd .ReadBits (2);if _ggdb !=nil {return _ggdb ;};_aea .GBTemplate =byte (_eee &0xf);_cgec ,_ggdb =_aea ._ddd .ReadBit ();if _ggdb !=nil {return _ggdb ;};if _cgec ==1{_aea .IsMMREncoded =true ;};if !_aea .IsMMREncoded {_dge :=1;if _aea .GBTemplate ==0{_dge =4;if _aea .UseExtTemplates {_dge =12;};};if _ggdb =_aea .readGBAtPixels (_dge );_ggdb !=nil {return _ggdb ;};};if _ggdb =_aea .computeSegmentDataStructure ();_ggdb !=nil {return _ggdb ;};_cb .Log .Trace ("\u0025\u0073",_aea );return nil ;};func (_fgdde *TextRegion )getSymbols ()error {if _fgdde .Header .RTSegments !=nil {return _fgdde .initSymbols ();};return nil ;};func (_adf *PageInformationSegment )CombinationOperator ()_f .CombinationOperator {return _adf ._fbbe };func (_efcg *Header )pageSize ()uint {if _efcg .PageAssociation <=255{return 1;};return 4;};func (_bbgd *GenericRefinementRegion )decodeTemplate (_cee ,_cdb ,_cfc ,_aad ,_gaa ,_dfd ,_bbe ,_efcb ,_fcgf ,_fddc int ,_dcb templater )(_ded error ){var (_bdc ,_gdd ,_ge ,_ebg ,_cdeg int16 ;_bcc ,_def ,_edb ,_eae int ;_fcae byte ;);if _fcgf >=1&&(_fcgf -1)< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc -_aad );if _ded !=nil {return ;};_bcc =int (_fcae );};if _fcgf >=0&&(_fcgf )< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc );if _ded !=nil {return ;};_def =int (_fcae );};if _fcgf >=-1&&(_fcgf +1)< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc +_aad );if _ded !=nil {return ;};_edb =int (_fcae );};_fddc ++;if _cee >=1{_fcae ,_ded =_bbgd .RegionBitmap .GetByte (_efcb -_cfc );if _ded !=nil {return ;};_eae =int (_fcae );};_efcb ++;_cbf :=_bbgd .ReferenceDX %8;_bbd :=6+_cbf ;_agf :=_fddc %_aad ;if _bbd >=0{if _bbd < 8{_bdc =int16 (_bcc >>uint (_bbd ))&0x07;};if _bbd < 8{_gdd =int16 (_def >>uint (_bbd ))&0x07;};if _bbd < 8{_ge =int16 (_edb >>uint (_bbd ))&0x07;};if _bbd ==6&&_agf > 1{if _fcgf >=1&&(_fcgf -1)< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc -_aad -2);if _ded !=nil {return _ded ;};_bdc |=int16 (_fcae <<2)&0x04;};if _fcgf >=0&&_fcgf < _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc -2);if _ded !=nil {return _ded ;};_gdd |=int16 (_fcae <<2)&0x04;};if _fcgf >=-1&&_fcgf +1< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc +_aad -2);if _ded !=nil {return _ded ;};_ge |=int16 (_fcae <<2)&0x04;};};if _bbd ==0{_bcc =0;_def =0;_edb =0;if _agf < _aad -1{if _fcgf >=1&&_fcgf -1< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc -_aad );if _ded !=nil {return _ded ;};_bcc =int (_fcae );};if _fcgf >=0&&_fcgf < _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc );if _ded !=nil {return _ded ;};_def =int (_fcae );};if _fcgf >=-1&&_fcgf +1< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc +_aad );if _ded !=nil {return _ded ;};_edb =int (_fcae );};};_fddc ++;};}else {_bdc =int16 (_bcc <<1)&0x07;_gdd =int16 (_def <<1)&0x07;_ge =int16 (_edb <<1)&0x07;_bcc =0;_def =0;_edb =0;if _agf < _aad -1{if _fcgf >=1&&_fcgf -1< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc -_aad );if _ded !=nil {return _ded ;};_bcc =int (_fcae );};if _fcgf >=0&&_fcgf < _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc );if _ded !=nil {return _ded ;};_def =int (_fcae );};if _fcgf >=-1&&_fcgf +1< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc +_aad );if _ded !=nil {return _ded ;};_edb =int (_fcae );};_fddc ++;};_bdc |=int16 ((_bcc >>7)&0x07);_gdd |=int16 ((_def >>7)&0x07);_ge |=int16 ((_edb >>7)&0x07);};_ebg =int16 (_eae >>6);_cdeg =0;_dff :=(2-_cbf )%8;_bcc <<=uint (_dff );_def <<=uint (_dff );_edb <<=uint (_dff );_eae <<=2;var _ba int ;for _efdd :=0;_efdd < _cdb ;_efdd ++{_gda :=_efdd &0x07;_cbg :=_dcb .form (_bdc ,_gdd ,_ge ,_ebg ,_cdeg );if _bbgd ._ae {_fcae ,_ded =_bbgd .RegionBitmap .GetByte (_bbgd .RegionBitmap .GetByteIndex (_efdd ,_cee ));if _ded !=nil {return _ded ;};_bbgd ._fd .SetIndex (int32 (_bbgd .overrideAtTemplate0 (int (_cbg ),_efdd ,_cee ,int (_fcae ),_gda )));}else {_bbgd ._fd .SetIndex (int32 (_cbg ));};_ba ,_ded =_bbgd ._gd .DecodeBit (_bbgd ._fd );if _ded !=nil {return _ded ;};if _ded =_bbgd .RegionBitmap .SetPixel (_efdd ,_cee ,byte (_ba ));_ded !=nil {return _ded ;};_bdc =((_bdc <<1)|0x01&int16 (_bcc >>7))&0x07;_gdd =((_gdd <<1)|0x01&int16 (_def >>7))&0x07;_ge =((_ge <<1)|0x01&int16 (_edb >>7))&0x07;_ebg =((_ebg <<1)|0x01&int16 (_eae >>7))&0x07;_cdeg =int16 (_ba );if (_efdd -int (_bbgd .ReferenceDX ))%8==5{_bcc =0;_def =0;_edb =0;if ((_efdd -int (_bbgd .ReferenceDX ))/8)+1< _bbgd .ReferenceBitmap .RowStride {if _fcgf >=1&&(_fcgf -1)< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc -_aad );if _ded !=nil {return _ded ;};_bcc =int (_fcae );};if _fcgf >=0&&_fcgf < _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc );if _ded !=nil {return _ded ;};_def =int (_fcae );};if _fcgf >=-1&&(_fcgf +1)< _bbgd .ReferenceBitmap .Height {_fcae ,_ded =_bbgd .ReferenceBitmap .GetByte (_fddc +_aad );if _ded !=nil {return _ded ;};_edb =int (_fcae );};};_fddc ++;}else {_bcc <<=1;_def <<=1;_edb <<=1;};if _gda ==5&&_cee >=1{if ((_efdd >>3)+1)>=_bbgd .RegionBitmap .RowStride {_eae =0;}else {_fcae ,_ded =_bbgd .RegionBitmap .GetByte (_efcb -_cfc );if _ded !=nil {return _ded ;};_eae =int (_fcae );};_efcb ++;}else {_eae <<=1;};};return nil ;};func _gebb (_dbgf _ga .StreamReader ,_cdbb *Header )*TextRegion {_dadg :=&TextRegion {_eaac :_dbgf ,Header :_cdbb ,RegionInfo :NewRegionSegment (_dbgf )};return _dadg ;};func (_ffbd *PatternDictionary )GetDictionary ()([]*_f .Bitmap ,error ){if _ffbd .Patterns !=nil {return _ffbd .Patterns ,nil ;};if !_ffbd .IsMMREncoded {_ffbd .setGbAtPixels ();};_ecff :=NewGenericRegion (_ffbd ._abge );_ecff .setParametersMMR (_ffbd .IsMMREncoded ,_ffbd .DataOffset ,_ffbd .DataLength ,uint32 (_ffbd .HdpHeight ),(_ffbd .GrayMax +1)*uint32 (_ffbd .HdpWidth ),_ffbd .HDTemplate ,false ,false ,_ffbd .GBAtX ,_ffbd .GBAtY );_gdaa ,_agbg :=_ecff .GetRegionBitmap ();if _agbg !=nil {return nil ,_agbg ;};if _agbg =_ffbd .extractPatterns (_gdaa );_agbg !=nil {return nil ,_agbg ;};return _ffbd .Patterns ,nil ;};type EndOfStripe struct{_dg _ga .StreamReader ;_ac int ;};func (_gecc *SymbolDictionary )getUserTable (_acad int )(_gff .Tabler ,error ){var _gecca int ;for _ ,_gfdf :=range _gecc .Header .RTSegments {if _gfdf .Type ==53{if _gecca ==_acad {_afe ,_cabg :=_gfdf .GetSegmentData ();if _cabg !=nil {return nil ,_cabg ;};_efgb :=_afe .(_gff .BasicTabler );return _gff .NewEncodedTable (_efgb );};_gecca ++;};};return nil ,nil ;};func (_fbg *GenericRefinementRegion )updateOverride ()error {if _fbg .GrAtX ==nil ||_fbg .GrAtY ==nil {return _a .New ("\u0041\u0054\u0020\u0070\u0069\u0078\u0065\u006c\u0073\u0020\u006e\u006ft\u0020\u0073\u0065\u0074");};if len (_fbg .GrAtX )!=len (_fbg .GrAtY ){return _a .New ("A\u0054\u0020\u0070\u0069xe\u006c \u0069\u006e\u0063\u006f\u006es\u0069\u0073\u0074\u0065\u006e\u0074");};_fbg ._ff =make ([]bool ,len (_fbg .GrAtX ));switch _fbg .TemplateID {case 0:if _fbg .GrAtX [0]!=-1&&_fbg .GrAtY [0]!=-1{_fbg ._ff [0]=true ;_fbg ._ae =true ;};if _fbg .GrAtX [1]!=-1&&_fbg .GrAtY [1]!=-1{_fbg ._ff [1]=true ;_fbg ._ae =true ;};case 1:_fbg ._ae =false ;};return nil ;};var (_dcab Segmenter ;_ebc =map[Type ]func ()Segmenter {TSymbolDictionary :func ()Segmenter {return &SymbolDictionary {}},TIntermediateTextRegion :func ()Segmenter {return &TextRegion {}},TImmediateTextRegion :func ()Segmenter {return &TextRegion {}},TImmediateLosslessTextRegion :func ()Segmenter {return &TextRegion {}},TPatternDictionary :func ()Segmenter {return &PatternDictionary {}},TIntermediateHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TImmediateHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TImmediateLosslessHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TIntermediateGenericRegion :func ()Segmenter {return &GenericRegion {}},TImmediateGenericRegion :func ()Segmenter {return &GenericRegion {}},TImmediateLosslessGenericRegion :func ()Segmenter {return &GenericRegion {}},TIntermediateGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TImmediateGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TImmediateLosslessGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TPageInformation :func ()Segmenter {return &PageInformationSegment {}},TEndOfPage :func ()Segmenter {return _dcab },TEndOfStrip :func ()Segmenter {return &EndOfStripe {}},TEndOfFile :func ()Segmenter {return _dcab },TProfiles :func ()Segmenter {return _dcab },TTables :func ()Segmenter {return &TableSegment {}},TExtension :func ()Segmenter {return _dcab },TBitmap :func ()Segmenter {return _dcab }};);func (_deff *GenericRefinementRegion )getPixel (_cec *_f .Bitmap ,_agd ,_gfg int )int {if _agd < 0||_agd >=_cec .Width {return 0;};if _gfg < 0||_gfg >=_cec .Height {return 0;};if _cec .GetPixel (_agd ,_gfg ){return 1;};return 0;};func (_egdb *SymbolDictionary )decodeHeightClassBitmap (_agda *_f .Bitmap ,_cedf int64 ,_fcfac int ,_agee []int )error {for _cecg :=_cedf ;_cecg < int64 (_egdb ._bgd );_cecg ++{var _edbea int ;for _gdcc :=_cedf ;_gdcc <=_cecg -1;_gdcc ++{_edbea +=_agee [_gdcc ];};_fecfe :=_g .Rect (_edbea ,0,_edbea +_agee [_cecg ],_fcfac );_fcea ,_edce :=_f .Extract (_fecfe ,_agda );if _edce !=nil {return _edce ;};_egdb ._gede [_cecg ]=_fcea ;_egdb ._cfbbd =append (_egdb ._cfbbd ,_fcea );};return nil ;};var _ _gff .BasicTabler =&TableSegment {};func (_fba *template1 )form (_abgd ,_bcf ,_fea ,_bfgc ,_gfd int16 )int16 {return ((_abgd &0x02)<<8)|(_bcf <<6)|((_fea &0x03)<<4)|(_bfgc <<1)|_gfd ;};func (_abb *SymbolDictionary )setCodingStatistics ()error {if _abb ._eabd ==nil {_abb ._eabd =_adc .NewStats (512,1);};if _abb ._bee ==nil {_abb ._bee =_adc .NewStats (512,1);};if _abb ._cacb ==nil {_abb ._cacb =_adc .NewStats (512,1);};if _abb ._aabd ==nil {_abb ._aabd =_adc .NewStats (512,1);};if _abb ._badb ==nil {_abb ._badb =_adc .NewStats (512,1);};if _abb .UseRefinementAggregation &&_abb ._ecea ==nil {_abb ._ecea =_adc .NewStats (1<<uint (_abb ._ecdg ),1);_abb ._bgae =_adc .NewStats (512,1);_abb ._bffc =_adc .NewStats (512,1);};if _abb ._dbfa ==nil {_abb ._dbfa =_adc .NewStats (65536,1);};if _abb ._cdae ==nil {var _cgfg error ;_abb ._cdae ,_cgfg =_adc .New (_abb ._gcdc );if _cgfg !=nil {return _cgfg ;};};return nil ;};func (_fdgd *GenericRefinementRegion )decodeTypicalPredictedLineTemplate1 (_ffb ,_deg ,_cba ,_cgdc ,_bfeg ,_dcgb ,_fa ,_fca ,_cf int )(_ea error ){var (_ece ,_gffd int ;_gaff ,_edg int ;_fcg ,_fcb int ;_cgb byte ;);if _ffb > 0{_cgb ,_ea =_fdgd .RegionBitmap .GetByte (_fa -_cba );if _ea !=nil {return ;};_gaff =int (_cgb );};if _fca > 0&&_fca <=_fdgd .ReferenceBitmap .Height {_cgb ,_ea =_fdgd .ReferenceBitmap .GetByte (_cf -_cgdc +_dcgb );if _ea !=nil {return ;};_edg =int (_cgb )<<2;};if _fca >=0&&_fca < _fdgd .ReferenceBitmap .Height {_cgb ,_ea =_fdgd .ReferenceBitmap .GetByte (_cf +_dcgb );if _ea !=nil {return ;};_fcg =int (_cgb );};if _fca > -2&&_fca < _fdgd .ReferenceBitmap .Height -1{_cgb ,_ea =_fdgd .ReferenceBitmap .GetByte (_cf +_cgdc +_dcgb );if _ea !=nil {return ;};_fcb =int (_cgb );};_ece =((_gaff >>5)&0x6)|((_fcb >>2)&0x30)|(_fcg &0xc0)|(_edg &0x200);_gffd =((_fcb >>2)&0x70)|(_fcg &0xc0)|(_edg &0x700);var _ddf int ;for _gad :=0;_gad < _bfeg ;_gad =_ddf {var (_eegg int ;_bcge int ;);_ddf =_gad +8;if _eegg =_deg -_gad ;_eegg > 8{_eegg =8;};_feb :=_ddf < _deg ;_edef :=_ddf < _fdgd .ReferenceBitmap .Width ;_cdeb :=_dcgb +1;if _ffb > 0{_cgb =0;if _feb {_cgb ,_ea =_fdgd .RegionBitmap .GetByte (_fa -_cba +1);if _ea !=nil {return ;};};_gaff =(_gaff <<8)|int (_cgb );};if _fca > 0&&_fca <=_fdgd .ReferenceBitmap .Height {var _ffbe int ;if _edef {_cgb ,_ea =_fdgd .ReferenceBitmap .GetByte (_cf -_cgdc +_cdeb );if _ea !=nil {return ;};_ffbe =int (_cgb )<<2;};_edg =(_edg <<8)|_ffbe ;};if _fca >=0&&_fca < _fdgd .ReferenceBitmap .Height {_cgb =0;if _edef {_cgb ,_ea =_fdgd .ReferenceBitmap .GetByte (_cf +_cdeb );if _ea !=nil {return ;};};_fcg =(_fcg <<8)|int (_cgb );};if _fca > -2&&_fca < (_fdgd .ReferenceBitmap .Height -1){_cgb =0;if _edef {_cgb ,_ea =_fdgd .ReferenceBitmap .GetByte (_cf +_cgdc +_cdeb );if _ea !=nil {return ;};};_fcb =(_fcb <<8)|int (_cgb );};for _fg :=0;_fg < _eegg ;_fg ++{var _aba int ;_dgg :=(_gffd >>4)&0x1ff;switch _dgg {case 0x1ff:_aba =1;case 0x00:_aba =0;default:_fdgd ._fd .SetIndex (int32 (_ece ));_aba ,_ea =_fdgd ._gd .DecodeBit (_fdgd ._fd );if _ea !=nil {return ;};};_ceg :=uint (7-_fg );_bcge |=int (_aba <<_ceg );_ece =((_ece &0x0d6)<<1)|_aba |(_gaff >>_ceg +5)&0x002|((_fcb >>_ceg +2)&0x010)|((_fcg >>_ceg )&0x040)|((_edg >>_ceg )&0x200);_gffd =((_gffd &0xdb)<<1)|((_fcb >>_ceg +2)&0x010)|((_fcg >>_ceg )&0x080)|((_edg >>_ceg )&0x400);};_ea =_fdgd .RegionBitmap .SetByte (_fa ,byte (_bcge ));if _ea !=nil {return ;};_fa ++;_cf ++;};return nil ;};type PageInformationSegment struct{_fed _ga .StreamReader ;PageBMHeight int ;PageBMWidth int ;ResolutionX int ;ResolutionY int ;_aedc bool ;_fbbe _f .CombinationOperator ;_bgfb bool ;_gcb uint8 ;_fabc bool ;IsLossless bool ;IsStripe bool ;MaxStripeSize uint16 ;};func (_egf *Header )subInputReader ()(_ga .StreamReader ,error ){return _ga .NewSubstreamReader (_egf .Reader ,_egf .SegmentDataStartOffset ,_egf .SegmentDataLength );};func (_eggc *Header )readHeaderFlags ()error {const _cbaa ="\u0072e\u0061d\u0048\u0065\u0061\u0064\u0065\u0072\u0046\u006c\u0061\u0067\u0073";_ffbea ,_acec :=_eggc .Reader .ReadBit ();if _acec !=nil {return _ad .Wrap (_acec ,_cbaa ,"r\u0065\u0074\u0061\u0069\u006e\u0020\u0066\u006c\u0061\u0067");};if _ffbea !=0{_eggc .RetainFlag =true ;};_ffbea ,_acec =_eggc .Reader .ReadBit ();if _acec !=nil {return _ad .Wrap (_acec ,_cbaa ,"\u0070\u0061g\u0065\u0020\u0061s\u0073\u006f\u0063\u0069\u0061\u0074\u0069\u006f\u006e");};if _ffbea !=0{_eggc .PageAssociationFieldSize =true ;};_fged ,_acec :=_eggc .Reader .ReadBits (6);if _acec !=nil {return _ad .Wrap (_acec ,_cbaa ,"\u0073\u0065\u0067m\u0065\u006e\u0074\u0020\u0074\u0079\u0070\u0065");};_eggc .Type =Type (int (_fged ));return nil ;};func (_daff *GenericRegion )GetRegionBitmap ()(_bacc *_f .Bitmap ,_dde error ){if _daff .Bitmap !=nil {return _daff .Bitmap ,nil ;};if _daff .IsMMREncoded {if _daff ._cge ==nil {_daff ._cge ,_dde =_ag .New (_daff ._ddd ,int (_daff .RegionSegment .BitmapWidth ),int (_daff .RegionSegment .BitmapHeight ),_daff .DataOffset ,_daff .DataLength );if _dde !=nil {return nil ,_dde ;};};_daff .Bitmap ,_dde =_daff ._cge .UncompressMMR ();return _daff .Bitmap ,_dde ;};if _dde =_daff .updateOverrideFlags ();_dde !=nil {return nil ,_dde ;};var _eba int ;if _daff ._cbc ==nil {_daff ._cbc ,_dde =_adc .New (_daff ._ddd );if _dde !=nil {return nil ,_dde ;};};if _daff ._fge ==nil {_daff ._fge =_adc .NewStats (65536,1);};_daff .Bitmap =_f .New (int (_daff .RegionSegment .BitmapWidth ),int (_daff .RegionSegment .BitmapHeight ));_gca :=int (uint32 (_daff .Bitmap .Width +7)&(^uint32 (7)));for _bccb :=0;_bccb < _daff .Bitmap .Height ;_bccb ++{if _daff .IsTPGDon {var _aff int ;_aff ,_dde =_daff .decodeSLTP ();if _dde !=nil {return nil ,_dde ;};_eba ^=_aff ;};if _eba ==1{if _bccb > 0{if _dde =_daff .copyLineAbove (_bccb );_dde !=nil {return nil ,_dde ;};};}else {if _dde =_daff .decodeLine (_bccb ,_daff .Bitmap .Width ,_gca );_dde !=nil {return nil ,_dde ;};};};return _daff .Bitmap ,nil ;};type template1 struct{};func (_ggbg *GenericRegion )Size ()int {return _ggbg .RegionSegment .Size ()+1+2*len (_ggbg .GBAtX )};func (_ccbc *TableSegment )HtHigh ()int32 {return _ccbc ._cfeff };type SegmentEncoder interface{Encode (_eadb _ga .BinaryWriter )(_ffc int ,_cce error );};func (_abgb *HalftoneRegion )computeGrayScalePlanes (_ecd []*_f .Bitmap ,_gefb int )([][]int ,error ){_gbc :=make ([][]int ,_abgb .HGridHeight );for _bfb :=0;_bfb < len (_gbc );_bfb ++{_gbc [_bfb ]=make ([]int ,_abgb .HGridWidth );};for _fceg :=0;_fceg < int (_abgb .HGridHeight );_fceg ++{for _ededf :=0;_ededf < int (_abgb .HGridWidth );_ededf +=8{var _dfa int ;if _afdca :=int (_abgb .HGridWidth )-_ededf ;_afdca > 8{_dfa =8;}else {_dfa =_afdca ;};_baad :=_ecd [0].GetByteIndex (_ededf ,_fceg );for _fafa :=0;_fafa < _dfa ;_fafa ++{_bdbc :=_fafa +_ededf ;_gbc [_fceg ][_bdbc ]=0;for _effg :=0;_effg < _gefb ;_effg ++{_dbcg ,_edf :=_ecd [_effg ].GetByte (_baad );if _edf !=nil {return nil ,_edf ;};_aeac :=_dbcg >>uint (7-_bdbc &7);_ffbb :=_aeac &1;_bgf :=1<<uint (_effg );_age :=int (_ffbb )*_bgf ;_gbc [_fceg ][_bdbc ]+=_age ;};};};};return _gbc ,nil ;};func (_bfg *GenericRefinementRegion )GetRegionInfo ()*RegionSegment {return _bfg .RegionInfo };func (_bfgf *Header )writeSegmentPageAssociation (_bcb _ga .BinaryWriter )(_acdc int ,_affge error ){const _ccc ="w\u0072\u0069\u0074\u0065\u0053\u0065g\u006d\u0065\u006e\u0074\u0050\u0061\u0067\u0065\u0041s\u0073\u006f\u0063i\u0061t\u0069\u006f\u006e";if _bfgf .pageSize ()!=4{if _affge =_bcb .WriteByte (byte (_bfgf .PageAssociation ));_affge !=nil {return 0,_ad .Wrap (_affge ,_ccc ,"\u0070\u0061\u0067\u0065\u0053\u0069\u007a\u0065\u0020\u0021\u003d\u0020\u0034");};return 1,nil ;};_ged :=make ([]byte ,4);_c .BigEndian .PutUint32 (_ged ,uint32 (_bfgf .PageAssociation ));if _acdc ,_affge =_bcb .Write (_ged );_affge !=nil {return 0,_ad .Wrap (_affge ,_ccc ,"\u0034 \u0062y\u0074\u0065\u0020\u0070\u0061g\u0065\u0020n\u0075\u006d\u0062\u0065\u0072");};return _acdc ,nil ;};func (_fabf *PageInformationSegment )Encode (w _ga .BinaryWriter )(_gbd int ,_dgge error ){const _caae ="\u0050\u0061g\u0065\u0049\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u002e\u0045\u006eco\u0064\u0065";_ffed :=make ([]byte ,4);_c .BigEndian .PutUint32 (_ffed ,uint32 (_fabf .PageBMWidth ));_gbd ,_dgge =w .Write (_ffed );if _dgge !=nil {return _gbd ,_ad .Wrap (_dgge ,_caae ,"\u0077\u0069\u0064t\u0068");};_c .BigEndian .PutUint32 (_ffed ,uint32 (_fabf .PageBMHeight ));var _edbe int ;_edbe ,_dgge =w .Write (_ffed );if _dgge !=nil {return _edbe +_gbd ,_ad .Wrap (_dgge ,_caae ,"\u0068\u0065\u0069\u0067\u0068\u0074");};_gbd +=_edbe ;_c .BigEndian .PutUint32 (_ffed ,uint32 (_fabf .ResolutionX ));_edbe ,_dgge =w .Write (_ffed );if _dgge !=nil {return _edbe +_gbd ,_ad .Wrap (_dgge ,_caae ,"\u0078\u0020\u0072e\u0073\u006f\u006c\u0075\u0074\u0069\u006f\u006e");};_gbd +=_edbe ;_c .BigEndian .PutUint32 (_ffed ,uint32 (_fabf .ResolutionY ));if _edbe ,_dgge =w .Write (_ffed );_dgge !=nil {return _edbe +_gbd ,_ad .Wrap (_dgge ,_caae ,"\u0079\u0020\u0072e\u0073\u006f\u006c\u0075\u0074\u0069\u006f\u006e");};_gbd +=_edbe ;if _dgge =_fabf .encodeFlags (w );_dgge !=nil {return _gbd ,_ad .Wrap (_dgge ,_caae ,"");};_gbd ++;if _edbe ,_dgge =_fabf .encodeStripingInformation (w );_dgge !=nil {return _gbd ,_ad .Wrap (_dgge ,_caae ,"");};_gbd +=_edbe ;return _gbd ,nil ;};func (_dda *SymbolDictionary )decodeAggregate (_bgee ,_eegdd uint32 )error {var (_dabde int64 ;_gagc error ;);if _dda .IsHuffmanEncoded {_dabde ,_gagc =_dda .huffDecodeRefAggNInst ();if _gagc !=nil {return _gagc ;};}else {_dcgga ,_cedg :=_dda ._cdae .DecodeInt (_dda ._aabd );if _cedg !=nil {return _cedg ;};_dabde =int64 (_dcgga );};if _dabde > 1{return _dda .decodeThroughTextRegion (_bgee ,_eegdd ,uint32 (_dabde ));}else if _dabde ==1{return _dda .decodeRefinedSymbol (_bgee ,_eegdd );};return nil ;};func (_cacbd *TextRegion )encodeSymbols (_ccgb _ga .BinaryWriter )(_agga int ,_fecea error ){const _ceef ="\u0065\u006e\u0063\u006f\u0064\u0065\u0053\u0079\u006d\u0062\u006f\u006c\u0073";_afcd :=make ([]byte ,4);_c .BigEndian .PutUint32 (_afcd ,_cacbd .NumberOfSymbols );if _agga ,_fecea =_ccgb .Write (_afcd );_fecea !=nil {return _agga ,_ad .Wrap (_fecea ,_ceef ,"\u004e\u0075\u006dbe\u0072\u004f\u0066\u0053\u0079\u006d\u0062\u006f\u006c\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0073");};_cggb ,_fecea :=_f .NewClassedPoints (_cacbd ._gfcd ,_db .IntSlice (_cacbd ._adbe ));if _fecea !=nil {return 0,_ad .Wrap (_fecea ,_ceef ,"");};var _abgg ,_bccd int ;_efde :=_e .New ();_efde .Init ();if _fecea =_efde .EncodeInteger (_e .IADT ,0);_fecea !=nil {return _agga ,_ad .Wrap (_fecea ,_ceef ,"\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0020\u0044\u0054");};_bdee ,_fecea :=_cggb .GroupByY ();if _fecea !=nil {return 0,_ad .Wrap (_fecea ,_ceef ,"");};for _ ,_gfgcg :=range _bdee {_eced :=int (_gfgcg .YAtIndex (0));_afgbc :=_eced -_abgg ;if _fecea =_efde .EncodeInteger (_e .IADT ,_afgbc );_fecea !=nil {return _agga ,_ad .Wrap (_fecea ,_ceef ,"");};var _fcfcc int ;for _ebdd ,_abdd :=range _gfgcg .IntSlice {switch _ebdd {case 0:_egbf :=int (_gfgcg .XAtIndex (_ebdd ))-_bccd ;if _fecea =_efde .EncodeInteger (_e .IAFS ,_egbf );_fecea !=nil {return _agga ,_ad .Wrap (_fecea ,_ceef ,"");};_bccd +=_egbf ;_fcfcc =_bccd ;default:_bgcf :=int (_gfgcg .XAtIndex (_ebdd ))-_fcfcc ;if _fecea =_efde .EncodeInteger (_e .IADS ,_bgcf );_fecea !=nil {return _agga ,_ad .Wrap (_fecea ,_ceef ,"");};_fcfcc +=_bgcf ;};_afea ,_bgdb :=_cacbd ._dcfb .Get (_abdd );if _bgdb !=nil {return _agga ,_ad .Wrap (_bgdb ,_ceef ,"");};_cfbbf ,_dcfee :=_cacbd ._ffae [_afea ];if !_dcfee {_cfbbf ,_dcfee =_cacbd ._eddc [_afea ];if !_dcfee {return _agga ,_ad .Errorf (_ceef ,"\u0053\u0079\u006d\u006f\u0062\u006c:\u0020\u0027\u0025d\u0027\u0020\u0069s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064 \u0069\u006e\u0020\u0067\u006cob\u0061\u006c\u0020\u0061\u006e\u0064\u0020\u006c\u006f\u0063\u0061\u006c\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0020\u006d\u0061\u0070",_afea );};};if _bgdb =_efde .EncodeIAID (_cacbd ._abfgd ,_cfbbf );_bgdb !=nil {return _agga ,_ad .Wrap (_bgdb ,_ceef ,"");};};if _fecea =_efde .EncodeOOB (_e .IADS );_fecea !=nil {return _agga ,_ad .Wrap (_fecea ,_ceef ,"");};};_efde .Final ();_ebadb ,_fecea :=_efde .WriteTo (_ccgb );if _fecea !=nil {return _agga ,_ad .Wrap (_fecea ,_ceef ,"");};_agga +=int (_ebadb );return _agga ,nil ;};func (_gab *TextRegion )decodeSymbolInstances ()error {_bba ,_bgad :=_gab .decodeStripT ();if _bgad !=nil {return _bgad ;};var (_bead int64 ;_agdc uint32 ;);for _agdc < _gab .NumberOfSymbolInstances {_baab ,_gdfc :=_gab .decodeDT ();if _gdfc !=nil {return _gdfc ;};_bba +=_baab ;var _bgde int64 ;_agdf :=true ;_gab ._aebc =0;for {if _agdf {_bgde ,_gdfc =_gab .decodeDfs ();if _gdfc !=nil {return _gdfc ;};_bead +=_bgde ;_gab ._aebc =_bead ;_agdf =false ;}else {_afae ,_fbgfb :=_gab .decodeIds ();if _fbgfb !=nil {return _fbgfb ;};if _afae ==_bf .MaxInt32 ||_agdc >=_gab .NumberOfSymbolInstances {break ;};_gab ._aebc +=_afae +int64 (_gab .SbdsOffset );};_abgc ,_febc :=_gab .decodeCurrentT ();if _febc !=nil {return _febc ;};_agff :=_bba +_abgc ;_fece ,_febc :=_gab .decodeID ();if _febc !=nil {return _febc ;};_cdbe ,_febc :=_gab .decodeRI ();if _febc !=nil {return _febc ;};_cdaa ,_febc :=_gab .decodeIb (_cdbe ,_fece );if _febc !=nil {return _febc ;};if _febc =_gab .blit (_cdaa ,_agff );_febc !=nil {return _febc ;};_agdc ++;};};return nil ;};func (_cbcea *TextRegion )decodeStripT ()(_edfg int64 ,_gfaf error ){if _cbcea .IsHuffmanEncoded {if _cbcea .SbHuffDT ==3{if _cbcea ._cbac ==nil {var _fbacg int ;if _cbcea .SbHuffFS ==3{_fbacg ++;};if _cbcea .SbHuffDS ==3{_fbacg ++;};_cbcea ._cbac ,_gfaf =_cbcea .getUserTable (_fbacg );if _gfaf !=nil {return 0,_gfaf ;};};_edfg ,_gfaf =_cbcea ._cbac .Decode (_cbcea ._eaac );if _gfaf !=nil {return 0,_gfaf ;};}else {var _bbcf _gff .Tabler ;_bbcf ,_gfaf =_gff .GetStandardTable (11+int (_cbcea .SbHuffDT ));if _gfaf !=nil {return 0,_gfaf ;};_edfg ,_gfaf =_bbcf .Decode (_cbcea ._eaac );if _gfaf !=nil {return 0,_gfaf ;};};}else {var _edbd int32 ;_edbd ,_gfaf =_cbcea ._eafb .DecodeInt (_cbcea ._agcb );if _gfaf !=nil {return 0,_gfaf ;};_edfg =int64 (_edbd );};_edfg *=int64 (-_cbcea .SbStrips );return _edfg ,nil ;};func (_fcbb *SymbolDictionary )decodeHeightClassDeltaHeightWithHuffman ()(int64 ,error ){switch _fcbb .SdHuffDecodeHeightSelection {case 0:_becc ,_egbe :=_gff .GetStandardTable (4);if _egbe !=nil {return 0,_egbe ;};return _becc .Decode (_fcbb ._gcdc );case 1:_fdbd ,_ggee :=_gff .GetStandardTable (5);if _ggee !=nil {return 0,_ggee ;};return _fdbd .Decode (_fcbb ._gcdc );case 3:if _fcbb ._decb ==nil {_eceae ,_eafg :=_gff .GetStandardTable (0);if _eafg !=nil {return 0,_eafg ;};_fcbb ._decb =_eceae ;};return _fcbb ._decb .Decode (_fcbb ._gcdc );};return 0,nil ;};func (_fbgf *GenericRegion )decodeLine (_agdg ,_acd ,_efcc int )error {const _fgfd ="\u0064\u0065\u0063\u006f\u0064\u0065\u004c\u0069\u006e\u0065";_aade :=_fbgf .Bitmap .GetByteIndex (0,_agdg );_agddb :=_aade -_fbgf .Bitmap .RowStride ;switch _fbgf .GBTemplate {case 0:if !_fbgf .UseExtTemplates {return _fbgf .decodeTemplate0a (_agdg ,_acd ,_efcc ,_aade ,_agddb );};return _fbgf .decodeTemplate0b (_agdg ,_acd ,_efcc ,_aade ,_agddb );case 1:return _fbgf .decodeTemplate1 (_agdg ,_acd ,_efcc ,_aade ,_agddb );case 2:return _fbgf .decodeTemplate2 (_agdg ,_acd ,_efcc ,_aade ,_agddb );case 3:return _fbgf .decodeTemplate3 (_agdg ,_acd ,_efcc ,_aade ,_agddb );};return _ad .Errorf (_fgfd ,"\u0069\u006e\u0076a\u006c\u0069\u0064\u0020G\u0042\u0054\u0065\u006d\u0070\u006c\u0061t\u0065\u0020\u0070\u0072\u006f\u0076\u0069\u0064\u0065\u0064\u003a\u0020\u0025\u0064",_fbgf .GBTemplate );};func (_adag *SymbolDictionary )huffDecodeRefAggNInst ()(int64 ,error ){if !_adag .SdHuffAggInstanceSelection {_cbb ,_cdaed :=_gff .GetStandardTable (1);if _cdaed !=nil {return 0,_cdaed ;};return _cbb .Decode (_adag ._gcdc );};if _adag ._cef ==nil {var (_cfaf int ;_gfgc error ;);if _adag .SdHuffDecodeHeightSelection ==3{_cfaf ++;};if _adag .SdHuffDecodeWidthSelection ==3{_cfaf ++;};if _adag .SdHuffBMSizeSelection ==3{_cfaf ++;};_adag ._cef ,_gfgc =_adag .getUserTable (_cfaf );if _gfgc !=nil {return 0,_gfgc ;};};return _adag ._cef .Decode (_adag ._gcdc );};func (_dfad *HalftoneRegion )shiftAndFill (_cabe int )int {_cabe >>=8;if _cabe < 0{_fdfb :=int (_bf .Log (float64 (_dgd (_cabe )))/_bf .Log (2));_cca :=31-_fdfb ;for _bcgd :=1;_bcgd < _cca ;_bcgd ++{_cabe |=1<<uint (31-_bcgd );};};return _cabe ;};func (_fbfe *RegionSegment )String ()string {_eada :=&_df .Builder {};_eada .WriteString ("\u0009[\u0052E\u0047\u0049\u004f\u004e\u0020S\u0045\u0047M\u0045\u004e\u0054\u005d\u000a");_eada .WriteString (_gf .Sprintf ("\t\u0009\u002d\u0020\u0042\u0069\u0074m\u0061\u0070\u0020\u0028\u0077\u0069d\u0074\u0068\u002c\u0020\u0068\u0065\u0069g\u0068\u0074\u0029\u0020\u005b\u0025\u0064\u0078\u0025\u0064]\u000a",_fbfe .BitmapWidth ,_fbfe .BitmapHeight ));_eada .WriteString (_gf .Sprintf ("\u0009\u0009\u002d\u0020L\u006f\u0063\u0061\u0074\u0069\u006f\u006e\u0020\u0028\u0078,\u0079)\u003a\u0020\u005b\u0025\u0064\u002c\u0025d\u005d\u000a",_fbfe .XLocation ,_fbfe .YLocation ));_eada .WriteString (_gf .Sprintf ("\t\u0009\u002d\u0020\u0043\u006f\u006db\u0069\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070e\u0072\u0061\u0074o\u0072:\u0020\u0025\u0073",_fbfe .CombinaionOperator ));return _eada .String ();};func (_egac *SymbolDictionary )checkInput ()error {if _egac .SdHuffDecodeHeightSelection ==2{_cb .Log .Debug ("\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0044\u0065\u0063\u006f\u0064\u0065\u0020\u0048\u0065\u0069g\u0068\u0020\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0064\u0020\u0076\u0061l\u0075\u0065\u0020\u006e\u006f\u0074 \u0070\u0065r\u006d\u0069t\u0074e\u0064",_egac .SdHuffDecodeHeightSelection );};if _egac .SdHuffDecodeWidthSelection ==2{_cb .Log .Debug ("\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0044\u0065\u0063\u006f\u0064\u0065\u0020\u0057\u0069\u0064t\u0068\u0020\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0064\u0020\u0076\u0061l\u0075\u0065\u0020\u006e\u006f\u0074 \u0070\u0065r\u006d\u0069t\u0074e\u0064",_egac .SdHuffDecodeWidthSelection );};if _egac .IsHuffmanEncoded {if _egac .SdTemplate !=0{_cb .Log .Debug ("\u0053\u0044T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0020\u003d\u0020\u0025\u0064\u0020\u0028\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062e \u0030\u0029",_egac .SdTemplate );};if !_egac .UseRefinementAggregation {if !_egac .UseRefinementAggregation {if _egac ._dbfg {_cb .Log .Debug ("\u0049\u0073\u0043\u006f\u0064\u0069\u006e\u0067C\u006f\u006e\u0074ex\u0074\u0052\u0065\u0074\u0061\u0069n\u0065\u0064\u0020\u003d\u0020\u0074\u0072\u0075\u0065\u0020\u0028\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0066\u0061\u006cs\u0065\u0029");_egac ._dbfg =false ;};if _egac ._edfd {_cb .Log .Debug ("\u0069s\u0043\u006fd\u0069\u006e\u0067\u0043o\u006e\u0074\u0065x\u0074\u0055\u0073\u0065\u0064\u0020\u003d\u0020\u0074ru\u0065\u0020\u0028s\u0068\u006fu\u006c\u0064\u0020\u0062\u0065\u0020f\u0061\u006cs\u0065\u0029");_egac ._edfd =false ;};};};}else {if _egac .SdHuffBMSizeSelection !=0{_cb .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066B\u004d\u0053\u0069\u007a\u0065\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u0030");_egac .SdHuffBMSizeSelection =0;};if _egac .SdHuffDecodeWidthSelection !=0{_cb .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0057\u0069\u0064\u0074\u0068\u0053\u0065\u006c\u0065\u0063\u0074\u0069o\u006e\u0020\u0073\u0068\u006fu\u006c\u0064 \u0062\u0065\u0020\u0030");_egac .SdHuffDecodeWidthSelection =0;};if _egac .SdHuffDecodeHeightSelection !=0{_cb .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0048e\u0069\u0067\u0068\u0074\u0053\u0065l\u0065\u0063\u0074\u0069\u006f\u006e\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u0030");_egac .SdHuffDecodeHeightSelection =0;};};if !_egac .UseRefinementAggregation {if _egac .SdrTemplate !=0{_cb .Log .Debug ("\u0053\u0044\u0052\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u003d\u0020\u0025\u0064\u0020\u0028s\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030\u0029",_egac .SdrTemplate );_egac .SdrTemplate =0;};};if !_egac .IsHuffmanEncoded ||!_egac .UseRefinementAggregation {if _egac .SdHuffAggInstanceSelection {_cb .Log .Debug ("\u0053d\u0048\u0075f\u0066\u0041\u0067g\u0049\u006e\u0073\u0074\u0061\u006e\u0063e\u0053\u0065\u006c\u0065\u0063\u0074i\u006f\u006e\u0020\u003d\u0020\u0025\u0064\u0020\u0028\u0073\u0068o\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030\u0029",_egac .SdHuffAggInstanceSelection );};};return nil ;};func (_bab *Header )readReferredToSegmentNumbers (_dgcb _ga .StreamReader ,_dbbdc int )([]int ,error ){const _cdee ="\u0072\u0065\u0061\u0064R\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0054\u006f\u0053e\u0067m\u0065\u006e\u0074\u004e\u0075\u006d\u0062e\u0072\u0073";_baag :=make ([]int ,_dbbdc );if _dbbdc > 0{_bab .RTSegments =make ([]*Header ,_dbbdc );var (_ccde uint64 ;_ffgg error ;);for _bagb :=0;_bagb < _dbbdc ;_bagb ++{_ccde ,_ffgg =_dgcb .ReadBits (byte (_bab .referenceSize ())<<3);if _ffgg !=nil {return nil ,_ad .Wrapf (_ffgg ,_cdee ,"\u0027\u0025\u0064\u0027 \u0072\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0020\u0073e\u0067m\u0065\u006e\u0074\u0020\u006e\u0075\u006db\u0065\u0072",_bagb );};_baag [_bagb ]=int (_ccde &_bf .MaxInt32 );};};return _baag ,nil ;};func (_aagf *PatternDictionary )extractPatterns (_bdgc *_f .Bitmap )error {var _cfa int ;_eabe :=make ([]*_f .Bitmap ,_aagf .GrayMax +1);for _cfa <=int (_aagf .GrayMax ){_ggdg :=int (_aagf .HdpWidth )*_cfa ;_fdfe :=_g .Rect (_ggdg ,0,_ggdg +int (_aagf .HdpWidth ),int (_aagf .HdpHeight ));_bge ,_dade :=_f .Extract (_fdfe ,_bdgc );if _dade !=nil {return _dade ;};_eabe [_cfa ]=_bge ;_cfa ++;};_aagf .Patterns =_eabe ;return nil ;};func (_beaf *TextRegion )readUseRefinement ()error {if !_beaf .UseRefinement ||_beaf .SbrTemplate !=0{return nil ;};var (_efbe byte ;_dfbd error ;);_beaf .SbrATX =make ([]int8 ,2);_beaf .SbrATY =make ([]int8 ,2);_efbe ,_dfbd =_beaf ._eaac .ReadByte ();if _dfbd !=nil {return _dfbd ;};_beaf .SbrATX [0]=int8 (_efbe );_efbe ,_dfbd =_beaf ._eaac .ReadByte ();if _dfbd !=nil {return _dfbd ;};_beaf .SbrATY [0]=int8 (_efbe );_efbe ,_dfbd =_beaf ._eaac .ReadByte ();if _dfbd !=nil {return _dfbd ;};_beaf .SbrATX [1]=int8 (_efbe );_efbe ,_dfbd =_beaf ._eaac .ReadByte ();if _dfbd !=nil {return _dfbd ;};_beaf .SbrATY [1]=int8 (_efbe );return nil ;};func (_acgb *TextRegion )GetRegionBitmap ()(*_f .Bitmap ,error ){if _acgb .RegionBitmap !=nil {return _acgb .RegionBitmap ,nil ;};if !_acgb .IsHuffmanEncoded {if _fbca :=_acgb .setCodingStatistics ();_fbca !=nil {return nil ,_fbca ;};};if _aebf :=_acgb .createRegionBitmap ();_aebf !=nil {return nil ,_aebf ;};if _gcdf :=_acgb .decodeSymbolInstances ();_gcdf !=nil {return nil ,_gcdf ;};return _acgb .RegionBitmap ,nil ;};func (_bea *GenericRegion )overrideAtTemplate3 (_bffg ,_aced ,_ffgc ,_bga ,_abdb int )int {_bffg &=0x3EF;if _bea .GBAtY [0]==0&&_bea .GBAtX [0]>=-int8 (_abdb ){_bffg |=(_bga >>uint (7-(int8 (_abdb )+_bea .GBAtX [0]))&0x1)<<4;}else {_bffg |=int (_bea .getPixel (_aced +int (_bea .GBAtX [0]),_ffgc +int (_bea .GBAtY [0])))<<4;};return _bffg ;};func (_facc *TextRegion )decodeIds ()(int64 ,error ){const _bfdg ="\u0064e\u0063\u006f\u0064\u0065\u0049\u0064s";if _facc .IsHuffmanEncoded {if _facc .SbHuffDS ==3{if _facc ._dabg ==nil {_ceedd :=0;if _facc .SbHuffFS ==3{_ceedd ++;};var _eegdg error ;_facc ._dabg ,_eegdg =_facc .getUserTable (_ceedd );if _eegdg !=nil {return 0,_ad .Wrap (_eegdg ,_bfdg ,"");};};return _facc ._dabg .Decode (_facc ._eaac );};_bfeca ,_debe :=_gff .GetStandardTable (8+int (_facc .SbHuffDS ));if _debe !=nil {return 0,_ad .Wrap (_debe ,_bfdg ,"");};return _bfeca .Decode (_facc ._eaac );};_fedba ,_dgaf :=_facc ._eafb .DecodeInt (_facc ._gfef );if _dgaf !=nil {return 0,_ad .Wrap (_dgaf ,_bfdg ,"\u0063\u0078\u0049\u0041\u0044\u0053");};return int64 (_fedba ),nil ;};func (_ecde *TextRegion )decodeRdh ()(int64 ,error ){const _bgda ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064h";if _ecde .IsHuffmanEncoded {if _ecde .SbHuffRDHeight ==3{if _ecde ._baed ==nil {var (_fdef int ;_abgda error ;);if _ecde .SbHuffFS ==3{_fdef ++;};if _ecde .SbHuffDS ==3{_fdef ++;};if _ecde .SbHuffDT ==3{_fdef ++;};if _ecde .SbHuffRDWidth ==3{_fdef ++;};_ecde ._baed ,_abgda =_ecde .getUserTable (_fdef );if _abgda !=nil {return 0,_ad .Wrap (_abgda ,_bgda ,"");};};return _ecde ._baed .Decode (_ecde ._eaac );};_bgec ,_badg :=_gff .GetStandardTable (14+int (_ecde .SbHuffRDHeight ));if _badg !=nil {return 0,_ad .Wrap (_badg ,_bgda ,"");};return _bgec .Decode (_ecde ._eaac );};_bcab ,_afec :=_ecde ._eafb .DecodeInt (_ecde ._cbgg );if _afec !=nil {return 0,_ad .Wrap (_afec ,_bgda ,"");};return int64 (_bcab ),nil ;};func (_cgea *Header )writeFlags (_gfa _ga .BinaryWriter )(_fgb error ){const _bgfd ="\u0048\u0065\u0061\u0064\u0065\u0072\u002e\u0077\u0072\u0069\u0074\u0065F\u006c\u0061\u0067\u0073";_bggb :=byte (_cgea .Type );if _fgb =_gfa .WriteByte (_bggb );_fgb !=nil {return _ad .Wrap (_fgb ,_bgfd ,"\u0077\u0072\u0069ti\u006e\u0067\u0020\u0073\u0065\u0067\u006d\u0065\u006et\u0020t\u0079p\u0065 \u006e\u0075\u006d\u0062\u0065\u0072\u0020\u0066\u0061\u0069\u006c\u0065\u0064");};if !_cgea .RetainFlag &&!_cgea .PageAssociationFieldSize {return nil ;};if _fgb =_gfa .SkipBits (-8);_fgb !=nil {return _ad .Wrap (_fgb ,_bgfd ,"\u0073\u006bi\u0070\u0070\u0069\u006e\u0067\u0020\u0062\u0061\u0063\u006b\u0020\u0074\u0068\u0065\u0020\u0062\u0069\u0074\u0073\u0020\u0066\u0061il\u0065\u0064");};var _geg int ;if _cgea .RetainFlag {_geg =1;};if _fgb =_gfa .WriteBit (_geg );_fgb !=nil {return _ad .Wrap (_fgb ,_bgfd ,"\u0072\u0065\u0074\u0061in\u0020\u0072\u0065\u0074\u0061\u0069\u006e\u0020\u0066\u006c\u0061\u0067\u0073");};_geg =0;if _cgea .PageAssociationFieldSize {_geg =1;};if _fgb =_gfa .WriteBit (_geg );_fgb !=nil {return _ad .Wrap (_fgb ,_bgfd ,"p\u0061\u0067\u0065\u0020as\u0073o\u0063\u0069\u0061\u0074\u0069o\u006e\u0020\u0066\u006c\u0061\u0067");};_gfa .FinishByte ();return nil ;};func (_bagdc *SymbolDictionary )readRegionFlags ()error {var (_fbac uint64 ;_gbgf int ;);_ ,_cfccb :=_bagdc ._gcdc .ReadBits (3);if _cfccb !=nil {return _cfccb ;};_gbgf ,_cfccb =_bagdc ._gcdc .ReadBit ();if _cfccb !=nil {return _cfccb ;};_bagdc .SdrTemplate =int8 (_gbgf );_fbac ,_cfccb =_bagdc ._gcdc .ReadBits (2);if _cfccb !=nil {return _cfccb ;};_bagdc .SdTemplate =int8 (_fbac &0xf);_gbgf ,_cfccb =_bagdc ._gcdc .ReadBit ();if _cfccb !=nil {return _cfccb ;};if _gbgf ==1{_bagdc ._dbfg =true ;};_gbgf ,_cfccb =_bagdc ._gcdc .ReadBit ();if _cfccb !=nil {return _cfccb ;};if _gbgf ==1{_bagdc ._edfd =true ;};_gbgf ,_cfccb =_bagdc ._gcdc .ReadBit ();if _cfccb !=nil {return _cfccb ;};if _gbgf ==1{_bagdc .SdHuffAggInstanceSelection =true ;};_gbgf ,_cfccb =_bagdc ._gcdc .ReadBit ();if _cfccb !=nil {return _cfccb ;};_bagdc .SdHuffBMSizeSelection =int8 (_gbgf );_fbac ,_cfccb =_bagdc ._gcdc .ReadBits (2);if _cfccb !=nil {return _cfccb ;};_bagdc .SdHuffDecodeWidthSelection =int8 (_fbac &0xf);_fbac ,_cfccb =_bagdc ._gcdc .ReadBits (2);if _cfccb !=nil {return _cfccb ;};_bagdc .SdHuffDecodeHeightSelection =int8 (_fbac &0xf);_gbgf ,_cfccb =_bagdc ._gcdc .ReadBit ();if _cfccb !=nil {return _cfccb ;};if _gbgf ==1{_bagdc .UseRefinementAggregation =true ;};_gbgf ,_cfccb =_bagdc ._gcdc .ReadBit ();if _cfccb !=nil {return _cfccb ;};if _gbgf ==1{_bagdc .IsHuffmanEncoded =true ;};return nil ;};func (_gadc *TableSegment )HtRS ()int32 {return _gadc ._cbcgf };func (_bbec *RegionSegment )readCombinationOperator ()error {_adca ,_gafe :=_bbec ._bcgae .ReadBits (3);if _gafe !=nil {return _gafe ;};_bbec .CombinaionOperator =_f .CombinationOperator (_adca &0xF);return nil ;};func (_ffe *GenericRegion )InitEncode (bm *_f .Bitmap ,xLoc ,yLoc ,template int ,duplicateLineRemoval bool )error {const _aadb ="\u0047e\u006e\u0065\u0072\u0069\u0063\u0052\u0065\u0067\u0069\u006f\u006e.\u0049\u006e\u0069\u0074\u0045\u006e\u0063\u006f\u0064\u0065";if bm ==nil {return _ad .Error (_aadb ,"\u0070\u0072\u006f\u0076id\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0062\u0069\u0074\u006d\u0061\u0070");};if xLoc < 0||yLoc < 0{return _ad .Error (_aadb ,"\u0078\u0020\u0061\u006e\u0064\u0020\u0079\u0020\u006c\u006f\u0063\u0061\u0074i\u006f\u006e\u0020\u006d\u0075\u0073t\u0020\u0062\u0065\u0020\u0067\u0072\u0065\u0061\u0074\u0065\u0072\u0020\u0074h\u0061\u006e\u0020\u0030");};_ffe .Bitmap =bm ;_ffe .GBTemplate =byte (template );switch _ffe .GBTemplate {case 0:_ffe .GBAtX =[]int8 {3,-3,2,-2};_ffe .GBAtY =[]int8 {-1,-1,-2,-2};case 1:_ffe .GBAtX =[]int8 {3};_ffe .GBAtY =[]int8 {-1};case 2,3:_ffe .GBAtX =[]int8 {2};_ffe .GBAtY =[]int8 {-1};default:return _ad .Errorf (_aadb ,"\u0070\u0072o\u0076\u0069\u0064\u0065\u0064 \u0074\u0065\u006d\u0070\u006ca\u0074\u0065\u003a\u0020\u0027\u0025\u0064\u0027\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0020\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u007b\u0030\u002c\u0031\u002c\u0032\u002c\u0033\u007d",template );};_ffe .RegionSegment =&RegionSegment {BitmapHeight :uint32 (bm .Height ),BitmapWidth :uint32 (bm .Width ),XLocation :uint32 (xLoc ),YLocation :uint32 (yLoc )};_ffe .IsTPGDon =duplicateLineRemoval ;return nil ;};func (_deb *GenericRegion )overrideAtTemplate0b (_cfe ,_ccbb ,_abda ,_bbfa ,_eaf ,_dca int )int {if _deb .GBAtOverride [0]{_cfe &=0xFFFD;if _deb .GBAtY [0]==0&&_deb .GBAtX [0]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [0]&0x1))<<1;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [0]),_abda +int (_deb .GBAtY [0])))<<1;};};if _deb .GBAtOverride [1]{_cfe &=0xDFFF;if _deb .GBAtY [1]==0&&_deb .GBAtX [1]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [1]&0x1))<<13;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [1]),_abda +int (_deb .GBAtY [1])))<<13;};};if _deb .GBAtOverride [2]{_cfe &=0xFDFF;if _deb .GBAtY [2]==0&&_deb .GBAtX [2]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [2]&0x1))<<9;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [2]),_abda +int (_deb .GBAtY [2])))<<9;};};if _deb .GBAtOverride [3]{_cfe &=0xBFFF;if _deb .GBAtY [3]==0&&_deb .GBAtX [3]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [3]&0x1))<<14;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [3]),_abda +int (_deb .GBAtY [3])))<<14;};};if _deb .GBAtOverride [4]{_cfe &=0xEFFF;if _deb .GBAtY [4]==0&&_deb .GBAtX [4]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [4]&0x1))<<12;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [4]),_abda +int (_deb .GBAtY [4])))<<12;};};if _deb .GBAtOverride [5]{_cfe &=0xFFDF;if _deb .GBAtY [5]==0&&_deb .GBAtX [5]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [5]&0x1))<<5;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [5]),_abda +int (_deb .GBAtY [5])))<<5;};};if _deb .GBAtOverride [6]{_cfe &=0xFFFB;if _deb .GBAtY [6]==0&&_deb .GBAtX [6]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [6]&0x1))<<2;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [6]),_abda +int (_deb .GBAtY [6])))<<2;};};if _deb .GBAtOverride [7]{_cfe &=0xFFF7;if _deb .GBAtY [7]==0&&_deb .GBAtX [7]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [7]&0x1))<<3;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [7]),_abda +int (_deb .GBAtY [7])))<<3;};};if _deb .GBAtOverride [8]{_cfe &=0xF7FF;if _deb .GBAtY [8]==0&&_deb .GBAtX [8]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [8]&0x1))<<11;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [8]),_abda +int (_deb .GBAtY [8])))<<11;};};if _deb .GBAtOverride [9]{_cfe &=0xFFEF;if _deb .GBAtY [9]==0&&_deb .GBAtX [9]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [9]&0x1))<<4;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [9]),_abda +int (_deb .GBAtY [9])))<<4;};};if _deb .GBAtOverride [10]{_cfe &=0x7FFF;if _deb .GBAtY [10]==0&&_deb .GBAtX [10]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [10]&0x1))<<15;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [10]),_abda +int (_deb .GBAtY [10])))<<15;};};if _deb .GBAtOverride [11]{_cfe &=0xFDFF;if _deb .GBAtY [11]==0&&_deb .GBAtX [11]>=-int8 (_eaf ){_cfe |=(_bbfa >>uint (int8 (_dca )-_deb .GBAtX [11]&0x1))<<10;}else {_cfe |=int (_deb .getPixel (_ccbb +int (_deb .GBAtX [11]),_abda +int (_deb .GBAtY [11])))<<10;};};return _cfe ;};const (TSymbolDictionary Type =0;TIntermediateTextRegion Type =4;TImmediateTextRegion Type =6;TImmediateLosslessTextRegion Type =7;TPatternDictionary Type =16;TIntermediateHalftoneRegion Type =20;TImmediateHalftoneRegion Type =22;TImmediateLosslessHalftoneRegion Type =23;TIntermediateGenericRegion Type =36;TImmediateGenericRegion Type =38;TImmediateLosslessGenericRegion Type =39;TIntermediateGenericRefinementRegion Type =40;TImmediateGenericRefinementRegion Type =42;TImmediateLosslessGenericRefinementRegion Type =43;TPageInformation Type =48;TEndOfPage Type =49;TEndOfStrip Type =50;TEndOfFile Type =51;TProfiles Type =52;TTables Type =53;TExtension Type =62;TBitmap Type =70;);var _ templater =&template0 {};func (_ecbd *Header )writeReferredToSegments (_afca _ga .BinaryWriter )(_gffc int ,_cfb error ){const _cfca ="\u0077\u0072\u0069te\u0052\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0054\u006f\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073";var (_beae uint16 ;_dgag uint32 ;);_caa :=_ecbd .referenceSize ();_cfbb :=1;_dcba :=make ([]byte ,_caa );for _ ,_baadd :=range _ecbd .RTSNumbers {switch _caa {case 4:_dgag =uint32 (_baadd );_c .BigEndian .PutUint32 (_dcba ,_dgag );_cfbb ,_cfb =_afca .Write (_dcba );if _cfb !=nil {return 0,_ad .Wrap (_cfb ,_cfca ,"u\u0069\u006e\u0074\u0033\u0032\u0020\u0073\u0069\u007a\u0065");};case 2:_beae =uint16 (_baadd );_c .BigEndian .PutUint16 (_dcba ,_beae );_cfbb ,_cfb =_afca .Write (_dcba );if _cfb !=nil {return 0,_ad .Wrap (_cfb ,_cfca ,"\u0075\u0069\u006e\u0074\u0031\u0036");};default:if _cfb =_afca .WriteByte (byte (_baadd ));_cfb !=nil {return 0,_ad .Wrap (_cfb ,_cfca ,"\u0075\u0069\u006et\u0038");};};_gffc +=_cfbb ;};return _gffc ,nil ;};func (_eddf *Header )readHeaderLength (_dgdf _ga .StreamReader ,_aeae int64 ){_eddf .HeaderLength =_dgdf .StreamPosition ()-_aeae ;};func (_fedb *PageInformationSegment )Init (h *Header ,r _ga .StreamReader )(_dgce error ){_fedb ._fed =r ;if _dgce =_fedb .parseHeader ();_dgce !=nil {return _ad .Wrap (_dgce ,"P\u0061\u0067\u0065\u0049\u006e\u0066o\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065g\u006d\u0065\u006et\u002eI\u006e\u0069\u0074","");};return nil ;};func (_ebcb *PatternDictionary )Init (h *Header ,r _ga .StreamReader )error {_ebcb ._abge =r ;return _ebcb .parseHeader ();};type EncodeInitializer interface{InitEncode ();};func (_cbd *EndOfStripe )LineNumber ()int {return _cbd ._ac };func (_abbe *TextRegion )Init (header *Header ,r _ga .StreamReader )error {_abbe .Header =header ;_abbe ._eaac =r ;_abbe .RegionInfo =NewRegionSegment (_abbe ._eaac );return _abbe .parseHeader ();};func (_cad *HalftoneRegion )computeSegmentDataStructure ()error {_cad .DataOffset =_cad ._gbfd .StreamPosition ();_cad .DataHeaderLength =_cad .DataOffset -_cad .DataHeaderOffset ;_cad .DataLength =int64 (_cad ._gbfd .Length ())-_cad .DataHeaderLength ;return nil ;};func (_dcff *PageInformationSegment )Size ()int {return 19};func (_baaa *PageInformationSegment )parseHeader ()(_feg error ){_cb .Log .Trace ("\u005b\u0050\u0061\u0067\u0065I\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065\u0067m\u0065\u006e\u0074\u005d\u0020\u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065\u0061\u0064\u0065\u0072\u002e\u002e\u002e");defer func (){var _cdgb ="[\u0050\u0061\u0067\u0065\u0049\u006e\u0066\u006f\u0072m\u0061\u0074\u0069\u006f\u006e\u0053\u0065gm\u0065\u006e\u0074\u005d \u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065ad\u0065\u0072 \u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064";if _feg !=nil {_cdgb +="\u0020\u0077\u0069t\u0068\u0020\u0065\u0072\u0072\u006f\u0072\u0020"+_feg .Error ();}else {_cdgb +="\u0020\u0073\u0075\u0063\u0063\u0065\u0073\u0073\u0066\u0075\u006c\u006c\u0079";};_cb .Log .Trace (_cdgb );}();if _feg =_baaa .readWidthAndHeight ();_feg !=nil {return _feg ;};if _feg =_baaa .readResolution ();_feg !=nil {return _feg ;};_ ,_feg =_baaa ._fed .ReadBit ();if _feg !=nil {return _feg ;};if _feg =_baaa .readCombinationOperatorOverrideAllowed ();_feg !=nil {return _feg ;};if _feg =_baaa .readRequiresAuxiliaryBuffer ();_feg !=nil {return _feg ;};if _feg =_baaa .readCombinationOperator ();_feg !=nil {return _feg ;};if _feg =_baaa .readDefaultPixelValue ();_feg !=nil {return _feg ;};if _feg =_baaa .readContainsRefinement ();_feg !=nil {return _feg ;};if _feg =_baaa .readIsLossless ();_feg !=nil {return _feg ;};if _feg =_baaa .readIsStriped ();_feg !=nil {return _feg ;};if _feg =_baaa .readMaxStripeSize ();_feg !=nil {return _feg ;};if _feg =_baaa .checkInput ();_feg !=nil {return _feg ;};_cb .Log .Trace ("\u0025\u0073",_baaa );return nil ;};func _aeb (_dbg _ga .StreamReader ,_fbaa *Header )*GenericRefinementRegion {return &GenericRefinementRegion {_bc :_dbg ,RegionInfo :NewRegionSegment (_dbg ),_fc :_fbaa ,_cc :&template0 {},_dba :&template1 {}};};func (_caeb *TextRegion )decodeIb (_gfad ,_ccdg int64 )(*_f .Bitmap ,error ){const _cefb ="\u0064\u0065\u0063\u006f\u0064\u0065\u0049\u0062";var (_beba error ;_ccbe *_f .Bitmap ;);if _gfad ==0{if int (_ccdg )> len (_caeb .Symbols )-1{return nil ,_ad .Error (_cefb ,"\u0064\u0065\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u0049\u0042\u0020\u0062\u0069\u0074\u006d\u0061\u0070\u002e\u0020\u0069\u006e\u0064\u0065x\u0020\u006f\u0075\u0074\u0020o\u0066\u0020r\u0061\u006e\u0067\u0065");};return _caeb .Symbols [int (_ccdg )],nil ;};var _dgdfc ,_abgeg ,_cbeed ,_deeb int64 ;_dgdfc ,_beba =_caeb .decodeRdw ();if _beba !=nil {return nil ,_ad .Wrap (_beba ,_cefb ,"");};_abgeg ,_beba =_caeb .decodeRdh ();if _beba !=nil {return nil ,_ad .Wrap (_beba ,_cefb ,"");};_cbeed ,_beba =_caeb .decodeRdx ();if _beba !=nil {return nil ,_ad .Wrap (_beba ,_cefb ,"");};_deeb ,_beba =_caeb .decodeRdy ();if _beba !=nil {return nil ,_ad .Wrap (_beba ,_cefb ,"");};if _caeb .IsHuffmanEncoded {if _ ,_beba =_caeb .decodeSymInRefSize ();_beba !=nil {return nil ,_ad .Wrap (_beba ,_cefb ,"");};_caeb ._eaac .Align ();};_agfe :=_caeb .Symbols [_ccdg ];_dgfe :=uint32 (_agfe .Width );_defd :=uint32 (_agfe .Height );_cbaag :=int32 (uint32 (_dgdfc )>>1)+int32 (_cbeed );_bddb :=int32 (uint32 (_abgeg )>>1)+int32 (_deeb );if _caeb ._dbaa ==nil {_caeb ._dbaa =_aeb (_caeb ._eaac ,nil );};_caeb ._dbaa .setParameters (_caeb ._agea ,_caeb ._eafb ,_caeb .SbrTemplate ,_dgfe +uint32 (_dgdfc ),_defd +uint32 (_abgeg ),_agfe ,_cbaag ,_bddb ,false ,_caeb .SbrATX ,_caeb .SbrATY );_ccbe ,_beba =_caeb ._dbaa .GetRegionBitmap ();if _beba !=nil {return nil ,_ad .Wrap (_beba ,_cefb ,"\u0067\u0072\u0066");};if _caeb .IsHuffmanEncoded {_caeb ._eaac .Align ();};return _ccbe ,nil ;};func (_fdce *TextRegion )encodeFlags (_efea _ga .BinaryWriter )(_ecae int ,_geged error ){const _dcabd ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _geged =_efea .WriteBit (int (_fdce .SbrTemplate ));_geged !=nil {return _ecae ,_ad .Wrap (_geged ,_dcabd ,"s\u0062\u0072\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};if _ ,_geged =_efea .WriteBits (uint64 (_fdce .SbdsOffset ),5);_geged !=nil {return _ecae ,_ad .Wrap (_geged ,_dcabd ,"\u0073\u0062\u0064\u0073\u004f\u0066\u0066\u0073\u0065\u0074");};if _geged =_efea .WriteBit (int (_fdce .DefaultPixel ));_geged !=nil {return _ecae ,_ad .Wrap (_geged ,_dcabd ,"\u0044\u0065\u0066a\u0075\u006c\u0074\u0050\u0069\u0078\u0065\u006c");};if _ ,_geged =_efea .WriteBits (uint64 (_fdce .CombinationOperator ),2);_geged !=nil {return _ecae ,_ad .Wrap (_geged ,_dcabd ,"\u0043\u006f\u006d\u0062in\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065\u0072\u0061\u0074\u006f\u0072");};if _geged =_efea .WriteBit (int (_fdce .IsTransposed ));_geged !=nil {return _ecae ,_ad .Wrap (_geged ,_dcabd ,"\u0069\u0073\u0020\u0074\u0072\u0061\u006e\u0073\u0070\u006f\u0073\u0065\u0064");};if _ ,_geged =_efea .WriteBits (uint64 (_fdce .ReferenceCorner ),2);_geged !=nil {return _ecae ,_ad .Wrap (_geged ,_dcabd ,"\u0072\u0065f\u0065\u0072\u0065n\u0063\u0065\u0020\u0063\u006f\u0072\u006e\u0065\u0072");};if _ ,_geged =_efea .WriteBits (uint64 (_fdce .LogSBStrips ),2);_geged !=nil {return _ecae ,_ad .Wrap (_geged ,_dcabd ,"L\u006f\u0067\u0053\u0042\u0053\u0074\u0072\u0069\u0070\u0073");};var _ccdd int ;if _fdce .UseRefinement {_ccdd =1;};if _geged =_efea .WriteBit (_ccdd );_geged !=nil {return _ecae ,_ad .Wrap (_geged ,_dcabd ,"\u0075\u0073\u0065\u0020\u0072\u0065\u0066\u0069\u006ee\u006d\u0065\u006e\u0074");};_ccdd =0;if _fdce .IsHuffmanEncoded {_ccdd =1;};if _geged =_efea .WriteBit (_ccdd );_geged !=nil {return _ecae ,_ad .Wrap (_geged ,_dcabd ,"u\u0073\u0065\u0020\u0068\u0075\u0066\u0066\u006d\u0061\u006e");};_ecae =2;return _ecae ,nil ;};func (_cfbg *PageInformationSegment )encodeFlags (_aeee _ga .BinaryWriter )(_gfdd error ){const _ecdd ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _gfdd =_aeee .SkipBits (1);_gfdd !=nil {return _ad .Wrap (_gfdd ,_ecdd ,"\u0072\u0065\u0073e\u0072\u0076\u0065\u0064\u0020\u0062\u0069\u0074");};var _fbgd int ;if _cfbg .CombinationOperatorOverrideAllowed (){_fbgd =1;};if _gfdd =_aeee .WriteBit (_fbgd );_gfdd !=nil {return _ad .Wrap (_gfdd ,_ecdd ,"\u0063\u006f\u006db\u0069\u006e\u0061\u0074i\u006f\u006e\u0020\u006f\u0070\u0065\u0072a\u0074\u006f\u0072\u0020\u006f\u0076\u0065\u0072\u0072\u0069\u0064\u0064\u0065\u006e");};_fbgd =0;if _cfbg ._bgfb {_fbgd =1;};if _gfdd =_aeee .WriteBit (_fbgd );_gfdd !=nil {return _ad .Wrap (_gfdd ,_ecdd ,"\u0072e\u0071\u0075\u0069\u0072e\u0073\u0020\u0061\u0075\u0078i\u006ci\u0061r\u0079\u0020\u0062\u0075\u0066\u0066\u0065r");};if _gfdd =_aeee .WriteBit ((int (_cfbg ._fbbe )>>1)&0x01);_gfdd !=nil {return _ad .Wrap (_gfdd ,_ecdd ,"\u0063\u006f\u006d\u0062\u0069\u006e\u0061\u0074\u0069\u006fn\u0020\u006f\u0070\u0065\u0072\u0061\u0074o\u0072\u0020\u0066\u0069\u0072\u0073\u0074\u0020\u0062\u0069\u0074");};if _gfdd =_aeee .WriteBit (int (_cfbg ._fbbe )&0x01);_gfdd !=nil {return _ad .Wrap (_gfdd ,_ecdd ,"\u0063\u006f\u006db\u0069\u006e\u0061\u0074i\u006f\u006e\u0020\u006f\u0070\u0065\u0072a\u0074\u006f\u0072\u0020\u0073\u0065\u0063\u006f\u006e\u0064\u0020\u0062\u0069\u0074");};_fbgd =int (_cfbg ._gcb );if _gfdd =_aeee .WriteBit (_fbgd );_gfdd !=nil {return _ad .Wrap (_gfdd ,_ecdd ,"\u0064e\u0066\u0061\u0075\u006c\u0074\u0020\u0070\u0061\u0067\u0065\u0020p\u0069\u0078\u0065\u006c\u0020\u0076\u0061\u006c\u0075\u0065");};_fbgd =0;if _cfbg ._fabc {_fbgd =1;};if _gfdd =_aeee .WriteBit (_fbgd );_gfdd !=nil {return _ad .Wrap (_gfdd ,_ecdd ,"\u0063\u006f\u006e\u0074ai\u006e\u0073\u0020\u0072\u0065\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074");};_fbgd =0;if _cfbg .IsLossless {_fbgd =1;};if _gfdd =_aeee .WriteBit (_fbgd );_gfdd !=nil {return _ad .Wrap (_gfdd ,_ecdd ,"p\u0061\u0067\u0065\u0020\u0069\u0073 \u0065\u0076\u0065\u006e\u0074\u0075\u0061\u006c\u006cy\u0020\u006c\u006fs\u0073l\u0065\u0073\u0073");};return nil ;};func (_gega *TableSegment )parseHeader ()error {var (_gadcd int ;_dfadd uint64 ;_gffe error ;);_gadcd ,_gffe =_gega ._dbca .ReadBit ();if _gffe !=nil {return _gffe ;};if _gadcd ==1{return _gf .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0074\u0061\u0062\u006c\u0065 \u0073\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u0064e\u0066\u0069\u006e\u0069\u0074\u0069\u006f\u006e\u002e\u0020\u0042\u002e\u0032\u002e1\u0020\u0043\u006f\u0064\u0065\u0020\u0054\u0061\u0062\u006c\u0065\u0020\u0066\u006c\u0061\u0067\u0073\u003a\u0020\u0042\u0069\u0074\u0020\u0037\u0020\u006d\u0075\u0073\u0074\u0020b\u0065\u0020\u007a\u0065\u0072\u006f\u002e\u0020\u0057a\u0073\u003a \u0025\u0064",_gadcd );};if _dfadd ,_gffe =_gega ._dbca .ReadBits (3);_gffe !=nil {return _gffe ;};_gega ._cbcgf =(int32 (_dfadd )+1)&0xf;if _dfadd ,_gffe =_gega ._dbca .ReadBits (3);_gffe !=nil {return _gffe ;};_gega ._edeg =(int32 (_dfadd )+1)&0xf;if _dfadd ,_gffe =_gega ._dbca .ReadBits (32);_gffe !=nil {return _gffe ;};_gega ._dbeg =int32 (_dfadd &_bf .MaxInt32 );if _dfadd ,_gffe =_gega ._dbca .ReadBits (32);_gffe !=nil {return _gffe ;};_gega ._cfeff =int32 (_dfadd &_bf .MaxInt32 );return nil ;};func (_dgf *GenericRefinementRegion )decodeTypicalPredictedLineTemplate0 (_dcg ,_ede ,_eef ,_abg ,_bbg ,_ace ,_gdc ,_aa ,_dbe int )error {var (_efb ,_aab ,_fe ,_dfg ,_eg ,_ffa int ;_gfb byte ;_bgb error ;);if _dcg > 0{_gfb ,_bgb =_dgf .RegionBitmap .GetByte (_gdc -_eef );if _bgb !=nil {return _bgb ;};_fe =int (_gfb );};if _aa > 0&&_aa <=_dgf .ReferenceBitmap .Height {_gfb ,_bgb =_dgf .ReferenceBitmap .GetByte (_dbe -_abg +_ace );if _bgb !=nil {return _bgb ;};_dfg =int (_gfb )<<4;};if _aa >=0&&_aa < _dgf .ReferenceBitmap .Height {_gfb ,_bgb =_dgf .ReferenceBitmap .GetByte (_dbe +_ace );if _bgb !=nil {return _bgb ;};_eg =int (_gfb )<<1;};if _aa > -2&&_aa < _dgf .ReferenceBitmap .Height -1{_gfb ,_bgb =_dgf .ReferenceBitmap .GetByte (_dbe +_abg +_ace );if _bgb !=nil {return _bgb ;};_ffa =int (_gfb );};_efb =((_fe >>5)&0x6)|((_ffa >>2)&0x30)|(_eg &0x180)|(_dfg &0xc00);var _be int ;for _ec :=0;_ec < _bbg ;_ec =_be {var _bbf int ;_be =_ec +8;var _dec int ;if _dec =_ede -_ec ;_dec > 8{_dec =8;};_ggb :=_be < _ede ;_dce :=_be < _dgf .ReferenceBitmap .Width ;_ca :=_ace +1;if _dcg > 0{_gfb =0;if _ggb {_gfb ,_bgb =_dgf .RegionBitmap .GetByte (_gdc -_eef +1);if _bgb !=nil {return _bgb ;};};_fe =(_fe <<8)|int (_gfb );};if _aa > 0&&_aa <=_dgf .ReferenceBitmap .Height {var _efce int ;if _dce {_gfb ,_bgb =_dgf .ReferenceBitmap .GetByte (_dbe -_abg +_ca );if _bgb !=nil {return _bgb ;};_efce =int (_gfb )<<4;};_dfg =(_dfg <<8)|_efce ;};if _aa >=0&&_aa < _dgf .ReferenceBitmap .Height {var _efd int ;if _dce {_gfb ,_bgb =_dgf .ReferenceBitmap .GetByte (_dbe +_ca );if _bgb !=nil {return _bgb ;};_efd =int (_gfb )<<1;};_eg =(_eg <<8)|_efd ;};if _aa > -2&&_aa < (_dgf .ReferenceBitmap .Height -1){_gfb =0;if _dce {_gfb ,_bgb =_dgf .ReferenceBitmap .GetByte (_dbe +_abg +_ca );if _bgb !=nil {return _bgb ;};};_ffa =(_ffa <<8)|int (_gfb );};for _eb :=0;_eb < _dec ;_eb ++{var _bbfe int ;_ggc :=false ;_gga :=(_efb >>4)&0x1ff;if _gga ==0x1ff{_ggc =true ;_bbfe =1;}else if _gga ==0x00{_ggc =true ;};if !_ggc {if _dgf ._ae {_aab =_dgf .overrideAtTemplate0 (_efb ,_ec +_eb ,_dcg ,_bbf ,_eb );_dgf ._fd .SetIndex (int32 (_aab ));}else {_dgf ._fd .SetIndex (int32 (_efb ));};_bbfe ,_bgb =_dgf ._gd .DecodeBit (_dgf ._fd );if _bgb !=nil {return _bgb ;};};_cde :=uint (7-_eb );_bbf |=int (_bbfe <<_cde );_efb =((_efb &0xdb6)<<1)|_bbfe |(_fe >>_cde +5)&0x002|((_ffa >>_cde +2)&0x010)|((_eg >>_cde )&0x080)|((_dfg >>_cde )&0x400);};_bgb =_dgf .RegionBitmap .SetByte (_gdc ,byte (_bbf ));if _bgb !=nil {return _bgb ;};_gdc ++;_dbe ++;};return nil ;};type Segmenter interface{Init (_effb *Header ,_dcfe _ga .StreamReader )error ;};var _ SegmentEncoder =&RegionSegment {};func (_gfca *GenericRegion )updateOverrideFlags ()error {const _bbef ="\u0075\u0070\u0064\u0061te\u004f\u0076\u0065\u0072\u0072\u0069\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _gfca .GBAtX ==nil ||_gfca .GBAtY ==nil {return nil ;};if len (_gfca .GBAtX )!=len (_gfca .GBAtY ){return _ad .Errorf (_bbef ,"i\u006eco\u0073i\u0073t\u0065\u006e\u0074\u0020\u0041T\u0020\u0070\u0069x\u0065\u006c\u002e\u0020\u0041m\u006f\u0075\u006et\u0020\u006f\u0066\u0020\u0027\u0078\u0027\u0020\u0070\u0069\u0078e\u006c\u0073\u003a %d\u002c\u0020\u0041\u006d\u006f\u0075n\u0074\u0020\u006f\u0066\u0020\u0027\u0079\u0027\u0020\u0070\u0069\u0078e\u006cs\u003a\u0020\u0025\u0064",len (_gfca .GBAtX ),len (_gfca .GBAtY ));};_gfca .GBAtOverride =make ([]bool ,len (_gfca .GBAtX ));switch _gfca .GBTemplate {case 0:if !_gfca .UseExtTemplates {if _gfca .GBAtX [0]!=3||_gfca .GBAtY [0]!=-1{_gfca .setOverrideFlag (0);};if _gfca .GBAtX [1]!=-3||_gfca .GBAtY [1]!=-1{_gfca .setOverrideFlag (1);};if _gfca .GBAtX [2]!=2||_gfca .GBAtY [2]!=-2{_gfca .setOverrideFlag (2);};if _gfca .GBAtX [3]!=-2||_gfca .GBAtY [3]!=-2{_gfca .setOverrideFlag (3);};}else {if _gfca .GBAtX [0]!=-2||_gfca .GBAtY [0]!=0{_gfca .setOverrideFlag (0);};if _gfca .GBAtX [1]!=0||_gfca .GBAtY [1]!=-2{_gfca .setOverrideFlag (1);};if _gfca .GBAtX [2]!=-2||_gfca .GBAtY [2]!=-1{_gfca .setOverrideFlag (2);};if _gfca .GBAtX [3]!=-1||_gfca .GBAtY [3]!=-2{_gfca .setOverrideFlag (3);};if _gfca .GBAtX [4]!=1||_gfca .GBAtY [4]!=-2{_gfca .setOverrideFlag (4);};if _gfca .GBAtX [5]!=2||_gfca .GBAtY [5]!=-1{_gfca .setOverrideFlag (5);};if _gfca .GBAtX [6]!=-3||_gfca .GBAtY [6]!=0{_gfca .setOverrideFlag (6);};if _gfca .GBAtX [7]!=-4||_gfca .GBAtY [7]!=0{_gfca .setOverrideFlag (7);};if _gfca .GBAtX [8]!=2||_gfca .GBAtY [8]!=-2{_gfca .setOverrideFlag (8);};if _gfca .GBAtX [9]!=3||_gfca .GBAtY [9]!=-1{_gfca .setOverrideFlag (9);};if _gfca .GBAtX [10]!=-2||_gfca .GBAtY [10]!=-2{_gfca .setOverrideFlag (10);};if _gfca .GBAtX [11]!=-3||_gfca .GBAtY [11]!=-1{_gfca .setOverrideFlag (11);};};case 1:if _gfca .GBAtX [0]!=3||_gfca .GBAtY [0]!=-1{_gfca .setOverrideFlag (0);};case 2:if _gfca .GBAtX [0]!=2||_gfca .GBAtY [0]!=-1{_gfca .setOverrideFlag (0);};case 3:if _gfca .GBAtX [0]!=2||_gfca .GBAtY [0]!=-1{_gfca .setOverrideFlag (0);};};return nil ;};func (_dafb *PatternDictionary )readGrayMax ()error {_fccb ,_bca :=_dafb ._abge .ReadBits (32);if _bca !=nil {return _bca ;};_dafb .GrayMax =uint32 (_fccb &_bf .MaxUint32 );return nil ;};type TextRegion struct{_eaac _ga .StreamReader ;RegionInfo *RegionSegment ;SbrTemplate int8 ;SbdsOffset int8 ;DefaultPixel int8 ;CombinationOperator _f .CombinationOperator ;IsTransposed int8 ;ReferenceCorner int16 ;LogSBStrips int16 ;UseRefinement bool ;IsHuffmanEncoded bool ;SbHuffRSize int8 ;SbHuffRDY int8 ;SbHuffRDX int8 ;SbHuffRDHeight int8 ;SbHuffRDWidth int8 ;SbHuffDT int8 ;SbHuffDS int8 ;SbHuffFS int8 ;SbrATX []int8 ;SbrATY []int8 ;NumberOfSymbolInstances uint32 ;_aebc int64 ;SbStrips int8 ;NumberOfSymbols uint32 ;RegionBitmap *_f .Bitmap ;Symbols []*_f .Bitmap ;_eafb *_adc .Decoder ;_dbaa *GenericRefinementRegion ;_agcb *_adc .DecoderStats ;_cgbce *_adc .DecoderStats ;_gfef *_adc .DecoderStats ;_fafbg *_adc .DecoderStats ;_agag *_adc .DecoderStats ;_fafae *_adc .DecoderStats ;_cbgg *_adc .DecoderStats ;_bbb *_adc .DecoderStats ;_fedc *_adc .DecoderStats ;_fbacf *_adc .DecoderStats ;_agea *_adc .DecoderStats ;_bffce int8 ;_cgda *_gff .FixedSizeTable ;Header *Header ;_fccbe _gff .Tabler ;_dabg _gff .Tabler ;_cbac _gff .Tabler ;_bddc _gff .Tabler ;_baed _gff .Tabler ;_eafbe _gff .Tabler ;_ecfa _gff .Tabler ;_bgfda _gff .Tabler ;_ffae ,_eddc map[int ]int ;_adbe []int ;_gfcd *_f .Points ;_gdegg *_f .Bitmaps ;_dcfb *_db .IntSlice ;_dcbea ,_abfgd int ;_beeb *_f .Boxes ;};func (_gdda *Header )GetSegmentData ()(Segmenter ,error ){var _decf Segmenter ;if _gdda .SegmentData !=nil {_decf =_gdda .SegmentData ;};if _decf ==nil {_bbc ,_dedg :=_ebc [_gdda .Type ];if !_dedg {return nil ,_gf .Errorf ("\u0074\u0079\u0070\u0065\u003a\u0020\u0025\u0073\u002f\u0020\u0025\u0064\u0020\u0063\u0072e\u0061t\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064\u002e\u0020",_gdda .Type ,_gdda .Type );};_decf =_bbc ();_cb .Log .Trace ("\u005b\u0053E\u0047\u004d\u0045\u004e\u0054-\u0048\u0045\u0041\u0044\u0045R\u005d\u005b\u0023\u0025\u0064\u005d\u0020\u0047\u0065\u0074\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0044\u0061\u0074\u0061\u0020\u0061\u0074\u0020\u004f\u0066\u0066\u0073\u0065\u0074\u003a\u0020\u0025\u0030\u0034\u0058",_gdda .SegmentNumber ,_gdda .SegmentDataStartOffset );_eaee ,_bbcg :=_gdda .subInputReader ();if _bbcg !=nil {return nil ,_bbcg ;};if _gbac :=_decf .Init (_gdda ,_eaee );_gbac !=nil {_cb .Log .Debug ("\u0049\u006e\u0069\u0074 \u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0076 \u0066o\u0072\u0020\u0074\u0079\u0070\u0065\u003a \u0025\u0054",_gbac ,_decf );return nil ,_gbac ;};_gdda .SegmentData =_decf ;};return _decf ,nil ;};func (_ffcbb *TextRegion )setCodingStatistics ()error {if _ffcbb ._agcb ==nil {_ffcbb ._agcb =_adc .NewStats (512,1);};if _ffcbb ._cgbce ==nil {_ffcbb ._cgbce =_adc .NewStats (512,1);};if _ffcbb ._gfef ==nil {_ffcbb ._gfef =_adc .NewStats (512,1);};if _ffcbb ._fafbg ==nil {_ffcbb ._fafbg =_adc .NewStats (512,1);};if _ffcbb ._agag ==nil {_ffcbb ._agag =_adc .NewStats (512,1);};if _ffcbb ._fafae ==nil {_ffcbb ._fafae =_adc .NewStats (512,1);};if _ffcbb ._cbgg ==nil {_ffcbb ._cbgg =_adc .NewStats (512,1);};if _ffcbb ._bbb ==nil {_ffcbb ._bbb =_adc .NewStats (1<<uint (_ffcbb ._bffce ),1);};if _ffcbb ._fedc ==nil {_ffcbb ._fedc =_adc .NewStats (512,1);};if _ffcbb ._fbacf ==nil {_ffcbb ._fbacf =_adc .NewStats (512,1);};if _ffcbb ._eafb ==nil {var _bfae error ;_ffcbb ._eafb ,_bfae =_adc .New (_ffcbb ._eaac );if _bfae !=nil {return _bfae ;};};return nil ;};func (_addg *SymbolDictionary )parseHeader ()(_cbcg error ){_cb .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c \u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e");defer func (){if _cbcg !=nil {_cb .Log .Trace ("\u005bS\u0059\u004dB\u004f\u004c\u0020\u0044I\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u005b\u0050\u0041\u0052SE\u002d\u0048\u0045A\u0044\u0045R\u005d\u0020\u0066\u0061\u0069\u006ce\u0064\u002e \u0025\u0076",_cbcg );}else {_cb .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c \u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u002e");};}();if _cbcg =_addg .readRegionFlags ();_cbcg !=nil {return _cbcg ;};if _cbcg =_addg .setAtPixels ();_cbcg !=nil {return _cbcg ;};if _cbcg =_addg .setRefinementAtPixels ();_cbcg !=nil {return _cbcg ;};if _cbcg =_addg .readNumberOfExportedSymbols ();_cbcg !=nil {return _cbcg ;};if _cbcg =_addg .readNumberOfNewSymbols ();_cbcg !=nil {return _cbcg ;};if _cbcg =_addg .setInSyms ();_cbcg !=nil {return _cbcg ;};if _addg ._edfd {_bdabd :=_addg .Header .RTSegments ;for _fefec :=len (_bdabd )-1;_fefec >=0;_fefec --{if _bdabd [_fefec ].Type ==0{_gfcf ,_eaad :=_bdabd [_fefec ].SegmentData .(*SymbolDictionary );if !_eaad {_cbcg =_gf .Errorf ("\u0072\u0065\u006c\u0061\u0074\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074:\u0020\u0025\u0076\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020S\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069\u006fna\u0072\u0079\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074",_bdabd [_fefec ]);return _cbcg ;};if _gfcf ._edfd {_addg .setRetainedCodingContexts (_gfcf );};break ;};};};if _cbcg =_addg .checkInput ();_cbcg !=nil {return _cbcg ;};return nil ;};func (_bbcge *SymbolDictionary )readNumberOfNewSymbols ()error {_cggg ,_bedf :=_bbcge ._gcdc .ReadBits (32);if _bedf !=nil {return _bedf ;};_bbcge .NumberOfNewSymbols =uint32 (_cggg &_bf .MaxUint32 );return nil ;};func (_deef *GenericRegion )decodeTemplate3 (_afdc ,_geaa ,_cfdb int ,_adcc ,_acgg int )(_cgf error ){const _dfga ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0033";var (_bad ,_bbgf int ;_gbaf int ;_gacd byte ;_bfd ,_bef int ;);if _afdc >=1{_gacd ,_cgf =_deef .Bitmap .GetByte (_acgg );if _cgf !=nil {return _ad .Wrap (_cgf ,_dfga ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_gbaf =int (_gacd );};_bad =(_gbaf >>1)&0x70;for _ege :=0;_ege < _cfdb ;_ege =_bfd {var (_ecba byte ;_acga int ;);_bfd =_ege +8;if _efdc :=_geaa -_ege ;_efdc > 8{_acga =8;}else {_acga =_efdc ;};if _afdc >=1{_gbaf <<=8;if _bfd < _geaa {_gacd ,_cgf =_deef .Bitmap .GetByte (_acgg +1);if _cgf !=nil {return _ad .Wrap (_cgf ,_dfga ,"\u0069\u006e\u006e\u0065\u0072\u0020\u002d\u0020\u006c\u0069\u006e\u0065 \u003e\u003d\u0020\u0031");};_gbaf |=int (_gacd );};};for _fcac :=0;_fcac < _acga ;_fcac ++{if _deef ._ffdd {_bbgf =_deef .overrideAtTemplate3 (_bad ,_ege +_fcac ,_afdc ,int (_ecba ),_fcac );_deef ._fge .SetIndex (int32 (_bbgf ));}else {_deef ._fge .SetIndex (int32 (_bad ));};_bef ,_cgf =_deef ._cbc .DecodeBit (_deef ._fge );if _cgf !=nil {return _ad .Wrap (_cgf ,_dfga ,"");};_ecba |=byte (_bef )<<byte (7-_fcac );_bad =((_bad &0x1f7)<<1)|_bef |((_gbaf >>uint (8-_fcac ))&0x010);};if _egg :=_deef .Bitmap .SetByte (_adcc ,_ecba );_egg !=nil {return _ad .Wrap (_egg ,_dfga ,"");};_adcc ++;_acgg ++;};return nil ;};func (_eeece *SymbolDictionary )decodeNewSymbols (_aggga ,_becg uint32 ,_gebe *_f .Bitmap ,_cddf ,_ffgf int32 )error {if _eeece ._adcf ==nil {_eeece ._adcf =_aeb (_eeece ._gcdc ,nil );if _eeece ._cdae ==nil {var _ebf error ;_eeece ._cdae ,_ebf =_adc .New (_eeece ._gcdc );if _ebf !=nil {return _ebf ;};};if _eeece ._dbfa ==nil {_eeece ._dbfa =_adc .NewStats (65536,1);};};_eeece ._adcf .setParameters (_eeece ._dbfa ,_eeece ._cdae ,_eeece .SdrTemplate ,_aggga ,_becg ,_gebe ,_cddf ,_ffgf ,false ,_eeece .SdrATX ,_eeece .SdrATY );return _eeece .addSymbol (_eeece ._adcf );};func (_bdbb *PageInformationSegment )readWidthAndHeight ()error {_gcgd ,_dbebg :=_bdbb ._fed .ReadBits (32);if _dbebg !=nil {return _dbebg ;};_bdbb .PageBMWidth =int (_gcgd &_bf .MaxInt32 );_gcgd ,_dbebg =_bdbb ._fed .ReadBits (32);if _dbebg !=nil {return _dbebg ;};_bdbb .PageBMHeight =int (_gcgd &_bf .MaxInt32 );return nil ;};func (_acg *GenericRefinementRegion )GetRegionBitmap ()(*_f .Bitmap ,error ){var _gde error ;_cb .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0047\u0065\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006d\u0061\u0070\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e");defer func (){if _gde !=nil {_cb .Log .Trace ("[\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052E\u0046\u002d\u0052\u0045\u0047\u0049\u004fN]\u0020\u0047\u0065\u0074R\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006dap\u0020\u0066a\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0076",_gde );}else {_cb .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0047\u0065\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006d\u0061\u0070\u0020\u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u002e");};}();if _acg .RegionBitmap !=nil {return _acg .RegionBitmap ,nil ;};_fcc :=0;if _acg .ReferenceBitmap ==nil {_acg .ReferenceBitmap ,_gde =_acg .getGrReference ();if _gde !=nil {return nil ,_gde ;};};if _acg ._gd ==nil {_acg ._gd ,_gde =_adc .New (_acg ._bc );if _gde !=nil {return nil ,_gde ;};};if _acg ._fd ==nil {_acg ._fd =_adc .NewStats (8192,1);};_acg .RegionBitmap =_f .New (int (_acg .RegionInfo .BitmapWidth ),int (_acg .RegionInfo .BitmapHeight ));if _acg .TemplateID ==0{if _gde =_acg .updateOverride ();_gde !=nil {return nil ,_gde ;};};_bb :=(_acg .RegionBitmap .Width +7)&-8;var _da int ;if _acg .IsTPGROn {_da =int (-_acg .ReferenceDY )*_acg .ReferenceBitmap .RowStride ;};_bfe :=_da +1;for _efc :=0;_efc < _acg .RegionBitmap .Height ;_efc ++{if _acg .IsTPGROn {_cg ,_fdg :=_acg .decodeSLTP ();if _fdg !=nil {return nil ,_fdg ;};_fcc ^=_cg ;};if _fcc ==0{_gde =_acg .decodeOptimized (_efc ,_acg .RegionBitmap .Width ,_acg .RegionBitmap .RowStride ,_acg .ReferenceBitmap .RowStride ,_bb ,_da ,_bfe );if _gde !=nil {return nil ,_gde ;};}else {_gde =_acg .decodeTypicalPredictedLine (_efc ,_acg .RegionBitmap .Width ,_acg .RegionBitmap .RowStride ,_acg .ReferenceBitmap .RowStride ,_bb ,_da );if _gde !=nil {return nil ,_gde ;};};};return _acg .RegionBitmap ,nil ;};func (_faed *SymbolDictionary )Encode (w _ga .BinaryWriter )(_efbf int ,_gdeag error ){const _acedd ="\u0053\u0079\u006dbo\u006c\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002e\u0045\u006e\u0063\u006f\u0064\u0065";if _faed ==nil {return 0,_ad .Error (_acedd ,"\u0073\u0079m\u0062\u006f\u006c\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006e\u006f\u0074\u0020\u0064\u0065\u0066in\u0065\u0064");};if _efbf ,_gdeag =_faed .encodeFlags (w );_gdeag !=nil {return _efbf ,_ad .Wrap (_gdeag ,_acedd ,"");};_fcfa ,_gdeag :=_faed .encodeATFlags (w );if _gdeag !=nil {return _efbf ,_ad .Wrap (_gdeag ,_acedd ,"");};_efbf +=_fcfa ;if _fcfa ,_gdeag =_faed .encodeRefinementATFlags (w );_gdeag !=nil {return _efbf ,_ad .Wrap (_gdeag ,_acedd ,"");};_efbf +=_fcfa ;if _fcfa ,_gdeag =_faed .encodeNumSyms (w );_gdeag !=nil {return _efbf ,_ad .Wrap (_gdeag ,_acedd ,"");};_efbf +=_fcfa ;if _fcfa ,_gdeag =_faed .encodeSymbols (w );_gdeag !=nil {return _efbf ,_ad .Wrap (_gdeag ,_acedd ,"");};_efbf +=_fcfa ;return _efbf ,nil ;};func (_fadd *GenericRegion )setParametersWithAt (_bfcf bool ,_cega byte ,_eff ,_facf bool ,_cbda ,_affc []int8 ,_edbf ,_eca uint32 ,_efge *_adc .DecoderStats ,_dgef *_adc .Decoder ){_fadd .IsMMREncoded =_bfcf ;_fadd .GBTemplate =_cega ;_fadd .IsTPGDon =_eff ;_fadd .GBAtX =_cbda ;_fadd .GBAtY =_affc ;_fadd .RegionSegment .BitmapHeight =_eca ;_fadd .RegionSegment .BitmapWidth =_edbf ;_fadd ._cge =nil ;_fadd .Bitmap =nil ;if _efge !=nil {_fadd ._fge =_efge ;};if _dgef !=nil {_fadd ._cbc =_dgef ;};_cb .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0047\u0049O\u004e\u005d\u0020\u0073\u0065\u0074P\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073\u0020\u0053\u0044\u0041t\u003a\u0020\u0025\u0073",_fadd );};func (_bbefg *TableSegment )StreamReader ()_ga .StreamReader {return _bbefg ._dbca };func (_fcde *TextRegion )decodeRdx ()(int64 ,error ){const _ggab ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064x";if _fcde .IsHuffmanEncoded {if _fcde .SbHuffRDX ==3{if _fcde ._eafbe ==nil {var (_cebf int ;_cace error ;);if _fcde .SbHuffFS ==3{_cebf ++;};if _fcde .SbHuffDS ==3{_cebf ++;};if _fcde .SbHuffDT ==3{_cebf ++;};if _fcde .SbHuffRDWidth ==3{_cebf ++;};if _fcde .SbHuffRDHeight ==3{_cebf ++;};_fcde ._eafbe ,_cace =_fcde .getUserTable (_cebf );if _cace !=nil {return 0,_ad .Wrap (_cace ,_ggab ,"");};};return _fcde ._eafbe .Decode (_fcde ._eaac );};_dfddf ,_ggea :=_gff .GetStandardTable (14+int (_fcde .SbHuffRDX ));if _ggea !=nil {return 0,_ad .Wrap (_ggea ,_ggab ,"");};return _dfddf .Decode (_fcde ._eaac );};_gfeg ,_bgce :=_fcde ._eafb .DecodeInt (_fcde ._fedc );if _bgce !=nil {return 0,_ad .Wrap (_bgce ,_ggab ,"");};return int64 (_gfeg ),nil ;};func (_afgg *TextRegion )decodeRI ()(int64 ,error ){if !_afgg .UseRefinement {return 0,nil ;};if _afgg .IsHuffmanEncoded {_eddfg ,_badf :=_afgg ._eaac .ReadBit ();return int64 (_eddfg ),_badf ;};_dbegf ,_bdad :=_afgg ._eafb .DecodeInt (_afgg ._agag );return int64 (_dbegf ),_bdad ;};func (_gefa *TextRegion )decodeDfs ()(int64 ,error ){if _gefa .IsHuffmanEncoded {if _gefa .SbHuffFS ==3{if _gefa ._fccbe ==nil {var _agfd error ;_gefa ._fccbe ,_agfd =_gefa .getUserTable (0);if _agfd !=nil {return 0,_agfd ;};};return _gefa ._fccbe .Decode (_gefa ._eaac );};_gbfc ,_fafgd :=_gff .GetStandardTable (6+int (_gefa .SbHuffFS ));if _fafgd !=nil {return 0,_fafgd ;};return _gbfc .Decode (_gefa ._eaac );};_dgfde ,_afgb :=_gefa ._eafb .DecodeInt (_gefa ._cgbce );if _afgb !=nil {return 0,_afgb ;};return int64 (_dgfde ),nil ;};func (_dcbf *RegionSegment )Size ()int {return 17};func (_bfgfa *SymbolDictionary )InitEncode (symbols *_f .Bitmaps ,symbolList []int ,symbolMap map[int ]int ,unborderSymbols bool )error {const _daab ="S\u0079\u006d\u0062\u006f\u006c\u0044i\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002eI\u006e\u0069\u0074E\u006ec\u006f\u0064\u0065";_bfgfa .SdATX =[]int8 {3,-3,2,-2};_bfgfa .SdATY =[]int8 {-1,-1,-2,-2};_bfgfa ._ggdc =symbols ;_bfgfa ._bbcga =make ([]int ,len (symbolList ));copy (_bfgfa ._bbcga ,symbolList );if len (_bfgfa ._bbcga )!=_bfgfa ._ggdc .Size (){return _ad .Error (_daab ,"s\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0061\u006e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u004ci\u0073\u0074\u0020\u006f\u0066\u0020\u0064\u0069\u0066\u0066er\u0065\u006e\u0074 \u0073i\u007a\u0065");};_bfgfa .NumberOfNewSymbols =uint32 (symbols .Size ());_bfgfa .NumberOfExportedSymbols =uint32 (symbols .Size ());_bfgfa ._faca =symbolMap ;_bfgfa ._eac =unborderSymbols ;return nil ;};func (_dgc *Header )parse (_cege Documenter ,_cecf _ga .StreamReader ,_aca int64 ,_cdec OrganizationType )(_dbef error ){const _fcga ="\u0070\u0061\u0072s\u0065";_cb .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u002d\u0048E\u0041\u0044\u0045\u0052\u005d\u005b\u0050A\u0052\u0053\u0045\u005d\u0020\u0042\u0065\u0067\u0069\u006e\u0073");defer func (){if _dbef !=nil {_cb .Log .Trace ("\u005b\u0053\u0045GM\u0045\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045R\u005d[\u0050A\u0052S\u0045\u005d\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0076",_dbef );}else {_cb .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052]\u005bP\u0041\u0052\u0053\u0045\u005d\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064");};}();_ ,_dbef =_cecf .Seek (_aca ,_gg .SeekStart );if _dbef !=nil {return _ad .Wrap (_dbef ,_fcga ,"\u0073\u0065\u0065\u006b\u0020\u0073\u0074\u0061\u0072\u0074");};if _dbef =_dgc .readSegmentNumber (_cecf );_dbef !=nil {return _ad .Wrap (_dbef ,_fcga ,"");};if _dbef =_dgc .readHeaderFlags ();_dbef !=nil {return _ad .Wrap (_dbef ,_fcga ,"");};var _gefc uint64 ;_gefc ,_dbef =_dgc .readNumberOfReferredToSegments (_cecf );if _dbef !=nil {return _ad .Wrap (_dbef ,_fcga ,"");};_dgc .RTSNumbers ,_dbef =_dgc .readReferredToSegmentNumbers (_cecf ,int (_gefc ));if _dbef !=nil {return _ad .Wrap (_dbef ,_fcga ,"");};_dbef =_dgc .readSegmentPageAssociation (_cege ,_cecf ,_gefc ,_dgc .RTSNumbers ...);if _dbef !=nil {return _ad .Wrap (_dbef ,_fcga ,"");};if _dgc .Type !=TEndOfFile {if _dbef =_dgc .readSegmentDataLength (_cecf );_dbef !=nil {return _ad .Wrap (_dbef ,_fcga ,"");};};_dgc .readDataStartOffset (_cecf ,_cdec );_dgc .readHeaderLength (_cecf ,_aca );_cb .Log .Trace ("\u0025\u0073",_dgc );return nil ;};func (_dbcf *SymbolDictionary )encodeSymbols (_edgc _ga .BinaryWriter )(_adcfg int ,_ddfd error ){const _cdgbc ="\u0065\u006e\u0063o\u0064\u0065\u0053\u0079\u006d\u0062\u006f\u006c";_edga :=_e .New ();_edga .Init ();_gae ,_ddfd :=_dbcf ._ggdc .SelectByIndexes (_dbcf ._bbcga );if _ddfd !=nil {return 0,_ad .Wrap (_ddfd ,_cdgbc ,"\u0069n\u0069\u0074\u0069\u0061\u006c");};_bfag :=map[*_f .Bitmap ]int {};for _dgedf ,_gce :=range _gae .Values {_bfag [_gce ]=_dgedf ;};_gae .SortByHeight ();var _edba ,_bdga int ;_caaf ,_ddfd :=_gae .GroupByHeight ();if _ddfd !=nil {return 0,_ad .Wrap (_ddfd ,_cdgbc ,"");};for _ ,_cgae :=range _caaf .Values {_ggbb :=_cgae .Values [0].Height ;_dacaf :=_ggbb -_edba ;if _ddfd =_edga .EncodeInteger (_e .IADH ,_dacaf );_ddfd !=nil {return 0,_ad .Wrapf (_ddfd ,_cdgbc ,"\u0049\u0041\u0044\u0048\u0020\u0066\u006f\u0072\u0020\u0064\u0068\u003a \u0027\u0025\u0064\u0027",_dacaf );};_edba =_ggbb ;_cgdec ,_cbaf :=_cgae .GroupByWidth ();if _cbaf !=nil {return 0,_ad .Wrapf (_cbaf ,_cdgbc ,"\u0068\u0065\u0069g\u0068\u0074\u003a\u0020\u0027\u0025\u0064\u0027",_ggbb );};var _caga int ;for _ ,_edbc :=range _cgdec .Values {for _ ,_dgdd :=range _edbc .Values {_ebcg :=_dgdd .Width ;_gdfe :=_ebcg -_caga ;if _cbaf =_edga .EncodeInteger (_e .IADW ,_gdfe );_cbaf !=nil {return 0,_ad .Wrapf (_cbaf ,_cdgbc ,"\u0049\u0041\u0044\u0057\u0020\u0066\u006f\u0072\u0020\u0064\u0077\u003a \u0027\u0025\u0064\u0027",_gdfe );};_caga +=_gdfe ;if _cbaf =_edga .EncodeBitmap (_dgdd ,false );_cbaf !=nil {return 0,_ad .Wrapf (_cbaf ,_cdgbc ,"H\u0065i\u0067\u0068\u0074\u003a\u0020\u0025\u0064\u0020W\u0069\u0064\u0074\u0068: \u0025\u0064",_ggbb ,_ebcg );};_agege :=_bfag [_dgdd ];_dbcf ._faca [_agege ]=_bdga ;_bdga ++;};};if _cbaf =_edga .EncodeOOB (_e .IADW );_cbaf !=nil {return 0,_ad .Wrap (_cbaf ,_cdgbc ,"\u0049\u0041\u0044\u0057");};};if _ddfd =_edga .EncodeInteger (_e .IAEX ,0);_ddfd !=nil {return 0,_ad .Wrap (_ddfd ,_cdgbc ,"\u0065\u0078p\u006f\u0072\u0074e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};if _ddfd =_edga .EncodeInteger (_e .IAEX ,len (_dbcf ._bbcga ));_ddfd !=nil {return 0,_ad .Wrap (_ddfd ,_cdgbc ,"\u006e\u0075\u006d\u0062\u0065\u0072\u0020\u006f\u0066\u0020\u0073\u0079m\u0062\u006f\u006c\u0073");};_edga .Final ();_ccce ,_ddfd :=_edga .WriteTo (_edgc );if _ddfd !=nil {return 0,_ad .Wrap (_ddfd ,_cdgbc ,"\u0077\u0072i\u0074\u0069\u006e\u0067 \u0065\u006ec\u006f\u0064\u0065\u0072\u0020\u0063\u006f\u006et\u0065\u0078\u0074\u0020\u0074\u006f\u0020\u0027\u0077\u0027\u0020\u0077r\u0069\u0074\u0065\u0072");};return int (_ccce ),nil ;};func (_gdfb *HalftoneRegion )parseHeader ()error {if _dbaba :=_gdfb .RegionSegment .parseHeader ();_dbaba !=nil {return _dbaba ;};_geca ,_cgbc :=_gdfb ._gbfd .ReadBit ();if _cgbc !=nil {return _cgbc ;};_gdfb .HDefaultPixel =int8 (_geca );_agb ,_cgbc :=_gdfb ._gbfd .ReadBits (3);if _cgbc !=nil {return _cgbc ;};_gdfb .CombinationOperator =_f .CombinationOperator (_agb &0xf);_geca ,_cgbc =_gdfb ._gbfd .ReadBit ();if _cgbc !=nil {return _cgbc ;};if _geca ==1{_gdfb .HSkipEnabled =true ;};_agb ,_cgbc =_gdfb ._gbfd .ReadBits (2);if _cgbc !=nil {return _cgbc ;};_gdfb .HTemplate =byte (_agb &0xf);_geca ,_cgbc =_gdfb ._gbfd .ReadBit ();if _cgbc !=nil {return _cgbc ;};if _geca ==1{_gdfb .IsMMREncoded =true ;};_agb ,_cgbc =_gdfb ._gbfd .ReadBits (32);if _cgbc !=nil {return _cgbc ;};_gdfb .HGridWidth =uint32 (_agb &_bf .MaxUint32 );_agb ,_cgbc =_gdfb ._gbfd .ReadBits (32);if _cgbc !=nil {return _cgbc ;};_gdfb .HGridHeight =uint32 (_agb &_bf .MaxUint32 );_agb ,_cgbc =_gdfb ._gbfd .ReadBits (32);if _cgbc !=nil {return _cgbc ;};_gdfb .HGridX =int32 (_agb &_bf .MaxInt32 );_agb ,_cgbc =_gdfb ._gbfd .ReadBits (32);if _cgbc !=nil {return _cgbc ;};_gdfb .HGridY =int32 (_agb &_bf .MaxInt32 );_agb ,_cgbc =_gdfb ._gbfd .ReadBits (16);if _cgbc !=nil {return _cgbc ;};_gdfb .HRegionX =uint16 (_agb &_bf .MaxUint16 );_agb ,_cgbc =_gdfb ._gbfd .ReadBits (16);if _cgbc !=nil {return _cgbc ;};_gdfb .HRegionY =uint16 (_agb &_bf .MaxUint16 );if _cgbc =_gdfb .computeSegmentDataStructure ();_cgbc !=nil {return _cgbc ;};return _gdfb .checkInput ();};func (_gdfa *PatternDictionary )checkInput ()error {if _gdfa .HdpHeight < 1||_gdfa .HdpWidth < 1{return _a .New ("in\u0076\u0061l\u0069\u0064\u0020\u0048\u0065\u0061\u0064\u0065\u0072 \u0056\u0061\u006c\u0075\u0065\u003a\u0020\u0057\u0069\u0064\u0074\u0068\u002f\u0048\u0065\u0069\u0067\u0068\u0074\u0020\u006d\u0075\u0073\u0074\u0020\u0062\u0065\u0020g\u0072e\u0061\u0074\u0065\u0072\u0020\u0074\u0068\u0061n\u0020z\u0065\u0072o");};if _gdfa .IsMMREncoded {if _gdfa .HDTemplate !=0{_cb .Log .Debug ("\u0076\u0061\u0072\u0069\u0061\u0062\u006c\u0065\u0020\u0048\u0044\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u006e\u006f\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e \u0074\u0068\u0065\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u0030");};};return nil ;};func (_cgge *SymbolDictionary )setInSyms ()error {if _cgge .Header .RTSegments !=nil {return _cgge .retrieveImportSymbols ();};_cgge ._dadd =make ([]*_f .Bitmap ,0);return nil ;};func (_bcef *SymbolDictionary )encodeNumSyms (_acag _ga .BinaryWriter )(_gggb int ,_adcg error ){const _babff ="\u0065\u006e\u0063\u006f\u0064\u0065\u004e\u0075\u006d\u0053\u0079\u006d\u0073";_fceb :=make ([]byte ,4);_c .BigEndian .PutUint32 (_fceb ,_bcef .NumberOfExportedSymbols );if _gggb ,_adcg =_acag .Write (_fceb );_adcg !=nil {return _gggb ,_ad .Wrap (_adcg ,_babff ,"\u0065\u0078p\u006f\u0072\u0074e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};_c .BigEndian .PutUint32 (_fceb ,_bcef .NumberOfNewSymbols );_cacg ,_adcg :=_acag .Write (_fceb );if _adcg !=nil {return _gggb ,_ad .Wrap (_adcg ,_babff ,"n\u0065\u0077\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};return _gggb +_cacg ,nil ;};func (_eeg *GenericRefinementRegion )decodeTypicalPredictedLine (_bce ,_abe ,_bdf ,_fcd ,_dac ,_fdd int )error {_ggg :=_bce -int (_eeg .ReferenceDY );_bg :=_eeg .ReferenceBitmap .GetByteIndex (0,_ggg );_gcg :=_eeg .RegionBitmap .GetByteIndex (0,_bce );var _ed error ;switch _eeg .TemplateID {case 0:_ed =_eeg .decodeTypicalPredictedLineTemplate0 (_bce ,_abe ,_bdf ,_fcd ,_dac ,_fdd ,_gcg ,_ggg ,_bg );case 1:_ed =_eeg .decodeTypicalPredictedLineTemplate1 (_bce ,_abe ,_bdf ,_fcd ,_dac ,_fdd ,_gcg ,_ggg ,_bg );};return _ed ;};func (_egb *PatternDictionary )parseHeader ()error {_cb .Log .Trace ("\u005b\u0050\u0041\u0054\u0054\u0045\u0052\u004e\u002d\u0044\u0049\u0043\u0054I\u004f\u004e\u0041\u0052\u0059\u005d[\u0070\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072\u005d\u0020b\u0065\u0067\u0069\u006e");defer func (){_cb .Log .Trace ("\u005b\u0050\u0041T\u0054\u0045\u0052\u004e\u002d\u0044\u0049\u0043\u0054\u0049\u004f\u004e\u0041\u0052\u0059\u005d\u005b\u0070\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072\u005d \u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064");}();_ ,_egab :=_egb ._abge .ReadBits (5);if _egab !=nil {return _egab ;};if _egab =_egb .readTemplate ();_egab !=nil {return _egab ;};if _egab =_egb .readIsMMREncoded ();_egab !=nil {return _egab ;};if _egab =_egb .readPatternWidthAndHeight ();_egab !=nil {return _egab ;};if _egab =_egb .readGrayMax ();_egab !=nil {return _egab ;};if _egab =_egb .computeSegmentDataStructure ();_egab !=nil {return _egab ;};return _egb .checkInput ();};func (_daf *GenericRefinementRegion )getGrReference ()(*_f .Bitmap ,error ){segments :=_daf ._fc .RTSegments ;if len (segments )==0{return nil ,_a .New ("\u0052\u0065f\u0065\u0072\u0065\u006e\u0063\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0065\u0078is\u0074\u0073");};_fb ,_gc :=segments [0].GetSegmentData ();if _gc !=nil {return nil ,_gc ;};_cd ,_agc :=_fb .(Regioner );if !_agc {return nil ,_gf .Errorf ("\u0072\u0065\u0066\u0065\u0072r\u0065\u0064\u0020\u0074\u006f\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074 \u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0052\u0065\u0067\u0069\u006f\u006e\u0065\u0072\u003a\u0020\u0025\u0054",_fb );};return _cd .GetRegionBitmap ();};func (_ebaa *TextRegion )Encode (w _ga .BinaryWriter )(_bbcb int ,_ffgge error ){const _cefc ="\u0054\u0065\u0078\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u002e\u0045n\u0063\u006f\u0064\u0065";if _bbcb ,_ffgge =_ebaa .RegionInfo .Encode (w );_ffgge !=nil {return _bbcb ,_ad .Wrap (_ffgge ,_cefc ,"");};var _bgdf int ;if _bgdf ,_ffgge =_ebaa .encodeFlags (w );_ffgge !=nil {return _bbcb ,_ad .Wrap (_ffgge ,_cefc ,"");};_bbcb +=_bgdf ;if _bgdf ,_ffgge =_ebaa .encodeSymbols (w );_ffgge !=nil {return _bbcb ,_ad .Wrap (_ffgge ,_cefc ,"");};_bbcb +=_bgdf ;return _bbcb ,nil ;};const (ORandom OrganizationType =iota ;OSequential ;);func (_cab *GenericRegion )setParametersMMR (_gdfd bool ,_agg ,_gccg int64 ,_ecc ,_fbd uint32 ,_abfe byte ,_gbb ,_eeb bool ,_ebe ,_cbed []int8 ){_cab .DataOffset =_agg ;_cab .DataLength =_gccg ;_cab .RegionSegment =&RegionSegment {};_cab .RegionSegment .BitmapHeight =_ecc ;_cab .RegionSegment .BitmapWidth =_fbd ;_cab .GBTemplate =_abfe ;_cab .IsMMREncoded =_gdfd ;_cab .IsTPGDon =_gbb ;_cab .GBAtX =_ebe ;_cab .GBAtY =_cbed ;};func (_ccd *GenericRefinementRegion )decodeOptimized (_ffd ,_bcg ,_abf ,_ce ,_bcd ,_af ,_efg int )error {var (_dd error ;_cea int ;_aee int ;);_bda :=_ffd -int (_ccd .ReferenceDY );if _dc :=int (-_ccd .ReferenceDX );_dc > 0{_cea =_dc ;};_dbab :=_ccd .ReferenceBitmap .GetByteIndex (_cea ,_bda );if _ccd .ReferenceDX > 0{_aee =int (_ccd .ReferenceDX );};_cgd :=_ccd .RegionBitmap .GetByteIndex (_aee ,_ffd );switch _ccd .TemplateID {case 0:_dd =_ccd .decodeTemplate (_ffd ,_bcg ,_abf ,_ce ,_bcd ,_af ,_efg ,_cgd ,_bda ,_dbab ,_ccd ._cc );case 1:_dd =_ccd .decodeTemplate (_ffd ,_bcg ,_abf ,_ce ,_bcd ,_af ,_efg ,_cgd ,_bda ,_dbab ,_ccd ._dba );};return _dd ;};func (_effgb *SymbolDictionary )setRetainedCodingContexts (_cbfge *SymbolDictionary ){_effgb ._cdae =_cbfge ._cdae ;_effgb .IsHuffmanEncoded =_cbfge .IsHuffmanEncoded ;_effgb .UseRefinementAggregation =_cbfge .UseRefinementAggregation ;_effgb .SdTemplate =_cbfge .SdTemplate ;_effgb .SdrTemplate =_cbfge .SdrTemplate ;_effgb .SdATX =_cbfge .SdATX ;_effgb .SdATY =_cbfge .SdATY ;_effgb .SdrATX =_cbfge .SdrATX ;_effgb .SdrATY =_cbfge .SdrATY ;_effgb ._dbfa =_cbfge ._dbfa ;};func (_cbdag *PageInformationSegment )String ()string {_cbdf :=&_df .Builder {};_cbdf .WriteString ("\u000a\u005b\u0050\u0041G\u0045\u002d\u0049\u004e\u0046\u004f\u0052\u004d\u0041\u0054I\u004fN\u002d\u0053\u0045\u0047\u004d\u0045\u004eT\u005d\u000a");_cbdf .WriteString (_gf .Sprintf ("\u0009\u002d \u0042\u004d\u0048e\u0069\u0067\u0068\u0074\u003a\u0020\u0025\u0064\u000a",_cbdag .PageBMHeight ));_cbdf .WriteString (_gf .Sprintf ("\u0009-\u0020B\u004d\u0057\u0069\u0064\u0074\u0068\u003a\u0020\u0025\u0064\u000a",_cbdag .PageBMWidth ));_cbdf .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0052es\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0058\u003a\u0020\u0025\u0064\u000a",_cbdag .ResolutionX ));_cbdf .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0052es\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0059\u003a\u0020\u0025\u0064\u000a",_cbdag .ResolutionY ));_cbdf .WriteString (_gf .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065r\u0061\u0074\u006fr\u003a \u0025\u0073\u000a",_cbdag ._fbbe ));_cbdf .WriteString (_gf .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006eO\u0070\u0065\u0072\u0061\u0074\u006f\u0072O\u0076\u0065\u0072\u0072\u0069\u0064\u0065\u003a\u0020\u0025v\u000a",_cbdag ._aedc ));_cbdf .WriteString (_gf .Sprintf ("\u0009-\u0020I\u0073\u004c\u006f\u0073\u0073l\u0065\u0073s\u003a\u0020\u0025\u0076\u000a",_cbdag .IsLossless ));_cbdf .WriteString (_gf .Sprintf ("\u0009\u002d\u0020R\u0065\u0071\u0075\u0069r\u0065\u0073\u0041\u0075\u0078\u0069\u006ci\u0061\u0072\u0079\u0042\u0075\u0066\u0066\u0065\u0072\u003a\u0020\u0025\u0076\u000a",_cbdag ._bgfb ));_cbdf .WriteString (_gf .Sprintf ("\u0009\u002d\u0020M\u0069\u0067\u0068\u0074C\u006f\u006e\u0074\u0061\u0069\u006e\u0052e\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074\u0073\u003a\u0020\u0025\u0076\u000a",_cbdag ._fabc ));_cbdf .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0049\u0073\u0053\u0074\u0072\u0069\u0070\u0065\u0064:\u0020\u0025\u0076\u000a",_cbdag .IsStripe ));_cbdf .WriteString (_gf .Sprintf ("\t\u002d\u0020\u004d\u0061xS\u0074r\u0069\u0070\u0065\u0053\u0069z\u0065\u003a\u0020\u0025\u0076\u000a",_cbdag .MaxStripeSize ));return _cbdf .String ();};func (_affg *GenericRegion )getPixel (_afbc ,_ccb int )int8 {if _afbc < 0||_afbc >=_affg .Bitmap .Width {return 0;};if _ccb < 0||_ccb >=_affg .Bitmap .Height {return 0;};if _affg .Bitmap .GetPixel (_afbc ,_ccb ){return 1;};return 0;};func (_fcdb *SymbolDictionary )setAtPixels ()error {if _fcdb .IsHuffmanEncoded {return nil ;};_gfag :=1;if _fcdb .SdTemplate ==0{_gfag =4;};if _eeef :=_fcdb .readAtPixels (_gfag );_eeef !=nil {return _eeef ;};return nil ;};func (_dfec *SymbolDictionary )setRefinementAtPixels ()error {if !_dfec .UseRefinementAggregation ||_dfec .SdrTemplate !=0{return nil ;};if _eabc :=_dfec .readRefinementAtPixels (2);_eabc !=nil {return _eabc ;};return nil ;};func (_dadb *SymbolDictionary )encodeFlags (_acc _ga .BinaryWriter )(_bcbb int ,_fdgdb error ){const _bdbcc ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _fdgdb =_acc .SkipBits (3);_fdgdb !=nil {return 0,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0065\u006d\u0070\u0074\u0079\u0020\u0062\u0069\u0074\u0073");};var _edac int ;if _dadb .SdrTemplate > 0{_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"s\u0064\u0072\u0074\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_edac =0;if _dadb .SdTemplate > 1{_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0073\u0064\u0074\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_edac =0;if _dadb .SdTemplate ==1||_dadb .SdTemplate ==3{_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0073\u0064\u0074\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_edac =0;if _dadb ._dbfg {_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0063\u006f\u0064in\u0067\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0072\u0065\u0074\u0061\u0069\u006e\u0065\u0064");};_edac =0;if _dadb ._edfd {_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0063\u006f\u0064\u0069ng\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0075\u0073\u0065\u0064");};_edac =0;if _dadb .SdHuffAggInstanceSelection {_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0073\u0064\u0068\u0075\u0066\u0066\u0061\u0067\u0067\u0069\u006e\u0073\u0074");};_edac =int (_dadb .SdHuffBMSizeSelection );if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0073\u0064\u0068u\u0066\u0066\u0062\u006d\u0073\u0069\u007a\u0065");};_edac =0;if _dadb .SdHuffDecodeWidthSelection > 1{_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"s\u0064\u0068\u0075\u0066\u0066\u0077\u0069\u0064\u0074\u0068");};_edac =0;switch _dadb .SdHuffDecodeWidthSelection {case 1,3:_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"s\u0064\u0068\u0075\u0066\u0066\u0077\u0069\u0064\u0074\u0068");};_edac =0;if _dadb .SdHuffDecodeHeightSelection > 1{_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0073\u0064\u0068u\u0066\u0066\u0068\u0065\u0069\u0067\u0068\u0074");};_edac =0;switch _dadb .SdHuffDecodeHeightSelection {case 1,3:_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0073\u0064\u0068u\u0066\u0066\u0068\u0065\u0069\u0067\u0068\u0074");};_edac =0;if _dadb .UseRefinementAggregation {_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0073\u0064\u0072\u0065\u0066\u0061\u0067\u0067");};_edac =0;if _dadb .IsHuffmanEncoded {_edac =1;};if _fdgdb =_acc .WriteBit (_edac );_fdgdb !=nil {return _bcbb ,_ad .Wrap (_fdgdb ,_bdbcc ,"\u0073\u0064\u0068\u0075\u0066\u0066");};return 2,nil ;};func (_ced *template0 )form (_edd ,_ceeb ,_agdd ,_cbe ,_fdde int16 )int16 {return (_edd <<10)|(_ceeb <<7)|(_agdd <<4)|(_cbe <<1)|_fdde ;};func (_ddeb *GenericRegion )computeSegmentDataStructure ()error {_ddeb .DataOffset =_ddeb ._ddd .StreamPosition ();_ddeb .DataHeaderLength =_ddeb .DataOffset -_ddeb .DataHeaderOffset ;_ddeb .DataLength =int64 (_ddeb ._ddd .Length ())-_ddeb .DataHeaderLength ;return nil ;};type Documenter interface{GetPage (int )(Pager ,error );GetGlobalSegment (int )(*Header ,error );};func (_fgeg *SymbolDictionary )getToExportFlags ()([]int ,error ){var (_ddbc int ;_afbag int32 ;_cgfa error ;_babe =int32 (_fgeg ._baee +_fgeg .NumberOfNewSymbols );_bcgf =make ([]int ,_babe ););for _egff :=int32 (0);_egff < _babe ;_egff +=_afbag {if _fgeg .IsHuffmanEncoded {_aege ,_gcbb :=_gff .GetStandardTable (1);if _gcbb !=nil {return nil ,_gcbb ;};_ecffa ,_gcbb :=_aege .Decode (_fgeg ._gcdc );if _gcbb !=nil {return nil ,_gcbb ;};_afbag =int32 (_ecffa );}else {_afbag ,_cgfa =_fgeg ._cdae .DecodeInt (_fgeg ._badb );if _cgfa !=nil {return nil ,_cgfa ;};};if _afbag !=0{for _ebae :=_egff ;_ebae < _egff +_afbag ;_ebae ++{_bcgf [_ebae ]=_ddbc ;};};if _ddbc ==0{_ddbc =1;}else {_ddbc =0;};};return _bcgf ,nil ;};func (_fffa *GenericRegion )overrideAtTemplate1 (_egec ,_fecf ,_dad ,_gcf ,_gdf int )int {_egec &=0x1FF7;if _fffa .GBAtY [0]==0&&_fffa .GBAtX [0]>=-int8 (_gdf ){_egec |=(_gcf >>uint (7-(int8 (_gdf )+_fffa .GBAtX [0]))&0x1)<<3;}else {_egec |=int (_fffa .getPixel (_fecf +int (_fffa .GBAtX [0]),_dad +int (_fffa .GBAtY [0])))<<3;};return _egec ;};func (_cbfc *SymbolDictionary )decodeDifferenceWidth ()(int64 ,error ){if _cbfc .IsHuffmanEncoded {switch _cbfc .SdHuffDecodeWidthSelection {case 0:_acgc ,_cbeg :=_gff .GetStandardTable (2);if _cbeg !=nil {return 0,_cbeg ;};return _acgc .Decode (_cbfc ._gcdc );case 1:_fgea ,_ddbb :=_gff .GetStandardTable (3);if _ddbb !=nil {return 0,_ddbb ;};return _fgea .Decode (_cbfc ._gcdc );case 3:if _cbfc ._cagf ==nil {var _bgca int ;if _cbfc .SdHuffDecodeHeightSelection ==3{_bgca ++;};_cccd ,_cfbbg :=_cbfc .getUserTable (_bgca );if _cfbbg !=nil {return 0,_cfbbg ;};_cbfc ._cagf =_cccd ;};return _cbfc ._cagf .Decode (_cbfc ._gcdc );};}else {_gfeb ,_bffdf :=_cbfc ._cdae .DecodeInt (_cbfc ._cacb );if _bffdf !=nil {return 0,_bffdf ;};if _gfeb ==_bf .MaxInt32 {return int64 (_bf .MaxInt64 ),nil ;};return int64 (_gfeb ),nil ;};return 0,nil ;};func (_bgbg *GenericRefinementRegion )parseHeader ()(_bdb error ){_cb .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072s\u0069\u006e\u0067\u0020\u0048e\u0061\u0064e\u0072\u002e\u002e\u002e");_fgf :=_d .Now ();defer func (){if _bdb ==nil {_cb .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045G\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020h\u0065\u0061\u0064\u0065\u0072\u0020\u0066\u0069\u006e\u0069\u0073\u0068id\u0020\u0069\u006e\u003a\u0020\u0025\u0064\u0020\u006e\u0073",_d .Since (_fgf ).Nanoseconds ());}else {_cb .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020\u0068\u0065\u0061\u0064\u0065\u0072\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0073",_bdb );};}();if _bdb =_bgbg .RegionInfo .parseHeader ();_bdb !=nil {return _bdb ;};_ ,_bdb =_bgbg ._bc .ReadBits (6);if _bdb !=nil {return _bdb ;};_bgbg .IsTPGROn ,_bdb =_bgbg ._bc .ReadBool ();if _bdb !=nil {return _bdb ;};var _gec int ;_gec ,_bdb =_bgbg ._bc .ReadBit ();if _bdb !=nil {return _bdb ;};_bgbg .TemplateID =int8 (_gec );switch _bgbg .TemplateID {case 0:_bgbg .Template =_bgbg ._cc ;if _bdb =_bgbg .readAtPixels ();_bdb !=nil {return ;};case 1:_bgbg .Template =_bgbg ._dba ;};return nil ;};func (_cbee *HalftoneRegion )GetRegionInfo ()*RegionSegment {return _cbee .RegionSegment };func (_ggec *Header )CleanSegmentData (){if _ggec .SegmentData !=nil {_ggec .SegmentData =nil ;};};func (_ffga *SymbolDictionary )encodeRefinementATFlags (_gcbe _ga .BinaryWriter )(_adfd int ,_fdeg error ){const _egecb ="\u0065\u006e\u0063od\u0065\u0052\u0065\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074\u0041\u0054\u0046\u006c\u0061\u0067\u0073";if !_ffga .UseRefinementAggregation ||_ffga .SdrTemplate !=0{return 0,nil ;};for _ccf :=0;_ccf < 2;_ccf ++{if _fdeg =_gcbe .WriteByte (byte (_ffga .SdrATX [_ccf ]));_fdeg !=nil {return _adfd ,_ad .Wrapf (_fdeg ,_egecb ,"\u0053\u0064\u0072\u0041\u0054\u0058\u005b\u0025\u0064\u005d",_ccf );};_adfd ++;if _fdeg =_gcbe .WriteByte (byte (_ffga .SdrATY [_ccf ]));_fdeg !=nil {return _adfd ,_ad .Wrapf (_fdeg ,_egecb ,"\u0053\u0064\u0072\u0041\u0054\u0059\u005b\u0025\u0064\u005d",_ccf );};_adfd ++;};return _adfd ,nil ;};func (_aadg *TextRegion )createRegionBitmap ()error {_aadg .RegionBitmap =_f .New (int (_aadg .RegionInfo .BitmapWidth ),int (_aadg .RegionInfo .BitmapHeight ));if _aadg .DefaultPixel !=0{_aadg .RegionBitmap .SetDefaultPixel ();};return nil ;};func (_cfef *RegionSegment )parseHeader ()error {const _acgga ="p\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072";_cb .Log .Trace ("\u005b\u0052\u0045\u0047I\u004f\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002dH\u0045A\u0044\u0045\u0052\u005d\u0020\u0042\u0065g\u0069\u006e");defer func (){_cb .Log .Trace ("\u005b\u0052\u0045G\u0049\u004f\u004e\u005d[\u0050\u0041\u0052\u0053\u0045\u002d\u0048E\u0041\u0044\u0045\u0052\u005d\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064");}();_eeec ,_abdg :=_cfef ._bcgae .ReadBits (32);if _abdg !=nil {return _ad .Wrap (_abdg ,_acgga ,"\u0077\u0069\u0064t\u0068");};_cfef .BitmapWidth =uint32 (_eeec &_bf .MaxUint32 );_eeec ,_abdg =_cfef ._bcgae .ReadBits (32);if _abdg !=nil {return _ad .Wrap (_abdg ,_acgga ,"\u0068\u0065\u0069\u0067\u0068\u0074");};_cfef .BitmapHeight =uint32 (_eeec &_bf .MaxUint32 );_eeec ,_abdg =_cfef ._bcgae .ReadBits (32);if _abdg !=nil {return _ad .Wrap (_abdg ,_acgga ,"\u0078\u0020\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e");};_cfef .XLocation =uint32 (_eeec &_bf .MaxUint32 );_eeec ,_abdg =_cfef ._bcgae .ReadBits (32);if _abdg !=nil {return _ad .Wrap (_abdg ,_acgga ,"\u0079\u0020\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e");};_cfef .YLocation =uint32 (_eeec &_bf .MaxUint32 );if _ ,_abdg =_cfef ._bcgae .ReadBits (5);_abdg !=nil {return _ad .Wrap (_abdg ,_acgga ,"\u0064i\u0072\u0079\u0020\u0072\u0065\u0061d");};if _abdg =_cfef .readCombinationOperator ();_abdg !=nil {return _ad .Wrap (_abdg ,_acgga ,"c\u006fm\u0062\u0069\u006e\u0061\u0074\u0069\u006f\u006e \u006f\u0070\u0065\u0072at\u006f\u0072");};return nil ;};func (_cegg *TextRegion )setContexts (_bcba *_adc .DecoderStats ,_fdgcbc *_adc .DecoderStats ,_cbagd *_adc .DecoderStats ,_adbd *_adc .DecoderStats ,_acfb *_adc .DecoderStats ,_accb *_adc .DecoderStats ,_gbef *_adc .DecoderStats ,_ccege *_adc .DecoderStats ,_dfaa *_adc .DecoderStats ,_ebcdd *_adc .DecoderStats ){_cegg ._agcb =_fdgcbc ;_cegg ._cgbce =_cbagd ;_cegg ._gfef =_adbd ;_cegg ._fafbg =_acfb ;_cegg ._fafae =_gbef ;_cegg ._cbgg =_ccege ;_cegg ._bbb =_accb ;_cegg ._fedc =_dfaa ;_cegg ._fbacf =_ebcdd ;_cegg ._agea =_bcba ;};func (_baf *GenericRegion )decodeTemplate1 (_fdec ,_afb ,_fae int ,_cgde ,_ddc int )(_begd error ){const _gggg ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0031";var (_afa ,_bacb int ;_faee ,_bdac int ;_fda byte ;_dbb ,_ffg int ;);if _fdec >=1{_fda ,_begd =_baf .Bitmap .GetByte (_ddc );if _begd !=nil {return _ad .Wrap (_begd ,_gggg ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_faee =int (_fda );};if _fdec >=2{_fda ,_begd =_baf .Bitmap .GetByte (_ddc -_baf .Bitmap .RowStride );if _begd !=nil {return _ad .Wrap (_begd ,_gggg ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_bdac =int (_fda )<<5;};_afa =((_faee >>1)&0x1f8)|((_bdac >>1)&0x1e00);for _ecb :=0;_ecb < _fae ;_ecb =_dbb {var (_ebbd byte ;_cda int ;);_dbb =_ecb +8;if _faa :=_afb -_ecb ;_faa > 8{_cda =8;}else {_cda =_faa ;};if _fdec > 0{_faee <<=8;if _dbb < _afb {_fda ,_begd =_baf .Bitmap .GetByte (_ddc +1);if _begd !=nil {return _ad .Wrap (_begd ,_gggg ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_faee |=int (_fda );};};if _fdec > 1{_bdac <<=8;if _dbb < _afb {_fda ,_begd =_baf .Bitmap .GetByte (_ddc -_baf .Bitmap .RowStride +1);if _begd !=nil {return _ad .Wrap (_begd ,_gggg ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_bdac |=int (_fda )<<5;};};for _gcae :=0;_gcae < _cda ;_gcae ++{if _baf ._ffdd {_bacb =_baf .overrideAtTemplate1 (_afa ,_ecb +_gcae ,_fdec ,int (_ebbd ),_gcae );_baf ._fge .SetIndex (int32 (_bacb ));}else {_baf ._fge .SetIndex (int32 (_afa ));};_ffg ,_begd =_baf ._cbc .DecodeBit (_baf ._fge );if _begd !=nil {return _ad .Wrap (_begd ,_gggg ,"");};_ebbd |=byte (_ffg )<<uint (7-_gcae );_gac :=uint (8-_gcae );_afa =((_afa &0xefb)<<1)|_ffg |((_faee >>_gac )&0x8)|((_bdac >>_gac )&0x200);};if _aadbb :=_baf .Bitmap .SetByte (_cgde ,_ebbd );_aadbb !=nil {return _ad .Wrap (_aadbb ,_gggg ,"");};_cgde ++;_ddc ++;};return nil ;};func (_cdd *HalftoneRegion )renderPattern (_afaa [][]int )(_acf error ){var _eaef ,_feca int ;for _ebd :=0;_ebd < int (_cdd .HGridHeight );_ebd ++{for _cgg :=0;_cgg < int (_cdd .HGridWidth );_cgg ++{_eaef =_cdd .computeX (_ebd ,_cgg );_feca =_cdd .computeY (_ebd ,_cgg );_bacca :=_cdd .Patterns [_afaa [_ebd ][_cgg ]];if _acf =_f .Blit (_bacca ,_cdd .HalftoneRegionBitmap ,_eaef +int (_cdd .HGridX ),_feca +int (_cdd .HGridY ),_cdd .CombinationOperator );_acf !=nil {return _acf ;};};};return nil ;};func (_cgcc *Header )readSegmentNumber (_afba _ga .StreamReader )error {const _ebgd ="\u0072\u0065\u0061\u0064\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u004eu\u006d\u0062\u0065\u0072";_egef :=make ([]byte ,4);_ ,_acge :=_afba .Read (_egef );if _acge !=nil {return _ad .Wrap (_acge ,_ebgd ,"");};_cgcc .SegmentNumber =_c .BigEndian .Uint32 (_egef );return nil ;};var (_ Regioner =&TextRegion {};_ Segmenter =&TextRegion {};);func (_bfff *HalftoneRegion )GetRegionBitmap ()(*_f .Bitmap ,error ){if _bfff .HalftoneRegionBitmap !=nil {return _bfff .HalftoneRegionBitmap ,nil ;};var _fafb error ;_bfff .HalftoneRegionBitmap =_f .New (int (_bfff .RegionSegment .BitmapWidth ),int (_bfff .RegionSegment .BitmapHeight ));if _bfff .Patterns ==nil ||len (_bfff .Patterns )==0{_bfff .Patterns ,_fafb =_bfff .GetPatterns ();if _fafb !=nil {return nil ,_fafb ;};};if _bfff .HDefaultPixel ==1{_bfff .HalftoneRegionBitmap .SetDefaultPixel ();};_cfeg :=_bf .Ceil (_bf .Log (float64 (len (_bfff .Patterns )))/_bf .Log (2));_ega :=int (_cfeg );var _dbeb [][]int ;_dbeb ,_fafb =_bfff .grayScaleDecoding (_ega );if _fafb !=nil {return nil ,_fafb ;};if _fafb =_bfff .renderPattern (_dbeb );_fafb !=nil {return nil ,_fafb ;};return _bfff .HalftoneRegionBitmap ,nil ;};func (_fcfc *TextRegion )computeSymbolCodeLength ()error {if _fcfc .IsHuffmanEncoded {return _fcfc .symbolIDCodeLengths ();};_fcfc ._bffce =int8 (_bf .Ceil (_bf .Log (float64 (_fcfc .NumberOfSymbols ))/_bf .Log (2)));return nil ;};type HalftoneRegion struct{_gbfd _ga .StreamReader ;_bfa *Header ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;RegionSegment *RegionSegment ;HDefaultPixel int8 ;CombinationOperator _f .CombinationOperator ;HSkipEnabled bool ;HTemplate byte ;IsMMREncoded bool ;HGridWidth uint32 ;HGridHeight uint32 ;HGridX int32 ;HGridY int32 ;HRegionX uint16 ;HRegionY uint16 ;HalftoneRegionBitmap *_f .Bitmap ;Patterns []*_f .Bitmap ;};func (_bdfd *TextRegion )initSymbols ()error {const _edbab ="i\u006e\u0069\u0074\u0053\u0079\u006d\u0062\u006f\u006c\u0073";for _ ,_gbe :=range _bdfd .Header .RTSegments {if _gbe ==nil {return _ad .Error (_edbab ,"\u006e\u0069\u006c\u0020\u0073\u0065\u0067\u006de\u006e\u0074\u0020pr\u006f\u0076\u0069\u0064\u0065\u0064 \u0066\u006f\u0072\u0020\u0074\u0068\u0065\u0020\u0074\u0065\u0078\u0074\u0020\u0072\u0065g\u0069\u006f\u006e\u0020\u0053\u0079\u006d\u0062o\u006c\u0073");};if _gbe .Type ==0{_bacg ,_cbbd :=_gbe .GetSegmentData ();if _cbbd !=nil {return _ad .Wrap (_cbbd ,_edbab ,"");};_geege ,_fbfa :=_bacg .(*SymbolDictionary );if !_fbfa {return _ad .Error (_edbab ,"\u0072e\u0066\u0065r\u0072\u0065\u0064 \u0054\u006f\u0020\u0053\u0065\u0067\u006de\u006e\u0074\u0020\u0069\u0073\u0020n\u006f\u0074\u0020\u0061\u0020\u0053\u0079\u006d\u0062\u006f\u006cD\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");};_geege ._ecea =_bdfd ._bbb ;_abfa ,_cbbd :=_geege .GetDictionary ();if _cbbd !=nil {return _ad .Wrap (_cbbd ,_edbab ,"");};_bdfd .Symbols =append (_bdfd .Symbols ,_abfa ...);};};_bdfd .NumberOfSymbols =uint32 (len (_bdfd .Symbols ));return nil ;};func (_gcdd *TextRegion )decodeSymInRefSize ()(int64 ,error ){const _eecca ="\u0064e\u0063o\u0064\u0065\u0053\u0079\u006dI\u006e\u0052e\u0066\u0053\u0069\u007a\u0065";if _gcdd .SbHuffRSize ==0{_ggbbe ,_dgagb :=_gff .GetStandardTable (1);if _dgagb !=nil {return 0,_ad .Wrap (_dgagb ,_eecca ,"");};return _ggbbe .Decode (_gcdd ._eaac );};if _gcdd ._bgfda ==nil {var (_ebcd int ;_cgad error ;);if _gcdd .SbHuffFS ==3{_ebcd ++;};if _gcdd .SbHuffDS ==3{_ebcd ++;};if _gcdd .SbHuffDT ==3{_ebcd ++;};if _gcdd .SbHuffRDWidth ==3{_ebcd ++;};if _gcdd .SbHuffRDHeight ==3{_ebcd ++;};if _gcdd .SbHuffRDX ==3{_ebcd ++;};if _gcdd .SbHuffRDY ==3{_ebcd ++;};_gcdd ._bgfda ,_cgad =_gcdd .getUserTable (_ebcd );if _cgad !=nil {return 0,_ad .Wrap (_cgad ,_eecca ,"");};};_dggb ,_cgdg :=_gcdd ._bgfda .Decode (_gcdd ._eaac );if _cgdg !=nil {return 0,_ad .Wrap (_cgdg ,_eecca ,"");};return _dggb ,nil ;};type Regioner interface{GetRegionBitmap ()(*_f .Bitmap ,error );GetRegionInfo ()*RegionSegment ;};func (_ggcc *GenericRegion )decodeTemplate0b (_dcbe ,_dddd ,_beg int ,_bgbf ,_fce int )(_fgg error ){const _aaag ="\u0064\u0065c\u006f\u0064\u0065T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0030\u0062";var (_gddd ,_ffabd int ;_fbb ,_dbc int ;_gcgg byte ;_fff int ;);if _dcbe >=1{_gcgg ,_fgg =_ggcc .Bitmap .GetByte (_fce );if _fgg !=nil {return _ad .Wrap (_fgg ,_aaag ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_fbb =int (_gcgg );};if _dcbe >=2{_gcgg ,_fgg =_ggcc .Bitmap .GetByte (_fce -_ggcc .Bitmap .RowStride );if _fgg !=nil {return _ad .Wrap (_fgg ,_aaag ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_dbc =int (_gcgg )<<6;};_gddd =(_fbb &0xf0)|(_dbc &0x3800);for _dbgg :=0;_dbgg < _beg ;_dbgg =_fff {var (_fac byte ;_bbfb int ;);_fff =_dbgg +8;if _caee :=_dddd -_dbgg ;_caee > 8{_bbfb =8;}else {_bbfb =_caee ;};if _dcbe > 0{_fbb <<=8;if _fff < _dddd {_gcgg ,_fgg =_ggcc .Bitmap .GetByte (_fce +1);if _fgg !=nil {return _ad .Wrap (_fgg ,_aaag ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_fbb |=int (_gcgg );};};if _dcbe > 1{_dbc <<=8;if _fff < _dddd {_gcgg ,_fgg =_ggcc .Bitmap .GetByte (_fce -_ggcc .Bitmap .RowStride +1);if _fgg !=nil {return _ad .Wrap (_fgg ,_aaag ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_dbc |=int (_gcgg )<<6;};};for _dfb :=0;_dfb < _bbfb ;_dfb ++{_dabf :=uint (7-_dfb );if _ggcc ._ffdd {_ffabd =_ggcc .overrideAtTemplate0b (_gddd ,_dbgg +_dfb ,_dcbe ,int (_fac ),_dfb ,int (_dabf ));_ggcc ._fge .SetIndex (int32 (_ffabd ));}else {_ggcc ._fge .SetIndex (int32 (_gddd ));};var _gcc int ;_gcc ,_fgg =_ggcc ._cbc .DecodeBit (_ggcc ._fge );if _fgg !=nil {return _ad .Wrap (_fgg ,_aaag ,"");};_fac |=byte (_gcc <<uint (_dabf ));_gddd =((_gddd &0x7bf7)<<1)|_gcc |((_fbb >>_dabf )&0x10)|((_dbc >>_dabf )&0x800);};if _daa :=_ggcc .Bitmap .SetByte (_bgbf ,_fac );_daa !=nil {return _ad .Wrap (_daa ,_aaag ,"");};_bgbf ++;_fce ++;};return nil ;};func (_feeg *TextRegion )parseHeader ()error {var _bcgfe error ;_cb .Log .Trace ("\u005b\u0054E\u0058\u0054\u0020\u0052E\u0047\u0049O\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045-\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0062\u0065\u0067\u0069n\u0073\u002e\u002e\u002e");defer func (){if _bcgfe !=nil {_cb .Log .Trace ("\u005b\u0054\u0045\u0058\u0054\u0020\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044E\u0052\u005d\u0020\u0066\u0061i\u006c\u0065d\u002e\u0020\u0025\u0076",_bcgfe );}else {_cb .Log .Trace ("\u005b\u0054E\u0058\u0054\u0020\u0052E\u0047\u0049O\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045-\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0066\u0069\u006e\u0069s\u0068\u0065\u0064\u002e");};}();if _bcgfe =_feeg .RegionInfo .parseHeader ();_bcgfe !=nil {return _bcgfe ;};if _bcgfe =_feeg .readRegionFlags ();_bcgfe !=nil {return _bcgfe ;};if _feeg .IsHuffmanEncoded {if _bcgfe =_feeg .readHuffmanFlags ();_bcgfe !=nil {return _bcgfe ;};};if _bcgfe =_feeg .readUseRefinement ();_bcgfe !=nil {return _bcgfe ;};if _bcgfe =_feeg .readAmountOfSymbolInstances ();_bcgfe !=nil {return _bcgfe ;};if _bcgfe =_feeg .getSymbols ();_bcgfe !=nil {return _bcgfe ;};if _bcgfe =_feeg .computeSymbolCodeLength ();_bcgfe !=nil {return _bcgfe ;};if _bcgfe =_feeg .checkInput ();_bcgfe !=nil {return _bcgfe ;};_cb .Log .Trace ("\u0025\u0073",_feeg .String ());return nil ;};type SymbolDictionary struct{_gcdc _ga .StreamReader ;SdrTemplate int8 ;SdTemplate int8 ;_dbfg bool ;_edfd bool ;SdHuffAggInstanceSelection bool ;SdHuffBMSizeSelection int8 ;SdHuffDecodeWidthSelection int8 ;SdHuffDecodeHeightSelection int8 ;UseRefinementAggregation bool ;IsHuffmanEncoded bool ;SdATX []int8 ;SdATY []int8 ;SdrATX []int8 ;SdrATY []int8 ;NumberOfExportedSymbols uint32 ;NumberOfNewSymbols uint32 ;Header *Header ;_baee uint32 ;_dadd []*_f .Bitmap ;_bgd uint32 ;_gede []*_f .Bitmap ;_decb _gff .Tabler ;_cagf _gff .Tabler ;_dedgg _gff .Tabler ;_cef _gff .Tabler ;_agcc []*_f .Bitmap ;_cfbbd []*_f .Bitmap ;_cdae *_adc .Decoder ;_fgbd *TextRegion ;_eda *GenericRegion ;_adcf *GenericRefinementRegion ;_dbfa *_adc .DecoderStats ;_bee *_adc .DecoderStats ;_cacb *_adc .DecoderStats ;_aabd *_adc .DecoderStats ;_badb *_adc .DecoderStats ;_bgae *_adc .DecoderStats ;_bffc *_adc .DecoderStats ;_eabd *_adc .DecoderStats ;_ecea *_adc .DecoderStats ;_ecdg int8 ;_ggdc *_f .Bitmaps ;_bbcga []int ;_faca map[int ]int ;_eac bool ;};func (_gge *GenericRegion )overrideAtTemplate2 (_debb ,_ggf ,_adb ,_afc ,_afdce int )int {_debb &=0x3FB;if _gge .GBAtY [0]==0&&_gge .GBAtX [0]>=-int8 (_afdce ){_debb |=(_afc >>uint (7-(int8 (_afdce )+_gge .GBAtX [0]))&0x1)<<2;}else {_debb |=int (_gge .getPixel (_ggf +int (_gge .GBAtX [0]),_adb +int (_gge .GBAtY [0])))<<2;};return _debb ;};func (_gba *GenericRegion )decodeTemplate0a (_dggdg ,_afd ,_cbea int ,_cbfg ,_dea int )(_fgc error ){const _ceed ="\u0064\u0065c\u006f\u0064\u0065T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0030\u0061";var (_dgeb ,_deec int ;_bae ,_bdbd int ;_efa byte ;_edc int ;);if _dggdg >=1{_efa ,_fgc =_gba .Bitmap .GetByte (_dea );if _fgc !=nil {return _ad .Wrap (_fgc ,_ceed ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_bae =int (_efa );};if _dggdg >=2{_efa ,_fgc =_gba .Bitmap .GetByte (_dea -_gba .Bitmap .RowStride );if _fgc !=nil {return _ad .Wrap (_fgc ,_ceed ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_bdbd =int (_efa )<<6;};_dgeb =(_bae &0xf0)|(_bdbd &0x3800);for _ebb :=0;_ebb < _cbea ;_ebb =_edc {var (_cfd byte ;_gfc int ;);_edc =_ebb +8;if _cfdd :=_afd -_ebb ;_cfdd > 8{_gfc =8;}else {_gfc =_cfdd ;};if _dggdg > 0{_bae <<=8;if _edc < _afd {_efa ,_fgc =_gba .Bitmap .GetByte (_dea +1);if _fgc !=nil {return _ad .Wrap (_fgc ,_ceed ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_bae |=int (_efa );};};if _dggdg > 1{_geeg :=_dea -_gba .Bitmap .RowStride +1;_bdbd <<=8;if _edc < _afd {_efa ,_fgc =_gba .Bitmap .GetByte (_geeg );if _fgc !=nil {return _ad .Wrap (_fgc ,_ceed ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_bdbd |=int (_efa )<<6;}else {_bdbd |=0;};};for _fbe :=0;_fbe < _gfc ;_fbe ++{_fgcb :=uint (7-_fbe );if _gba ._ffdd {_deec =_gba .overrideAtTemplate0a (_dgeb ,_ebb +_fbe ,_dggdg ,int (_cfd ),_fbe ,int (_fgcb ));_gba ._fge .SetIndex (int32 (_deec ));}else {_gba ._fge .SetIndex (int32 (_dgeb ));};var _fdgc int ;_fdgc ,_fgc =_gba ._cbc .DecodeBit (_gba ._fge );if _fgc !=nil {return _ad .Wrap (_fgc ,_ceed ,"");};_cfd |=byte (_fdgc )<<uint (_fgcb );_dgeb =((_dgeb &0x7bf7)<<1)|_fdgc |((_bae >>_fgcb )&0x10)|((_bdbd >>_fgcb )&0x800);};if _aeef :=_gba .Bitmap .SetByte (_cbfg ,_cfd );_aeef !=nil {return _ad .Wrap (_aeef ,_ceed ,"");};_cbfg ++;_dea ++;};return nil ;};func (_gdfac *TextRegion )decodeID ()(int64 ,error ){if _gdfac .IsHuffmanEncoded {if _gdfac ._cgda ==nil {_afaf ,_gbbe :=_gdfac ._eaac .ReadBits (byte (_gdfac ._bffce ));return int64 (_afaf ),_gbbe ;};return _gdfac ._cgda .Decode (_gdfac ._eaac );};return _gdfac ._eafb .DecodeIAID (uint64 (_gdfac ._bffce ),_gdfac ._bbb );};func (_fec *GenericRegion )decodeTemplate2 (_cdbg ,_dbde ,_gcd int ,_cdad ,_fdc int )(_eed error ){const _gcac ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0032";var (_bdcg ,_bbed int ;_dbbd ,_bdae int ;_bdg byte ;_adg ,_aag int ;);if _cdbg >=1{_bdg ,_eed =_fec .Bitmap .GetByte (_fdc );if _eed !=nil {return _ad .Wrap (_eed ,_gcac ,"\u006ci\u006ee\u004e\u0075\u006d\u0062\u0065\u0072\u0020\u003e\u003d\u0020\u0031");};_dbbd =int (_bdg );};if _cdbg >=2{_bdg ,_eed =_fec .Bitmap .GetByte (_fdc -_fec .Bitmap .RowStride );if _eed !=nil {return _ad .Wrap (_eed ,_gcac ,"\u006ci\u006ee\u004e\u0075\u006d\u0062\u0065\u0072\u0020\u003e\u003d\u0020\u0032");};_bdae =int (_bdg )<<4;};_bdcg =(_dbbd >>3&0x7c)|(_bdae >>3&0x380);for _abaa :=0;_abaa < _gcd ;_abaa =_adg {var (_bcga byte ;_eag int ;);_adg =_abaa +8;if _efbd :=_dbde -_abaa ;_efbd > 8{_eag =8;}else {_eag =_efbd ;};if _cdbg > 0{_dbbd <<=8;if _adg < _dbde {_bdg ,_eed =_fec .Bitmap .GetByte (_fdc +1);if _eed !=nil {return _ad .Wrap (_eed ,_gcac ,"\u006c\u0069\u006e\u0065\u004e\u0075\u006d\u0062\u0065r\u0020\u003e\u0020\u0030");};_dbbd |=int (_bdg );};};if _cdbg > 1{_bdae <<=8;if _adg < _dbde {_bdg ,_eed =_fec .Bitmap .GetByte (_fdc -_fec .Bitmap .RowStride +1);if _eed !=nil {return _ad .Wrap (_eed ,_gcac ,"\u006c\u0069\u006e\u0065\u004e\u0075\u006d\u0062\u0065r\u0020\u003e\u0020\u0031");};_bdae |=int (_bdg )<<4;};};for _gdgd :=0;_gdgd < _eag ;_gdgd ++{_fgd :=uint (10-_gdgd );if _fec ._ffdd {_bbed =_fec .overrideAtTemplate2 (_bdcg ,_abaa +_gdgd ,_cdbg ,int (_bcga ),_gdgd );_fec ._fge .SetIndex (int32 (_bbed ));}else {_fec ._fge .SetIndex (int32 (_bdcg ));};_aag ,_eed =_fec ._cbc .DecodeBit (_fec ._fge );if _eed !=nil {return _ad .Wrap (_eed ,_gcac ,"");};_bcga |=byte (_aag <<uint (7-_gdgd ));_bdcg =((_bdcg &0x1bd)<<1)|_aag |((_dbbd >>_fgd )&0x4)|((_bdae >>_fgd )&0x80);};if _gfe :=_fec .Bitmap .SetByte (_cdad ,_bcga );_gfe !=nil {return _ad .Wrap (_gfe ,_gcac ,"");};_cdad ++;_fdc ++;};return nil ;};func (_ecdgc *SymbolDictionary )Init (h *Header ,r _ga .StreamReader )error {_ecdgc .Header =h ;_ecdgc ._gcdc =r ;return _ecdgc .parseHeader ();};func (_dfgb *TableSegment )HtOOB ()int32 {return _dfgb ._afccb };func (_deae *TextRegion )decodeRdy ()(int64 ,error ){const _abcc ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064y";if _deae .IsHuffmanEncoded {if _deae .SbHuffRDY ==3{if _deae ._ecfa ==nil {var (_abagc int ;_ffaf error ;);if _deae .SbHuffFS ==3{_abagc ++;};if _deae .SbHuffDS ==3{_abagc ++;};if _deae .SbHuffDT ==3{_abagc ++;};if _deae .SbHuffRDWidth ==3{_abagc ++;};if _deae .SbHuffRDHeight ==3{_abagc ++;};if _deae .SbHuffRDX ==3{_abagc ++;};_deae ._ecfa ,_ffaf =_deae .getUserTable (_abagc );if _ffaf !=nil {return 0,_ad .Wrap (_ffaf ,_abcc ,"");};};return _deae ._ecfa .Decode (_deae ._eaac );};_egfe ,_abdea :=_gff .GetStandardTable (14+int (_deae .SbHuffRDY ));if _abdea !=nil {return 0,_abdea ;};return _egfe .Decode (_deae ._eaac );};_dagg ,_cdba :=_deae ._eafb .DecodeInt (_deae ._fbacf );if _cdba !=nil {return 0,_ad .Wrap (_cdba ,_abcc ,"");};return int64 (_dagg ),nil ;};func (_bdab *Header )referenceSize ()uint {switch {case _bdab .SegmentNumber <=255:return 1;case _bdab .SegmentNumber <=65535:return 2;default:return 4;};};func (_cceg *SymbolDictionary )getSbSymCodeLen ()int8 {_gdb :=int8 (_bf .Ceil (_bf .Log (float64 (_cceg ._baee +_cceg .NumberOfNewSymbols ))/_bf .Log (2)));if _cceg .IsHuffmanEncoded &&_gdb < 1{return 1;};return _gdb ;};var _ templater =&template1 {};func (_fafg *SymbolDictionary )huffDecodeBmSize ()(int64 ,error ){if _fafg ._dedgg ==nil {var (_bdcf int ;_cadb error ;);if _fafg .SdHuffDecodeHeightSelection ==3{_bdcf ++;};if _fafg .SdHuffDecodeWidthSelection ==3{_bdcf ++;};_fafg ._dedgg ,_cadb =_fafg .getUserTable (_bdcf );if _cadb !=nil {return 0,_cadb ;};};return _fafg ._dedgg .Decode (_fafg ._gcdc );};func (_cedc *TextRegion )InitEncode (globalSymbolsMap ,localSymbolsMap map[int ]int ,comps []int ,inLL *_f .Points ,symbols *_f .Bitmaps ,classIDs *_db .IntSlice ,boxes *_f .Boxes ,width ,height ,symbits int ){_cedc .RegionInfo =&RegionSegment {BitmapWidth :uint32 (width ),BitmapHeight :uint32 (height )};_cedc ._ffae =globalSymbolsMap ;_cedc ._eddc =localSymbolsMap ;_cedc ._adbe =comps ;_cedc ._gfcd =inLL ;_cedc ._gdegg =symbols ;_cedc ._dcfb =classIDs ;_cedc ._beeb =boxes ;_cedc ._abfgd =symbits ;};func (_aaa *template0 )setIndex (_cae *_adc .DecoderStats ){_cae .SetIndex (0x100)};func (_efcgb *PatternDictionary )readTemplate ()error {_abde ,_fbda :=_efcgb ._abge .ReadBits (2);if _fbda !=nil {return _fbda ;};_efcgb .HDTemplate =byte (_abde );return nil ;};func (_beda *GenericRegion )readGBAtPixels (_cfcc int )error {const _cff ="\u0072\u0065\u0061\u0064\u0047\u0042\u0041\u0074\u0050i\u0078\u0065\u006c\u0073";_beda .GBAtX =make ([]int8 ,_cfcc );_beda .GBAtY =make ([]int8 ,_cfcc );for _abc :=0;_abc < _cfcc ;_abc ++{_fee ,_egc :=_beda ._ddd .ReadByte ();if _egc !=nil {return _ad .Wrapf (_egc ,_cff ,"\u0058\u0020\u0061t\u0020\u0069\u003a\u0020\u0027\u0025\u0064\u0027",_abc );};_beda .GBAtX [_abc ]=int8 (_fee );_fee ,_egc =_beda ._ddd .ReadByte ();if _egc !=nil {return _ad .Wrapf (_egc ,_cff ,"\u0059\u0020\u0061t\u0020\u0069\u003a\u0020\u0027\u0025\u0064\u0027",_abc );};_beda .GBAtY [_abc ]=int8 (_fee );};return nil ;};func (_bcec *GenericRefinementRegion )readAtPixels ()error {_bcec .GrAtX =make ([]int8 ,2);_bcec .GrAtY =make ([]int8 ,2);_beb ,_baa :=_bcec ._bc .ReadByte ();if _baa !=nil {return _baa ;};_bcec .GrAtX [0]=int8 (_beb );_beb ,_baa =_bcec ._bc .ReadByte ();if _baa !=nil {return _baa ;};_bcec .GrAtY [0]=int8 (_beb );_beb ,_baa =_bcec ._bc .ReadByte ();if _baa !=nil {return _baa ;};_bcec .GrAtX [1]=int8 (_beb );_beb ,_baa =_bcec ._bc .ReadByte ();if _baa !=nil {return _baa ;};_bcec .GrAtY [1]=int8 (_beb );return nil ;};func (_ccac *PatternDictionary )computeSegmentDataStructure ()error {_ccac .DataOffset =_ccac ._abge .StreamPosition ();_ccac .DataHeaderLength =_ccac .DataOffset -_ccac .DataHeaderOffset ;_ccac .DataLength =int64 (_ccac ._abge .Length ())-_ccac .DataHeaderLength ;return nil ;};func NewGenericRegion (r _ga .StreamReader )*GenericRegion {return &GenericRegion {RegionSegment :NewRegionSegment (r ),_ddd :r };};func (_cbbb *SymbolDictionary )setSymbolsArray ()error {if _cbbb ._dadd ==nil {if _ddeg :=_cbbb .retrieveImportSymbols ();_ddeg !=nil {return _ddeg ;};};if _cbbb ._cfbbd ==nil {_cbbb ._cfbbd =append (_cbbb ._cfbbd ,_cbbb ._dadd ...);};return nil ;};func (_eaa *HalftoneRegion )combineGrayscalePlanes (_dga []*_f .Bitmap ,_caf int )error {_ffee :=0;for _gebd :=0;_gebd < _dga [_caf ].Height ;_gebd ++{for _dcgg :=0;_dcgg < _dga [_caf ].Width ;_dcgg +=8{_gadf ,_befb :=_dga [_caf +1].GetByte (_ffee );if _befb !=nil {return _befb ;};_eefb ,_befb :=_dga [_caf ].GetByte (_ffee );if _befb !=nil {return _befb ;};_befb =_dga [_caf ].SetByte (_ffee ,_f .CombineBytes (_eefb ,_gadf ,_f .CmbOpXor ));if _befb !=nil {return _befb ;};_ffee ++;};};return nil ;};func (_acce *TextRegion )blit (_egbc *_f .Bitmap ,_agfg int64 )error {if _acce .IsTransposed ==0&&(_acce .ReferenceCorner ==2||_acce .ReferenceCorner ==3){_acce ._aebc +=int64 (_egbc .Width -1);}else if _acce .IsTransposed ==1&&(_acce .ReferenceCorner ==0||_acce .ReferenceCorner ==2){_acce ._aebc +=int64 (_egbc .Height -1);};_abcb :=_acce ._aebc ;if _acce .IsTransposed ==1{_abcb ,_agfg =_agfg ,_abcb ;};switch _acce .ReferenceCorner {case 0:_agfg -=int64 (_egbc .Height -1);case 2:_agfg -=int64 (_egbc .Height -1);_abcb -=int64 (_egbc .Width -1);case 3:_abcb -=int64 (_egbc .Width -1);};_bcaf :=_f .Blit (_egbc ,_acce .RegionBitmap ,int (_abcb ),int (_agfg ),_acce .CombinationOperator );if _bcaf !=nil {return _bcaf ;};if _acce .IsTransposed ==0&&(_acce .ReferenceCorner ==0||_acce .ReferenceCorner ==1){_acce ._aebc +=int64 (_egbc .Width -1);};if _acce .IsTransposed ==1&&(_acce .ReferenceCorner ==1||_acce .ReferenceCorner ==3){_acce ._aebc +=int64 (_egbc .Height -1);};return nil ;};func (_fddddc *TextRegion )decodeDT ()(_fdff int64 ,_fgae error ){if _fddddc .IsHuffmanEncoded {if _fddddc .SbHuffDT ==3{_fdff ,_fgae =_fddddc ._cbac .Decode (_fddddc ._eaac );if _fgae !=nil {return 0,_fgae ;};}else {var _dedf _gff .Tabler ;_dedf ,_fgae =_gff .GetStandardTable (11+int (_fddddc .SbHuffDT ));if _fgae !=nil {return 0,_fgae ;};_fdff ,_fgae =_dedf .Decode (_fddddc ._eaac );if _fgae !=nil {return 0,_fgae ;};};}else {var _eddad int32 ;_eddad ,_fgae =_fddddc ._eafb .DecodeInt (_fddddc ._agcb );if _fgae !=nil {return ;};_fdff =int64 (_eddad );};_fdff *=int64 (_fddddc .SbStrips );return _fdff ,nil ;};func (_bd *GenericRefinementRegion )Init (header *Header ,r _ga .StreamReader )error {_bd ._fc =header ;_bd ._bc =r ;_bd .RegionInfo =NewRegionSegment (r );return _bd .parseHeader ();};type TableSegment struct{_dbca _ga .StreamReader ;_afccb int32 ;_edeg int32 ;_cbcgf int32 ;_dbeg int32 ;_cfeff int32 ;};func (_effbgc *SymbolDictionary )decodeThroughTextRegion (_fbfg ,_adbg ,_cfec uint32 )error {if _effbgc ._fgbd ==nil {_effbgc ._fgbd =_gebb (_effbgc ._gcdc ,nil );_effbgc ._fgbd .setContexts (_effbgc ._dbfa ,_adc .NewStats (512,1),_adc .NewStats (512,1),_adc .NewStats (512,1),_adc .NewStats (512,1),_effbgc ._ecea ,_adc .NewStats (512,1),_adc .NewStats (512,1),_adc .NewStats (512,1),_adc .NewStats (512,1));};if _dgae :=_effbgc .setSymbolsArray ();_dgae !=nil {return _dgae ;};_effbgc ._fgbd .setParameters (_effbgc ._cdae ,_effbgc .IsHuffmanEncoded ,true ,_fbfg ,_adbg ,_cfec ,1,_effbgc ._baee +_effbgc ._bgd ,0,0,0,1,0,0,0,0,0,0,0,0,0,_effbgc .SdrTemplate ,_effbgc .SdrATX ,_effbgc .SdrATY ,_effbgc ._cfbbd ,_effbgc ._ecdg );return _effbgc .addSymbol (_effbgc ._fgbd );};type Type int ;func (_babf *Header )writeSegmentNumber (_afg _ga .BinaryWriter )(_edcg int ,_gccd error ){_egcc :=make ([]byte ,4);_c .BigEndian .PutUint32 (_egcc ,_babf .SegmentNumber );if _edcg ,_gccd =_afg .Write (_egcc );_gccd !=nil {return 0,_ad .Wrap (_gccd ,"\u0048e\u0061\u0064\u0065\u0072.\u0077\u0072\u0069\u0074\u0065S\u0065g\u006de\u006e\u0074\u004e\u0075\u006d\u0062\u0065r","");};return _edcg ,nil ;};func (_dgb *GenericRegion )Init (h *Header ,r _ga .StreamReader )error {_dgb .RegionSegment =NewRegionSegment (r );_dgb ._ddd =r ;return _dgb .parseHeader ();};func (_abfg *Header )Encode (w _ga .BinaryWriter )(_fdac int ,_aaaf error ){const _dag ="\u0048\u0065\u0061d\u0065\u0072\u002e\u0057\u0072\u0069\u0074\u0065";var _fdfg _ga .BinaryWriter ;_cb .Log .Trace ("\u005b\u0053\u0045G\u004d\u0045\u004e\u0054-\u0048\u0045\u0041\u0044\u0045\u0052\u005d[\u0045\u004e\u0043\u004f\u0044\u0045\u005d\u0020\u0042\u0065\u0067\u0069\u006e\u0073");defer func (){if _aaaf !=nil {_cb .Log .Trace ("[\u0053\u0045\u0047\u004d\u0045\u004eT\u002d\u0048\u0045\u0041\u0044\u0045R\u005d\u005b\u0045\u004e\u0043\u004f\u0044E\u005d\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u002e\u0020%\u0076",_aaaf );}else {_cb .Log .Trace ("\u005b\u0053\u0045\u0047ME\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0025\u0076",_abfg );_cb .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045N\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u005b\u0045\u004e\u0043O\u0044\u0045\u005d\u0020\u0046\u0069\u006ei\u0073\u0068\u0065\u0064");};}();w .FinishByte ();if _abfg .SegmentData !=nil {_ebad ,_eec :=_abfg .SegmentData .(SegmentEncoder );if !_eec {return 0,_ad .Errorf (_dag ,"\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u003a\u0020\u0025\u0054\u0020\u0064\u006f\u0065s\u006e\u0027\u0074\u0020\u0069\u006d\u0070\u006c\u0065\u006d\u0065\u006e\u0074 \u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0045\u006e\u0063\u006f\u0064er\u0020\u0069\u006e\u0074\u0065\u0072\u0066\u0061\u0063\u0065",_abfg .SegmentData );};_fdfg =_ga .BufferedMSB ();_fdac ,_aaaf =_ebad .Encode (_fdfg );if _aaaf !=nil {return 0,_ad .Wrap (_aaaf ,_dag ,"");};_abfg .SegmentDataLength =uint64 (_fdac );};if _abfg .pageSize ()==4{_abfg .PageAssociationFieldSize =true ;};var _dgfd int ;_dgfd ,_aaaf =_abfg .writeSegmentNumber (w );if _aaaf !=nil {return 0,_ad .Wrap (_aaaf ,_dag ,"");};_fdac +=_dgfd ;if _aaaf =_abfg .writeFlags (w );_aaaf !=nil {return _fdac ,_ad .Wrap (_aaaf ,_dag ,"");};_fdac ++;_dgfd ,_aaaf =_abfg .writeReferredToCount (w );if _aaaf !=nil {return 0,_ad .Wrap (_aaaf ,_dag ,"");};_fdac +=_dgfd ;_dgfd ,_aaaf =_abfg .writeReferredToSegments (w );if _aaaf !=nil {return 0,_ad .Wrap (_aaaf ,_dag ,"");};_fdac +=_dgfd ;_dgfd ,_aaaf =_abfg .writeSegmentPageAssociation (w );if _aaaf !=nil {return 0,_ad .Wrap (_aaaf ,_dag ,"");};_fdac +=_dgfd ;_dgfd ,_aaaf =_abfg .writeSegmentDataLength (w );if _aaaf !=nil {return 0,_ad .Wrap (_aaaf ,_dag ,"");};_fdac +=_dgfd ;_abfg .HeaderLength =int64 (_fdac )-int64 (_abfg .SegmentDataLength );if _fdfg !=nil {if _ ,_aaaf =w .Write (_fdfg .Data ());_aaaf !=nil {return _fdac ,_ad .Wrap (_aaaf ,_dag ,"\u0077r\u0069t\u0065\u0020\u0073\u0065\u0067m\u0065\u006et\u0020\u0064\u0061\u0074\u0061");};};return _fdac ,nil ;};func (_egd *PageInformationSegment )readIsStriped ()error {_bffd ,_ffce :=_egd ._fed .ReadBit ();if _ffce !=nil {return _ffce ;};if _bffd ==1{_egd .IsStripe =true ;};return nil ;};func (_dcf *GenericRegion )GetRegionInfo ()*RegionSegment {return _dcf .RegionSegment };func (_gege *PageInformationSegment )encodeStripingInformation (_ddfc _ga .BinaryWriter )(_bcce int ,_befc error ){const _gfaee ="\u0065n\u0063\u006f\u0064\u0065S\u0074\u0072\u0069\u0070\u0069n\u0067I\u006ef\u006f\u0072\u006d\u0061\u0074\u0069\u006fn";if !_gege .IsStripe {if _bcce ,_befc =_ddfc .Write ([]byte {0x00,0x00});_befc !=nil {return 0,_ad .Wrap (_befc ,_gfaee ,"n\u006f\u0020\u0073\u0074\u0072\u0069\u0070\u0069\u006e\u0067");};return _bcce ,nil ;};_cgcb :=make ([]byte ,2);_c .BigEndian .PutUint16 (_cgcb ,_gege .MaxStripeSize |1<<15);if _bcce ,_befc =_ddfc .Write (_cgcb );_befc !=nil {return 0,_ad .Wrapf (_befc ,_gfaee ,"\u0073\u0074\u0072i\u0070\u0069\u006e\u0067\u003a\u0020\u0025\u0064",_gege .MaxStripeSize );};return _bcce ,nil ;};func (_gdg *GenericRegion )Encode (w _ga .BinaryWriter )(_ggd int ,_fbaaa error ){const _gbf ="G\u0065n\u0065\u0072\u0069\u0063\u0052\u0065\u0067\u0069o\u006e\u002e\u0045\u006eco\u0064\u0065";if _gdg .Bitmap ==nil {return 0,_ad .Error (_gbf ,"\u0070\u0072\u006f\u0076id\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0062\u0069\u0074\u006d\u0061\u0070");};_bac ,_fbaaa :=_gdg .RegionSegment .Encode (w );if _fbaaa !=nil {return 0,_ad .Wrap (_fbaaa ,_gbf ,"\u0052\u0065\u0067\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065\u006e\u0074");};_ggd +=_bac ;if _fbaaa =w .SkipBits (4);_fbaaa !=nil {return _ggd ,_ad .Wrap (_fbaaa ,_gbf ,"\u0073k\u0069p\u0020\u0072\u0065\u0073\u0065r\u0076\u0065d\u0020\u0062\u0069\u0074\u0073");};var _abd int ;if _gdg .IsTPGDon {_abd =1;};if _fbaaa =w .WriteBit (_abd );_fbaaa !=nil {return _ggd ,_ad .Wrap (_fbaaa ,_gbf ,"\u0074\u0070\u0067\u0064\u006f\u006e");};_abd =0;if _fbaaa =w .WriteBit (int (_gdg .GBTemplate >>1)&0x01);_fbaaa !=nil {return _ggd ,_ad .Wrap (_fbaaa ,_gbf ,"f\u0069r\u0073\u0074\u0020\u0067\u0062\u0074\u0065\u006dp\u006c\u0061\u0074\u0065 b\u0069\u0074");};if _fbaaa =w .WriteBit (int (_gdg .GBTemplate )&0x01);_fbaaa !=nil {return _ggd ,_ad .Wrap (_fbaaa ,_gbf ,"s\u0065\u0063\u006f\u006ed \u0067b\u0074\u0065\u006d\u0070\u006ca\u0074\u0065\u0020\u0062\u0069\u0074");};if _gdg .UseMMR {_abd =1;};if _fbaaa =w .WriteBit (_abd );_fbaaa !=nil {return _ggd ,_ad .Wrap (_fbaaa ,_gbf ,"u\u0073\u0065\u0020\u004d\u004d\u0052\u0020\u0062\u0069\u0074");};_ggd ++;if _bac ,_fbaaa =_gdg .writeGBAtPixels (w );_fbaaa !=nil {return _ggd ,_ad .Wrap (_fbaaa ,_gbf ,"");};_ggd +=_bac ;_dfea :=_e .New ();if _fbaaa =_dfea .EncodeBitmap (_gdg .Bitmap ,_gdg .IsTPGDon );_fbaaa !=nil {return _ggd ,_ad .Wrap (_fbaaa ,_gbf ,"");};_dfea .Final ();var _ada int64 ;if _ada ,_fbaaa =_dfea .WriteTo (w );_fbaaa !=nil {return _ggd ,_ad .Wrap (_fbaaa ,_gbf ,"");};_ggd +=int (_ada );return _ggd ,nil ;};func (_gade *GenericRegion )String ()string {_cag :=&_df .Builder {};_cag .WriteString ("\u000a[\u0047E\u004e\u0045\u0052\u0049\u0043 \u0052\u0045G\u0049\u004f\u004e\u005d\u000a");_cag .WriteString (_gade .RegionSegment .String ()+"\u000a");_cag .WriteString (_gf .Sprintf ("\u0009\u002d\u0020Us\u0065\u0045\u0078\u0074\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0073\u003a\u0020\u0025\u0076\u000a",_gade .UseExtTemplates ));_cag .WriteString (_gf .Sprintf ("\u0009\u002d \u0049\u0073\u0054P\u0047\u0044\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_gade .IsTPGDon ));_cag .WriteString (_gf .Sprintf ("\u0009-\u0020G\u0042\u0054\u0065\u006d\u0070l\u0061\u0074e\u003a\u0020\u0025\u0064\u000a",_gade .GBTemplate ));_cag .WriteString (_gf .Sprintf ("\t\u002d \u0049\u0073\u004d\u004d\u0052\u0045\u006e\u0063o\u0064\u0065\u0064\u003a %\u0076\u000a",_gade .IsMMREncoded ));_cag .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0047\u0042\u0041\u0074\u0058\u003a\u0020\u0025\u0076\u000a",_gade .GBAtX ));_cag .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0047\u0042\u0041\u0074\u0059\u003a\u0020\u0025\u0076\u000a",_gade .GBAtY ));_cag .WriteString (_gf .Sprintf ("\t\u002d \u0047\u0042\u0041\u0074\u004f\u0076\u0065\u0072r\u0069\u0064\u0065\u003a %\u0076\u000a",_gade .GBAtOverride ));return _cag .String ();};type RegionSegment struct{_bcgae _ga .StreamReader ;BitmapWidth uint32 ;BitmapHeight uint32 ;XLocation uint32 ;YLocation uint32 ;CombinaionOperator _f .CombinationOperator ;};func (_badd *PageInformationSegment )readDefaultPixelValue ()error {_ccg ,_gdeg :=_badd ._fed .ReadBit ();if _gdeg !=nil {return _gdeg ;};_badd ._gcb =uint8 (_ccg &0xf);return nil ;};func (_adbf *PageInformationSegment )readMaxStripeSize ()error {_bgbb ,_ecf :=_adbf ._fed .ReadBits (15);if _ecf !=nil {return _ecf ;};_adbf .MaxStripeSize =uint16 (_bgbb &_bf .MaxUint16 );return nil ;};func (_cdeba *TableSegment )HtPS ()int32 {return _cdeba ._edeg };func _dgd (_dfbc int )int {if _dfbc ==0{return 0;};_dfbc |=_dfbc >>1;_dfbc |=_dfbc >>2;_dfbc |=_dfbc >>4;_dfbc |=_dfbc >>8;_dfbc |=_dfbc >>16;return (_dfbc +1)>>1;};func (_aggg *SymbolDictionary )GetDictionary ()([]*_f .Bitmap ,error ){_cb .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c-\u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e");defer func (){_cb .Log .Trace ("\u005b\u0053\u0059M\u0042\u004f\u004c\u002d\u0044\u0049\u0043\u0054\u0049\u004f\u004e\u0041\u0052\u0059\u005d\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064");_cb .Log .Trace ("\u005b\u0053Y\u004d\u0042\u004f\u004c\u002dD\u0049\u0043\u0054\u0049\u004fN\u0041\u0052\u0059\u005d\u0020\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002e\u0020\u000a\u0045\u0078\u003a\u0020\u0027\u0025\u0073\u0027\u002c\u0020\u000a\u006e\u0065\u0077\u003a\u0027\u0025\u0073\u0027",_aggg ._agcc ,_aggg ._gede );}();if _aggg ._agcc ==nil {var _gfcg error ;if _aggg .UseRefinementAggregation {_aggg ._ecdg =_aggg .getSbSymCodeLen ();};if !_aggg .IsHuffmanEncoded {if _gfcg =_aggg .setCodingStatistics ();_gfcg !=nil {return nil ,_gfcg ;};};_aggg ._gede =make ([]*_f .Bitmap ,_aggg .NumberOfNewSymbols );var _bgfbc []int ;if _aggg .IsHuffmanEncoded &&!_aggg .UseRefinementAggregation {_bgfbc =make ([]int ,_aggg .NumberOfNewSymbols );};if _gfcg =_aggg .setSymbolsArray ();_gfcg !=nil {return nil ,_gfcg ;};var _cbaaf ,_dfdd int64 ;_aggg ._bgd =0;for _aggg ._bgd < _aggg .NumberOfNewSymbols {_dfdd ,_gfcg =_aggg .decodeHeightClassDeltaHeight ();if _gfcg !=nil {return nil ,_gfcg ;};_cbaaf +=_dfdd ;var _degb ,_fega uint32 ;_cffb :=int64 (_aggg ._bgd );for {var _dabd int64 ;_dabd ,_gfcg =_aggg .decodeDifferenceWidth ();if _gfcg !=nil {return nil ,_gfcg ;};if _dabd ==int64 (_bf .MaxInt64 )||_aggg ._bgd >=_aggg .NumberOfNewSymbols {break ;};_degb +=uint32 (_dabd );_fega +=_degb ;if !_aggg .IsHuffmanEncoded ||_aggg .UseRefinementAggregation {if !_aggg .UseRefinementAggregation {_gfcg =_aggg .decodeDirectlyThroughGenericRegion (_degb ,uint32 (_cbaaf ));if _gfcg !=nil {return nil ,_gfcg ;};}else {_gfcg =_aggg .decodeAggregate (_degb ,uint32 (_cbaaf ));if _gfcg !=nil {return nil ,_gfcg ;};};}else if _aggg .IsHuffmanEncoded &&!_aggg .UseRefinementAggregation {_bgfbc [_aggg ._bgd ]=int (_degb );};_aggg ._bgd ++;};if _aggg .IsHuffmanEncoded &&!_aggg .UseRefinementAggregation {var _egdc int64 ;if _aggg .SdHuffBMSizeSelection ==0{var _aafa _gff .Tabler ;_aafa ,_gfcg =_gff .GetStandardTable (1);if _gfcg !=nil {return nil ,_gfcg ;};_egdc ,_gfcg =_aafa .Decode (_aggg ._gcdc );if _gfcg !=nil {return nil ,_gfcg ;};}else {_egdc ,_gfcg =_aggg .huffDecodeBmSize ();if _gfcg !=nil {return nil ,_gfcg ;};};_aggg ._gcdc .Align ();var _add *_f .Bitmap ;_add ,_gfcg =_aggg .decodeHeightClassCollectiveBitmap (_egdc ,uint32 (_cbaaf ),_fega );if _gfcg !=nil {return nil ,_gfcg ;};_gfcg =_aggg .decodeHeightClassBitmap (_add ,_cffb ,int (_cbaaf ),_bgfbc );if _gfcg !=nil {return nil ,_gfcg ;};};};_ffba ,_gfcg :=_aggg .getToExportFlags ();if _gfcg !=nil {return nil ,_gfcg ;};_aggg .setExportedSymbols (_ffba );};return _aggg ._agcc ,nil ;};func (_dcdf *SymbolDictionary )decodeRefinedSymbol (_aeaeg ,_dbce uint32 )error {var (_bdca int ;_gfba ,_eefa int32 ;);if _dcdf .IsHuffmanEncoded {_deee ,_gbce :=_dcdf ._gcdc .ReadBits (byte (_dcdf ._ecdg ));if _gbce !=nil {return _gbce ;};_bdca =int (_deee );_geda ,_gbce :=_gff .GetStandardTable (15);if _gbce !=nil {return _gbce ;};_gadb ,_gbce :=_geda .Decode (_dcdf ._gcdc );if _gbce !=nil {return _gbce ;};_gfba =int32 (_gadb );_gadb ,_gbce =_geda .Decode (_dcdf ._gcdc );if _gbce !=nil {return _gbce ;};_eefa =int32 (_gadb );_geda ,_gbce =_gff .GetStandardTable (1);if _gbce !=nil {return _gbce ;};if _ ,_gbce =_geda .Decode (_dcdf ._gcdc );_gbce !=nil {return _gbce ;};_dcdf ._gcdc .Align ();}else {_bdbf ,_geadd :=_dcdf ._cdae .DecodeIAID (uint64 (_dcdf ._ecdg ),_dcdf ._ecea );if _geadd !=nil {return _geadd ;};_bdca =int (_bdbf );_gfba ,_geadd =_dcdf ._cdae .DecodeInt (_dcdf ._bgae );if _geadd !=nil {return _geadd ;};_eefa ,_geadd =_dcdf ._cdae .DecodeInt (_dcdf ._bffc );if _geadd !=nil {return _geadd ;};};if _ccbbe :=_dcdf .setSymbolsArray ();_ccbbe !=nil {return _ccbbe ;};_fdbf :=_dcdf ._cfbbd [_bdca ];if _efac :=_dcdf .decodeNewSymbols (_aeaeg ,_dbce ,_fdbf ,_gfba ,_eefa );_efac !=nil {return _efac ;};if _dcdf .IsHuffmanEncoded {_dcdf ._gcdc .Align ();};return nil ;};func (_abae *GenericRefinementRegion )setParameters (_fad *_adc .DecoderStats ,_fde *_adc .Decoder ,_bfec int8 ,_bdde ,_fbc uint32 ,_faf *_f .Bitmap ,_fdf ,_aaf int32 ,_efcd bool ,_gee []int8 ,_fdgg []int8 ){_cb .Log .Trace ("\u005b\u0047\u0045NE\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052E\u0047I\u004fN\u005d \u0073\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073");if _fad !=nil {_abae ._fd =_fad ;};if _fde !=nil {_abae ._gd =_fde ;};_abae .TemplateID =_bfec ;_abae .RegionInfo .BitmapWidth =_bdde ;_abae .RegionInfo .BitmapHeight =_fbc ;_abae .ReferenceBitmap =_faf ;_abae .ReferenceDX =_fdf ;_abae .ReferenceDY =_aaf ;_abae .IsTPGROn =_efcd ;_abae .GrAtX =_gee ;_abae .GrAtY =_fdgg ;_abae .RegionBitmap =nil ;_cb .Log .Trace ("[\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052E\u0046\u002d\u0052\u0045\u0047\u0049\u004fN]\u0020\u0073\u0065\u0074P\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073 f\u0069\u006ei\u0073\u0068\u0065\u0064\u002e\u0020\u0025\u0073",_abae );};func (_efbfe *SymbolDictionary )readRefinementAtPixels (_dcbb int )error {_efbfe .SdrATX =make ([]int8 ,_dcbb );_efbfe .SdrATY =make ([]int8 ,_dcbb );var (_eaeg byte ;_ccfe error ;);for _gdec :=0;_gdec < _dcbb ;_gdec ++{_eaeg ,_ccfe =_efbfe ._gcdc .ReadByte ();if _ccfe !=nil {return _ccfe ;};_efbfe .SdrATX [_gdec ]=int8 (_eaeg );_eaeg ,_ccfe =_efbfe ._gcdc .ReadByte ();if _ccfe !=nil {return _ccfe ;};_efbfe .SdrATY [_gdec ]=int8 (_eaeg );};return nil ;};func NewHeader (d Documenter ,r _ga .StreamReader ,offset int64 ,organizationType OrganizationType )(*Header ,error ){_cbdb :=&Header {Reader :r };if _fga :=_cbdb .parse (d ,r ,offset ,organizationType );_fga !=nil {return nil ,_ad .Wrap (_fga ,"\u004ee\u0077\u0048\u0065\u0061\u0064\u0065r","");};return _cbdb ,nil ;};const BorderSize =6;func (_de *GenericRefinementRegion )decodeSLTP ()(int ,error ){_de .Template .setIndex (_de ._fd );return _de ._gd .DecodeBit (_de ._fd );};func (_eeed *TextRegion )GetRegionInfo ()*RegionSegment {return _eeed .RegionInfo };func (_dbabe *PatternDictionary )readIsMMREncoded ()error {_cbce ,_ffcg :=_dbabe ._abge .ReadBit ();if _ffcg !=nil {return _ffcg ;};if _cbce !=0{_dbabe .IsMMREncoded =true ;};return nil ;};func (_gadeb *SymbolDictionary )encodeATFlags (_ecbb _ga .BinaryWriter )(_bde int ,_bagf error ){const _afbcc ="\u0065\u006e\u0063\u006f\u0064\u0065\u0041\u0054\u0046\u006c\u0061\u0067\u0073";if _gadeb .IsHuffmanEncoded ||_gadeb .SdTemplate !=0{return 0,nil ;};_eccbc :=4;if _gadeb .SdTemplate !=0{_eccbc =1;};for _dgebbf :=0;_dgebbf < _eccbc ;_dgebbf ++{if _bagf =_ecbb .WriteByte (byte (_gadeb .SdATX [_dgebbf ]));_bagf !=nil {return _bde ,_ad .Wrapf (_bagf ,_afbcc ,"\u0053d\u0041\u0054\u0058\u005b\u0025\u0064]",_dgebbf );};_bde ++;if _bagf =_ecbb .WriteByte (byte (_gadeb .SdATY [_dgebbf ]));_bagf !=nil {return _bde ,_ad .Wrapf (_bagf ,_afbcc ,"\u0053d\u0041\u0054\u0059\u005b\u0025\u0064]",_dgebbf );};_bde ++;};return _bde ,nil ;};func (_eegb *Header )writeReferredToCount (_ffaa _ga .BinaryWriter )(_fgdd int ,_eegd error ){const _gbbb ="w\u0072i\u0074\u0065\u0052\u0065\u0066\u0065\u0072\u0072e\u0064\u0054\u006f\u0043ou\u006e\u0074";_eegb .RTSNumbers =make ([]int ,len (_eegb .RTSegments ));for _degge ,_dcad :=range _eegb .RTSegments {_eegb .RTSNumbers [_degge ]=int (_dcad .SegmentNumber );};if len (_eegb .RTSNumbers )<=4{var _ffbf byte ;if len (_eegb .RetainBits )>=1{_ffbf =byte (_eegb .RetainBits [0]);};_ffbf |=byte (len (_eegb .RTSNumbers ))<<5;if _eegd =_ffaa .WriteByte (_ffbf );_eegd !=nil {return 0,_ad .Wrap (_eegd ,_gbbb ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};return 1,nil ;};_cdf :=uint32 (len (_eegb .RTSNumbers ));_fgbb :=make ([]byte ,4+_db .Ceil (len (_eegb .RTSNumbers )+1,8));_cdf |=0x7<<29;_c .BigEndian .PutUint32 (_fgbb ,_cdf );copy (_fgbb [1:],_eegb .RetainBits );_fgdd ,_eegd =_ffaa .Write (_fgbb );if _eegd !=nil {return 0,_ad .Wrap (_eegd ,_gbbb ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};return _fgdd ,nil ;};func (_dee *template1 )setIndex (_bgc *_adc .DecoderStats ){_bgc .SetIndex (0x080)};func (_faga *GenericRegion )setParameters (_fgge bool ,_gef ,_dcgf int64 ,_fcdd ,_dfbg uint32 ){_faga .IsMMREncoded =_fgge ;_faga .DataOffset =_gef ;_faga .DataLength =_dcgf ;_faga .RegionSegment .BitmapHeight =_fcdd ;_faga .RegionSegment .BitmapWidth =_dfbg ;_faga ._cge =nil ;_faga .Bitmap =nil ;};func (_cbag *HalftoneRegion )GetPatterns ()([]*_f .Bitmap ,error ){var (_gag []*_f .Bitmap ;_fdda error ;);for _ ,_efcee :=range _cbag ._bfa .RTSegments {var _gccc Segmenter ;_gccc ,_fdda =_efcee .GetSegmentData ();if _fdda !=nil {_cb .Log .Debug ("\u0047e\u0074\u0053\u0065\u0067m\u0065\u006e\u0074\u0044\u0061t\u0061 \u0066a\u0069\u006c\u0065\u0064\u003a\u0020\u0025v",_fdda );return nil ,_fdda ;};_gagb ,_gccb :=_gccc .(*PatternDictionary );if !_gccb {_fdda =_gf .Errorf ("\u0072e\u006c\u0061t\u0065\u0064\u0020\u0073e\u0067\u006d\u0065n\u0074\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0070at\u0074\u0065\u0072n\u0020\u0064i\u0063\u0074\u0069\u006f\u006e\u0061r\u0079\u003a \u0025\u0054",_gccc );return nil ,_fdda ;};var _eea []*_f .Bitmap ;_eea ,_fdda =_gagb .GetDictionary ();if _fdda !=nil {_cb .Log .Debug ("\u0070\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074i\u006fn\u0061\u0072\u0079\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0076",_fdda );return nil ,_fdda ;};_gag =append (_gag ,_eea ...);};return _gag ,nil ;};type templater interface{form (_ffab ,_aeg ,_dab ,_ebgg ,_dfe int16 )int16 ;setIndex (_fcda *_adc .DecoderStats );};func (_gaag *SymbolDictionary )decodeHeightClassCollectiveBitmap (_dfff int64 ,_gbcb ,_bgbee uint32 )(*_f .Bitmap ,error ){if _dfff ==0{_gfda :=_f .New (int (_bgbee ),int (_gbcb ));var (_dgdb byte ;_cggd error ;);for _aafaf :=0;_aafaf < len (_gfda .Data );_aafaf ++{_dgdb ,_cggd =_gaag ._gcdc .ReadByte ();if _cggd !=nil {return nil ,_cggd ;};if _cggd =_gfda .SetByte (_aafaf ,_dgdb );_cggd !=nil {return nil ,_cggd ;};};return _gfda ,nil ;};if _gaag ._eda ==nil {_gaag ._eda =NewGenericRegion (_gaag ._gcdc );};_gaag ._eda .setParameters (true ,_gaag ._gcdc .StreamPosition (),_dfff ,_gbcb ,_bgbee );_fgbag ,_agfc :=_gaag ._eda .GetRegionBitmap ();if _agfc !=nil {return nil ,_agfc ;};return _fgbag ,nil ;};func (_befg *TextRegion )decodeRdw ()(int64 ,error ){const _dcadf ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064w";if _befg .IsHuffmanEncoded {if _befg .SbHuffRDWidth ==3{if _befg ._bddc ==nil {var (_dabb int ;_afffa error ;);if _befg .SbHuffFS ==3{_dabb ++;};if _befg .SbHuffDS ==3{_dabb ++;};if _befg .SbHuffDT ==3{_dabb ++;};_befg ._bddc ,_afffa =_befg .getUserTable (_dabb );if _afffa !=nil {return 0,_ad .Wrap (_afffa ,_dcadf ,"");};};return _befg ._bddc .Decode (_befg ._eaac );};_bdcc ,_cdga :=_gff .GetStandardTable (14+int (_befg .SbHuffRDWidth ));if _cdga !=nil {return 0,_ad .Wrap (_cdga ,_dcadf ,"");};return _bdcc .Decode (_befg ._eaac );};_agdef ,_beaa :=_befg ._eafb .DecodeInt (_befg ._fafae );if _beaa !=nil {return 0,_ad .Wrap (_beaa ,_dcadf ,"");};return int64 (_agdef ),nil ;};func (_bdfg *HalftoneRegion )computeX (_fggf ,_aaga int )int {return _bdfg .shiftAndFill (int (_bdfg .HGridX )+_fggf *int (_bdfg .HRegionY )+_aaga *int (_bdfg .HRegionX ));};func (_faad *PageInformationSegment )readCombinationOperatorOverrideAllowed ()error {_bccf ,_fbab :=_faad ._fed .ReadBit ();if _fbab !=nil {return _fbab ;};if _bccf ==1{_faad ._aedc =true ;};return nil ;};func (_bdgb *HalftoneRegion )Init (hd *Header ,r _ga .StreamReader )error {_bdgb ._gbfd =r ;_bdgb ._bfa =hd ;_bdgb .RegionSegment =NewRegionSegment (r );return _bdgb .parseHeader ();};type PatternDictionary struct{_abge _ga .StreamReader ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;GBAtX []int8 ;GBAtY []int8 ;IsMMREncoded bool ;HDTemplate byte ;HdpWidth byte ;HdpHeight byte ;Patterns []*_f .Bitmap ;GrayMax uint32 ;};func (_cedd *TextRegion )String ()string {_gccbb :=&_df .Builder {};_gccbb .WriteString ("\u000a[\u0054E\u0058\u0054\u0020\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u000a");_gccbb .WriteString (_cedd .RegionInfo .String ()+"\u000a");_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053br\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u003a\u0020\u0025\u0076\u000a",_cedd .SbrTemplate ));_gccbb .WriteString (_gf .Sprintf ("\u0009-\u0020S\u0062\u0064\u0073\u004f\u0066f\u0073\u0065t\u003a\u0020\u0025\u0076\u000a",_cedd .SbdsOffset ));_gccbb .WriteString (_gf .Sprintf ("\t\u002d \u0044\u0065\u0066\u0061\u0075\u006c\u0074\u0050i\u0078\u0065\u006c\u003a %\u0076\u000a",_cedd .DefaultPixel ));_gccbb .WriteString (_gf .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065r\u0061\u0074\u006fr\u003a \u0025\u0076\u000a",_cedd .CombinationOperator ));_gccbb .WriteString (_gf .Sprintf ("\t\u002d \u0049\u0073\u0054\u0072\u0061\u006e\u0073\u0070o\u0073\u0065\u0064\u003a %\u0076\u000a",_cedd .IsTransposed ));_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d\u0020Re\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0043\u006f\u0072\u006e\u0065\u0072\u003a\u0020\u0025\u0076\u000a",_cedd .ReferenceCorner ));_gccbb .WriteString (_gf .Sprintf ("\t\u002d\u0020\u0055\u0073eR\u0065f\u0069\u006e\u0065\u006d\u0065n\u0074\u003a\u0020\u0025\u0076\u000a",_cedd .UseRefinement ));_gccbb .WriteString (_gf .Sprintf ("\u0009-\u0020\u0049\u0073\u0048\u0075\u0066\u0066\u006d\u0061\u006e\u0045n\u0063\u006f\u0064\u0065\u0064\u003a\u0020\u0025\u0076\u000a",_cedd .IsHuffmanEncoded ));if _cedd .IsHuffmanEncoded {_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053bH\u0075\u0066\u0066\u0052\u0053\u0069\u007a\u0065\u003a\u0020\u0025\u0076\u000a",_cedd .SbHuffRSize ));_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0059:\u0020\u0025\u0076\u000a",_cedd .SbHuffRDY ));_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0058:\u0020\u0025\u0076\u000a",_cedd .SbHuffRDX ));_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053bH\u0075\u0066\u0066\u0052\u0044\u0048\u0065\u0069\u0067\u0068\u0074\u003a\u0020\u0025v\u000a",_cedd .SbHuffRDHeight ));_gccbb .WriteString (_gf .Sprintf ("\t\u002d\u0020\u0053\u0062Hu\u0066f\u0052\u0044\u0057\u0069\u0064t\u0068\u003a\u0020\u0025\u0076\u000a",_cedd .SbHuffRDWidth ));_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0044\u0054\u003a\u0020\u0025\u0076\u000a",_cedd .SbHuffDT ));_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0044\u0053\u003a\u0020\u0025\u0076\u000a",_cedd .SbHuffDS ));_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0046\u0053\u003a\u0020\u0025\u0076\u000a",_cedd .SbHuffFS ));};_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0058:\u0020\u0025\u0076\u000a",_cedd .SbrATX ));_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0059:\u0020\u0025\u0076\u000a",_cedd .SbrATY ));_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d\u0020N\u0075\u006d\u0062\u0065r\u004f\u0066\u0053\u0079\u006d\u0062\u006fl\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0073\u003a\u0020\u0025\u0076\u000a",_cedd .NumberOfSymbolInstances ));_gccbb .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0058:\u0020\u0025\u0076\u000a",_cedd .SbrATX ));return _gccbb .String ();};func (_dgga *HalftoneRegion )grayScaleDecoding (_ffde int )([][]int ,error ){var (_bbdgf []int8 ;_efef []int8 ;);if !_dgga .IsMMREncoded {_bbdgf =make ([]int8 ,4);_efef =make ([]int8 ,4);if _dgga .HTemplate <=1{_bbdgf [0]=3;}else if _dgga .HTemplate >=2{_bbdgf [0]=2;};_efef [0]=-1;_bbdgf [1]=-3;_efef [1]=-1;_bbdgf [2]=2;_efef [2]=-2;_bbdgf [3]=-2;_efef [3]=-2;};_eegc :=make ([]*_f .Bitmap ,_ffde );_cbfgb :=NewGenericRegion (_dgga ._gbfd );_cbfgb .setParametersMMR (_dgga .IsMMREncoded ,_dgga .DataOffset ,_dgga .DataLength ,_dgga .HGridHeight ,_dgga .HGridWidth ,_dgga .HTemplate ,false ,_dgga .HSkipEnabled ,_bbdgf ,_efef );_dcd :=_ffde -1;var _eafa error ;_eegc [_dcd ],_eafa =_cbfgb .GetRegionBitmap ();if _eafa !=nil {return nil ,_eafa ;};for _dcd > 0{_dcd --;_cbfgb .Bitmap =nil ;_eegc [_dcd ],_eafa =_cbfgb .GetRegionBitmap ();if _eafa !=nil {return nil ,_eafa ;};if _eafa =_dgga .combineGrayscalePlanes (_eegc ,_dcd );_eafa !=nil {return nil ,_eafa ;};};return _dgga .computeGrayScalePlanes (_eegc ,_ffde );};func (_fegb *TextRegion )readAmountOfSymbolInstances ()error {_fbbda ,_dcc :=_fegb ._eaac .ReadBits (32);if _dcc !=nil {return _dcc ;};_fegb .NumberOfSymbolInstances =uint32 (_fbbda &_bf .MaxUint32 );_aegg :=_fegb .RegionInfo .BitmapWidth *_fegb .RegionInfo .BitmapHeight ;if _aegg < _fegb .NumberOfSymbolInstances {_cb .Log .Debug ("\u004c\u0069\u006d\u0069t\u0069\u006e\u0067\u0020t\u0068\u0065\u0020n\u0075\u006d\u0062\u0065\u0072\u0020o\u0066\u0020d\u0065\u0063\u006f\u0064e\u0064\u0020\u0073\u0079m\u0062\u006f\u006c\u0020\u0069n\u0073\u0074\u0061\u006e\u0063\u0065\u0073 \u0074\u006f\u0020\u006f\u006ee\u0020\u0070\u0065\u0072\u0020\u0070\u0069\u0078\u0065l\u0020\u0028\u0020\u0025\u0064\u0020\u0069\u006e\u0073\u0074\u0065\u0061\u0064\u0020\u006f\u0066\u0020\u0025\u0064\u0029",_aegg ,_fegb .NumberOfSymbolInstances );_fegb .NumberOfSymbolInstances =_aegg ;};return nil ;};func (_gaf *EndOfStripe )Init (h *Header ,r _ga .StreamReader )error {_gaf ._dg =r ;return _gaf .parseHeader (h ,r );};func (_geec *PageInformationSegment )readContainsRefinement ()error {_daca ,_bcdf :=_geec ._fed .ReadBit ();if _bcdf !=nil {return _bcdf ;};if _daca ==1{_geec ._fabc =true ;};return nil ;};func (_gdff *HalftoneRegion )computeY (_dbf ,_ffdf int )int {return _gdff .shiftAndFill (int (_gdff .HGridY )+_dbf *int (_gdff .HRegionX )-_ffdf *int (_gdff .HRegionY ));};func (_gcfd *TextRegion )setParameters (_aeab *_adc .Decoder ,_aegb ,_gaad bool ,_ageb ,_cdeec uint32 ,_afag uint32 ,_dcae int8 ,_dfdf uint32 ,_dgaff int8 ,_ccfff _f .CombinationOperator ,_aabf int8 ,_edfdc int16 ,_bbeg ,_ccgg ,_cdea ,_daffc ,_edeb ,_aagb ,_gbcbd ,_ebgb ,_bcgcg ,_aec int8 ,_acac ,_ffag []int8 ,_efdf []*_f .Bitmap ,_acef int8 ){_gcfd ._eafb =_aeab ;_gcfd .IsHuffmanEncoded =_aegb ;_gcfd .UseRefinement =_gaad ;_gcfd .RegionInfo .BitmapWidth =_ageb ;_gcfd .RegionInfo .BitmapHeight =_cdeec ;_gcfd .NumberOfSymbolInstances =_afag ;_gcfd .SbStrips =_dcae ;_gcfd .NumberOfSymbols =_dfdf ;_gcfd .DefaultPixel =_dgaff ;_gcfd .CombinationOperator =_ccfff ;_gcfd .IsTransposed =_aabf ;_gcfd .ReferenceCorner =_edfdc ;_gcfd .SbdsOffset =_bbeg ;_gcfd .SbHuffFS =_ccgg ;_gcfd .SbHuffDS =_cdea ;_gcfd .SbHuffDT =_daffc ;_gcfd .SbHuffRDWidth =_edeb ;_gcfd .SbHuffRDHeight =_aagb ;_gcfd .SbHuffRDX =_gbcbd ;_gcfd .SbHuffRDY =_ebgb ;_gcfd .SbrTemplate =_aec ;_gcfd .SbrATX =_acac ;_gcfd .SbrATY =_ffag ;_gcfd .Symbols =_efdf ;_gcfd ._bffce =_acef ;};func (_fbf *Header )String ()string {_acdf :=&_df .Builder {};_acdf .WriteString ("\u000a[\u0053E\u0047\u004d\u0045\u004e\u0054-\u0048\u0045A\u0044\u0045\u0052\u005d\u000a");_acdf .WriteString (_gf .Sprintf ("\t\u002d\u0020\u0053\u0065gm\u0065n\u0074\u004e\u0075\u006d\u0062e\u0072\u003a\u0020\u0025\u0076\u000a",_fbf .SegmentNumber ));_acdf .WriteString (_gf .Sprintf ("\u0009\u002d\u0020T\u0079\u0070\u0065\u003a\u0020\u0025\u0076\u000a",_fbf .Type ));_acdf .WriteString (_gf .Sprintf ("\u0009-\u0020R\u0065\u0074\u0061\u0069\u006eF\u006c\u0061g\u003a\u0020\u0025\u0076\u000a",_fbf .RetainFlag ));_acdf .WriteString (_gf .Sprintf ("\u0009\u002d\u0020Pa\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_fbf .PageAssociation ));_acdf .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0050\u0061\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061\u0074i\u006fn\u0046\u0069\u0065\u006c\u0064\u0053\u0069\u007a\u0065\u003a\u0020\u0025\u0076\u000a",_fbf .PageAssociationFieldSize ));_acdf .WriteString ("\u0009-\u0020R\u0054\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u0053\u003a\u000a");for _ ,_cbfe :=range _fbf .RTSNumbers {_acdf .WriteString (_gf .Sprintf ("\u0009\t\u002d\u0020\u0025\u0064\u000a",_cbfe ));};_acdf .WriteString (_gf .Sprintf ("\t\u002d \u0048\u0065\u0061\u0064\u0065\u0072\u004c\u0065n\u0067\u0074\u0068\u003a %\u0076\u000a",_fbf .HeaderLength ));_acdf .WriteString (_gf .Sprintf ("\u0009-\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u0044\u0061t\u0061L\u0065n\u0067\u0074\u0068\u003a\u0020\u0025\u0076\n",_fbf .SegmentDataLength ));_acdf .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074D\u0061\u0074\u0061\u0053\u0074\u0061\u0072t\u004f\u0066\u0066\u0073\u0065\u0074\u003a\u0020\u0025\u0076\u000a",_fbf .SegmentDataStartOffset ));return _acdf .String ();};func (_bff *EndOfStripe )parseHeader (_ee *Header ,_dbd _ga .StreamReader )error {_ef ,_ab :=_bff ._dg .ReadBits (32);if _ab !=nil {return _ab ;};_bff ._ac =int (_ef &_bf .MaxInt32 );return nil ;};func (_aga *Header )readSegmentPageAssociation (_dedb Documenter ,_ffeea _ga .StreamReader ,_cac uint64 ,_agfb ...int )(_afbe error ){const _cabd ="\u0072\u0065\u0061\u0064\u0053\u0065\u0067\u006d\u0065\u006e\u0074P\u0061\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061t\u0069\u006f\u006e";if !_aga .PageAssociationFieldSize {_fdba ,_gead :=_ffeea .ReadBits (8);if _gead !=nil {return _ad .Wrap (_gead ,_cabd ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_aga .PageAssociation =int (_fdba &0xFF);}else {_aeace ,_abac :=_ffeea .ReadBits (32);if _abac !=nil {return _ad .Wrap (_abac ,_cabd ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_aga .PageAssociation =int (_aeace &_bf .MaxInt32 );};if _cac ==0{return nil ;};if _aga .PageAssociation !=0{_faba ,_dgab :=_dedb .GetPage (_aga .PageAssociation );if _dgab !=nil {return _ad .Wrap (_dgab ,_cabd ,"\u0061s\u0073\u006f\u0063\u0069a\u0074\u0065\u0064\u0020\u0070a\u0067e\u0020n\u006f\u0074\u0020\u0066\u006f\u0075\u006ed");};var _efged int ;for _fef :=uint64 (0);_fef < _cac ;_fef ++{_efged =_agfb [_fef ];_aga .RTSegments [_fef ],_dgab =_faba .GetSegment (_efged );if _dgab !=nil {var _fefe error ;_aga .RTSegments [_fef ],_fefe =_dedb .GetGlobalSegment (_efged );if _fefe !=nil {return _ad .Wrapf (_dgab ,_cabd ,"\u0072\u0065\u0066\u0065\u0072\u0065n\u0063\u0065\u0020s\u0065\u0067\u006de\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075n\u0064\u0020\u0061\u0074\u0020pa\u0067\u0065\u003a\u0020\u0027\u0025\u0064\u0027\u0020\u006e\u006f\u0072\u0020\u0069\u006e\u0020\u0067\u006c\u006f\u0062\u0061\u006c\u0073",_aga .PageAssociation );};};};return nil ;};for _eeggb :=uint64 (0);_eeggb < _cac ;_eeggb ++{_aga .RTSegments [_eeggb ],_afbe =_dedb .GetGlobalSegment (_agfb [_eeggb ]);if _afbe !=nil {return _ad .Wrapf (_afbe ,_cabd ,"\u0067\u006c\u006f\u0062\u0061\u006c\u0020\u0073\u0065\u0067m\u0065\u006e\u0074\u003a\u0020\u0027\u0025d\u0027\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_agfb [_eeggb ]);};};return nil ;};func (_eeac *SymbolDictionary )readAtPixels (_ecbf int )error {_eeac .SdATX =make ([]int8 ,_ecbf );_eeac .SdATY =make ([]int8 ,_ecbf );var (_baca byte ;_edbb error ;);for _dfcb :=0;_dfcb < _ecbf ;_dfcb ++{_baca ,_edbb =_eeac ._gcdc .ReadByte ();if _edbb !=nil {return _edbb ;};_eeac .SdATX [_dfcb ]=int8 (_baca );_baca ,_edbb =_eeac ._gcdc .ReadByte ();if _edbb !=nil {return _edbb ;};_eeac .SdATY [_dfcb ]=int8 (_baca );};return nil ;};func (_dgff *TextRegion )getUserTable (_bbbg int )(_gff .Tabler ,error ){const _baaee ="\u0067\u0065\u0074U\u0073\u0065\u0072\u0054\u0061\u0062\u006c\u0065";var _eedc int ;for _ ,_cegb :=range _dgff .Header .RTSegments {if _cegb .Type ==53{if _eedc ==_bbbg {_fbbd ,_gadbc :=_cegb .GetSegmentData ();if _gadbc !=nil {return nil ,_gadbc ;};_eabbc ,_cgee :=_fbbd .(*TableSegment );if !_cgee {_cb .Log .Debug (_gf .Sprintf ("\u0073\u0065\u0067\u006d\u0065\u006e\u0074 \u0077\u0069\u0074h\u0020\u0054\u0079p\u0065\u00205\u0033\u0020\u002d\u0020\u0061\u006ed\u0020in\u0064\u0065\u0078\u003a\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0054\u0061\u0062\u006c\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074",_cegb .SegmentNumber ));return nil ,_ad .Error (_baaee ,"\u0073\u0065\u0067\u006d\u0065\u006e\u0074 \u0077\u0069\u0074h\u0020\u0054\u0079\u0070e\u0020\u0035\u0033\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u002a\u0054\u0061\u0062\u006c\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074");};return _gff .NewEncodedTable (_eabbc );};_eedc ++;};};return nil ,nil ;};type OrganizationType uint8 ;func (_cga *PatternDictionary )readPatternWidthAndHeight ()error {_bec ,_edfe :=_cga ._abge .ReadByte ();if _edfe !=nil {return _edfe ;};_cga .HdpWidth =_bec ;_bec ,_edfe =_cga ._abge .ReadByte ();if _edfe !=nil {return _edfe ;};_cga .HdpHeight =_bec ;return nil ;};func (_ddb *GenericRegion )copyLineAbove (_cgc int )error {_bfc :=_cgc *_ddb .Bitmap .RowStride ;_eefe :=_bfc -_ddb .Bitmap .RowStride ;for _bfeb :=0;_bfeb < _ddb .Bitmap .RowStride ;_bfeb ++{_edda ,_efgd :=_ddb .Bitmap .GetByte (_eefe );if _efgd !=nil {return _efgd ;};_eefe ++;if _efgd =_ddb .Bitmap .SetByte (_bfc ,_edda );_efgd !=nil {return _efgd ;};_bfc ++;};return nil ;};func (_egga *GenericRegion )overrideAtTemplate0a (_abee ,_bed ,_bag ,_efe ,_dfeb ,_ddde int )int {if _egga .GBAtOverride [0]{_abee &=0xFFEF;if _egga .GBAtY [0]==0&&_egga .GBAtX [0]>=-int8 (_dfeb ){_abee |=(_efe >>uint (int8 (_ddde )-_egga .GBAtX [0]&0x1))<<4;}else {_abee |=int (_egga .getPixel (_bed +int (_egga .GBAtX [0]),_bag +int (_egga .GBAtY [0])))<<4;};};if _egga .GBAtOverride [1]{_abee &=0xFBFF;if _egga .GBAtY [1]==0&&_egga .GBAtX [1]>=-int8 (_dfeb ){_abee |=(_efe >>uint (int8 (_ddde )-_egga .GBAtX [1]&0x1))<<10;}else {_abee |=int (_egga .getPixel (_bed +int (_egga .GBAtX [1]),_bag +int (_egga .GBAtY [1])))<<10;};};if _egga .GBAtOverride [2]{_abee &=0xF7FF;if _egga .GBAtY [2]==0&&_egga .GBAtX [2]>=-int8 (_dfeb ){_abee |=(_efe >>uint (int8 (_ddde )-_egga .GBAtX [2]&0x1))<<11;}else {_abee |=int (_egga .getPixel (_bed +int (_egga .GBAtX [2]),_bag +int (_egga .GBAtY [2])))<<11;};};if _egga .GBAtOverride [3]{_abee &=0x7FFF;if _egga .GBAtY [3]==0&&_egga .GBAtX [3]>=-int8 (_dfeb ){_abee |=(_efe >>uint (int8 (_ddde )-_egga .GBAtX [3]&0x1))<<15;}else {_abee |=int (_egga .getPixel (_bed +int (_egga .GBAtX [3]),_bag +int (_egga .GBAtY [3])))<<15;};};return _abee ;};func (_dceb *TextRegion )checkInput ()error {const _eecc ="\u0063\u0068\u0065\u0063\u006b\u0049\u006e\u0070\u0075\u0074";if !_dceb .UseRefinement {if _dceb .SbrTemplate !=0{_cb .Log .Debug ("\u0053\u0062\u0072Te\u006d\u0070\u006c\u0061\u0074\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030");_dceb .SbrTemplate =0;};};if _dceb .SbHuffFS ==2||_dceb .SbHuffRDWidth ==2||_dceb .SbHuffRDHeight ==2||_dceb .SbHuffRDX ==2||_dceb .SbHuffRDY ==2{return _ad .Error (_eecc ,"h\u0075\u0066\u0066\u006d\u0061\u006e \u0066\u006c\u0061\u0067\u0020\u0076a\u006c\u0075\u0065\u0020\u0069\u0073\u0020n\u006f\u0074\u0020\u0070\u0065\u0072\u006d\u0069\u0074\u0074e\u0064");};if !_dceb .UseRefinement {if _dceb .SbHuffRSize !=0{_cb .Log .Debug ("\u0053\u0062\u0048uf\u0066\u0052\u0053\u0069\u007a\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030");_dceb .SbHuffRSize =0;};if _dceb .SbHuffRDY !=0{_cb .Log .Debug ("S\u0062\u0048\u0075\u0066fR\u0044Y\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0030");_dceb .SbHuffRDY =0;};if _dceb .SbHuffRDX !=0{_cb .Log .Debug ("S\u0062\u0048\u0075\u0066fR\u0044X\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0030");_dceb .SbHuffRDX =0;};if _dceb .SbHuffRDWidth !=0{_cb .Log .Debug ("\u0053b\u0048\u0075\u0066\u0066R\u0044\u0057\u0069\u0064\u0074h\u0020s\u0068o\u0075\u006c\u0064\u0020\u0062\u0065\u00200");_dceb .SbHuffRDWidth =0;};if _dceb .SbHuffRDHeight !=0{_cb .Log .Debug ("\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0048\u0065\u0069g\u0068\u0074\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020b\u0065\u0020\u0030");_dceb .SbHuffRDHeight =0;};};return nil ;};func (_afcc *SymbolDictionary )decodeHeightClassDeltaHeight ()(int64 ,error ){if _afcc .IsHuffmanEncoded {return _afcc .decodeHeightClassDeltaHeightWithHuffman ();};_cgcd ,_dbba :=_afcc ._cdae .DecodeInt (_afcc ._bee );if _dbba !=nil {return 0,_dbba ;};return int64 (_cgcd ),nil ;};func (_fdbg *TextRegion )readRegionFlags ()error {var (_ddg int ;_aedd uint64 ;_bbdgfe error ;);_ddg ,_bbdgfe =_fdbg ._eaac .ReadBit ();if _bbdgfe !=nil {return _bbdgfe ;};_fdbg .SbrTemplate =int8 (_ddg );_aedd ,_bbdgfe =_fdbg ._eaac .ReadBits (5);if _bbdgfe !=nil {return _bbdgfe ;};_fdbg .SbdsOffset =int8 (_aedd );if _fdbg .SbdsOffset > 0x0f{_fdbg .SbdsOffset -=0x20;};_ddg ,_bbdgfe =_fdbg ._eaac .ReadBit ();if _bbdgfe !=nil {return _bbdgfe ;};_fdbg .DefaultPixel =int8 (_ddg );_aedd ,_bbdgfe =_fdbg ._eaac .ReadBits (2);if _bbdgfe !=nil {return _bbdgfe ;};_fdbg .CombinationOperator =_f .CombinationOperator (int (_aedd )&0x3);_ddg ,_bbdgfe =_fdbg ._eaac .ReadBit ();if _bbdgfe !=nil {return _bbdgfe ;};_fdbg .IsTransposed =int8 (_ddg );_aedd ,_bbdgfe =_fdbg ._eaac .ReadBits (2);if _bbdgfe !=nil {return _bbdgfe ;};_fdbg .ReferenceCorner =int16 (_aedd )&0x3;_aedd ,_bbdgfe =_fdbg ._eaac .ReadBits (2);if _bbdgfe !=nil {return _bbdgfe ;};_fdbg .LogSBStrips =int16 (_aedd )&0x3;_fdbg .SbStrips =1<<uint (_fdbg .LogSBStrips );_ddg ,_bbdgfe =_fdbg ._eaac .ReadBit ();if _bbdgfe !=nil {return _bbdgfe ;};if _ddg ==1{_fdbg .UseRefinement =true ;};_ddg ,_bbdgfe =_fdbg ._eaac .ReadBit ();if _bbdgfe !=nil {return _bbdgfe ;};if _ddg ==1{_fdbg .IsHuffmanEncoded =true ;};return nil ;};func (_bagd *PageInformationSegment )readRequiresAuxiliaryBuffer ()error {_ageg ,_dbaf :=_bagd ._fed .ReadBit ();if _dbaf !=nil {return _dbaf ;};if _ageg ==1{_bagd ._bgfb =true ;};return nil ;};func (_gdeb *PageInformationSegment )readIsLossless ()error {_fbgfd ,_eabb :=_gdeb ._fed .ReadBit ();if _eabb !=nil {return _eabb ;};if _fbgfd ==1{_gdeb .IsLossless =true ;};return nil ;};func (_fabcd *TableSegment )HtLow ()int32 {return _fabcd ._dbeg };func (_efefe *PageInformationSegment )checkInput ()error {if _efefe .PageBMHeight ==_bf .MaxInt32 {if !_efefe .IsStripe {_cb .Log .Debug ("P\u0061\u0067\u0065\u0049\u006e\u0066\u006f\u0072\u006da\u0074\u0069\u006f\u006e\u0053\u0065\u0067me\u006e\u0074\u002e\u0049s\u0053\u0074\u0072\u0069\u0070\u0065\u0020\u0073\u0068ou\u006c\u0064 \u0062\u0065\u0020\u0074\u0072\u0075\u0065\u002e");};};return nil ;};func (_ccbg *PatternDictionary )setGbAtPixels (){if _ccbg .HDTemplate ==0{_ccbg .GBAtX =make ([]int8 ,4);_ccbg .GBAtY =make ([]int8 ,4);_ccbg .GBAtX [0]=-int8 (_ccbg .HdpWidth );_ccbg .GBAtY [0]=0;_ccbg .GBAtX [1]=-3;_ccbg .GBAtY [1]=-1;_ccbg .GBAtX [2]=2;_ccbg .GBAtY [2]=-2;_ccbg .GBAtX [3]=-2;_ccbg .GBAtY [3]=-2;}else {_ccbg .GBAtX =[]int8 {-int8 (_ccbg .HdpWidth )};_ccbg .GBAtY =[]int8 {0};};};func (_cfcad *SymbolDictionary )getSymbol (_efgc int )(*_f .Bitmap ,error ){const _fdee ="\u0067e\u0074\u0053\u0079\u006d\u0062\u006fl";_edgf ,_ggbc :=_cfcad ._ggdc .GetBitmap (_cfcad ._bbcga [_efgc ]);if _ggbc !=nil {return nil ,_ad .Wrap (_ggbc ,_fdee ,"\u0063\u0061n\u0027\u0074\u0020g\u0065\u0074\u0020\u0073\u0079\u006d\u0062\u006f\u006c");};return _edgf ,nil ;};func (_bgg *GenericRefinementRegion )overrideAtTemplate0 (_ggac ,_bdd ,_gb ,_bgbe ,_geb int )int {if _bgg ._ff [0]{_ggac &=0xfff7;if _bgg .GrAtY [0]==0&&int (_bgg .GrAtX [0])>=-_geb {_ggac |=(_bgbe >>uint (7-(_geb +int (_bgg .GrAtX [0])))&0x1)<<3;}else {_ggac |=_bgg .getPixel (_bgg .RegionBitmap ,_bdd +int (_bgg .GrAtX [0]),_gb +int (_bgg .GrAtY [0]))<<3;};};if _bgg ._ff [1]{_ggac &=0xefff;if _bgg .GrAtY [1]==0&&int (_bgg .GrAtX [1])>=-_geb {_ggac |=(_bgbe >>uint (7-(_geb +int (_bgg .GrAtX [1])))&0x1)<<12;}else {_ggac |=_bgg .getPixel (_bgg .ReferenceBitmap ,_bdd +int (_bgg .GrAtX [1]),_gb +int (_bgg .GrAtY [1]));};};return _ggac ;};func (_fdgcb *Header )readSegmentDataLength (_bgcd _ga .StreamReader )(_bcde error ){_fdgcb .SegmentDataLength ,_bcde =_bgcd .ReadBits (32);if _bcde !=nil {return _bcde ;};_fdgcb .SegmentDataLength &=_bf .MaxInt32 ;return nil ;};func (_gdbc *SymbolDictionary )retrieveImportSymbols ()error {for _ ,_cfgb :=range _gdbc .Header .RTSegments {if _cfgb .Type ==0{_eegge ,_eccbe :=_cfgb .GetSegmentData ();if _eccbe !=nil {return _eccbe ;};_dadf ,_gadef :=_eegge .(*SymbolDictionary );if !_gadef {return _gf .Errorf ("\u0070\u0072\u006f\u0076\u0069\u0064\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u0044\u0061\u0074a\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0053\u0079\u006d\u0062\u006f\u006c\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u003a\u0020%\u0054",_eegge );};_gaeb ,_eccbe :=_dadf .GetDictionary ();if _eccbe !=nil {return _gf .Errorf ("\u0072\u0065\u006c\u0061\u0074\u0065\u0064 \u0073\u0065\u0067m\u0065\u006e\u0074 \u0077\u0069t\u0068\u0020\u0069\u006e\u0064\u0065x\u003a %\u0064\u0020\u0067\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0073",_cfgb .SegmentNumber ,_eccbe .Error ());};_gdbc ._dadd =append (_gdbc ._dadd ,_gaeb ...);_gdbc ._baee +=_dadf .NumberOfExportedSymbols ;};};return nil ;};func NewRegionSegment (r _ga .StreamReader )*RegionSegment {return &RegionSegment {_bcgae :r }};func (_bbdg *GenericRefinementRegion )String ()string {_dggd :=&_df .Builder {};_dggd .WriteString ("\u000a[\u0047E\u004e\u0045\u0052\u0049\u0043 \u0052\u0045G\u0049\u004f\u004e\u005d\u000a");_dggd .WriteString (_bbdg .RegionInfo .String ()+"\u000a");_dggd .WriteString (_gf .Sprintf ("\u0009\u002d \u0049\u0073\u0054P\u0047\u0052\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_bbdg .IsTPGROn ));_dggd .WriteString (_gf .Sprintf ("\u0009-\u0020T\u0065\u006d\u0070\u006c\u0061t\u0065\u0049D\u003a\u0020\u0025\u0076\u000a",_bbdg .TemplateID ));_dggd .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0047\u0072\u0041\u0074\u0058\u003a\u0020\u0025\u0076\u000a",_bbdg .GrAtX ));_dggd .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0047\u0072\u0041\u0074\u0059\u003a\u0020\u0025\u0076\u000a",_bbdg .GrAtY ));_dggd .WriteString (_gf .Sprintf ("\u0009-\u0020R\u0065\u0066\u0065\u0072\u0065n\u0063\u0065D\u0058\u0020\u0025\u0076\u000a",_bbdg .ReferenceDX ));_dggd .WriteString (_gf .Sprintf ("\u0009\u002d\u0020\u0052ef\u0065\u0072\u0065\u006e\u0063\u0044\u0065\u0059\u003a\u0020\u0025\u0076\u000a",_bbdg .ReferenceDY ));return _dggd .String ();};func (_fcdg *TextRegion )decodeCurrentT ()(int64 ,error ){if _fcdg .SbStrips !=1{if _fcdg .IsHuffmanEncoded {_dcgac ,_fafe :=_fcdg ._eaac .ReadBits (byte (_fcdg .LogSBStrips ));return int64 (_dcgac ),_fafe ;};_aedb ,_agdae :=_fcdg ._eafb .DecodeInt (_fcdg ._fafbg );if _agdae !=nil {return 0,_agdae ;};return int64 (_aedb ),nil ;};return 0,nil ;};func (_addc *SymbolDictionary )decodeDirectlyThroughGenericRegion (_cccee ,_fdad uint32 )error {if _addc ._eda ==nil {_addc ._eda =NewGenericRegion (_addc ._gcdc );};_addc ._eda .setParametersWithAt (false ,byte (_addc .SdTemplate ),false ,false ,_addc .SdATX ,_addc .SdATY ,_cccee ,_fdad ,_addc ._dbfa ,_addc ._cdae );return _addc .addSymbol (_addc ._eda );};func (_eaaa *Header )readNumberOfReferredToSegments (_gdea _ga .StreamReader )(uint64 ,error ){const _bcgc ="\u0072\u0065\u0061\u0064\u004e\u0075\u006d\u0062\u0065\u0072O\u0066\u0052\u0065\u0066\u0065\u0072\u0072e\u0064\u0054\u006f\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073";_ead ,_fgca :=_gdea .ReadBits (3);if _fgca !=nil {return 0,_ad .Wrap (_fgca ,_bcgc ,"\u0063\u006f\u0075n\u0074\u0020\u006f\u0066\u0020\u0072\u0074\u0073");};_ead &=0xf;var _cgbd []byte ;if _ead <=4{_cgbd =make ([]byte ,5);for _dcbc :=0;_dcbc <=4;_dcbc ++{_geba ,_afff :=_gdea .ReadBit ();if _afff !=nil {return 0,_ad .Wrap (_afff ,_bcgc ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_cgbd [_dcbc ]=byte (_geba );};}else {_ead ,_fgca =_gdea .ReadBits (29);if _fgca !=nil {return 0,_fgca ;};_ead &=_bf .MaxInt32 ;_dbbda :=(_ead +8)>>3;_dbbda <<=3;_cgbd =make ([]byte ,_dbbda );var _gdga uint64 ;for _gdga =0;_gdga < _dbbda ;_gdga ++{_geaf ,_begde :=_gdea .ReadBit ();if _begde !=nil {return 0,_ad .Wrap (_begde ,_bcgc ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_cgbd [_gdga ]=byte (_geaf );};};return _ead ,nil ;};func (_dfed *TableSegment )Init (h *Header ,r _ga .StreamReader )error {_dfed ._dbca =r ;return _dfed .parseHeader ();};func (_aagg *Header )readDataStartOffset (_edbfd _ga .StreamReader ,_cgbf OrganizationType ){if _cgbf ==OSequential {_aagg .SegmentDataStartOffset =uint64 (_edbfd .StreamPosition ());};};type GenericRegion struct{_ddd _ga .StreamReader ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;RegionSegment *RegionSegment ;UseExtTemplates bool ;IsTPGDon bool ;GBTemplate byte ;IsMMREncoded bool ;UseMMR bool ;GBAtX []int8 ;GBAtY []int8 ;GBAtOverride []bool ;_ffdd bool ;Bitmap *_f .Bitmap ;_cbc *_adc .Decoder ;_fge *_adc .DecoderStats ;_cge *_ag .Decoder ;};func (_dcebf *TextRegion )symbolIDCodeLengths ()error {var (_dbafb []*_gff .Code ;_cbdg uint64 ;_gadd _gff .Tabler ;_caeg error ;);for _eagg :=0;_eagg < 35;_eagg ++{_cbdg ,_caeg =_dcebf ._eaac .ReadBits (4);if _caeg !=nil {return _caeg ;};_gcca :=int (_cbdg &0xf);if _gcca > 0{_dbafb =append (_dbafb ,_gff .NewCode (int32 (_gcca ),0,int32 (_eagg ),false ));};};_gadd ,_caeg =_gff .NewFixedSizeTable (_dbafb );if _caeg !=nil {return _caeg ;};var (_geece int64 ;_edea uint32 ;_deaeb []*_gff .Code ;_gfbb int64 ;);for _edea < _dcebf .NumberOfSymbols {_gfbb ,_caeg =_gadd .Decode (_dcebf ._eaac );if _caeg !=nil {return _caeg ;};if _gfbb < 32{if _gfbb > 0{_deaeb =append (_deaeb ,_gff .NewCode (int32 (_gfbb ),0,int32 (_edea ),false ));};_geece =_gfbb ;_edea ++;}else {var _fabcc ,_eeee int64 ;switch _gfbb {case 32:_cbdg ,_caeg =_dcebf ._eaac .ReadBits (2);if _caeg !=nil {return _caeg ;};_fabcc =3+int64 (_cbdg );if _edea > 0{_eeee =_geece ;};case 33:_cbdg ,_caeg =_dcebf ._eaac .ReadBits (3);if _caeg !=nil {return _caeg ;};_fabcc =3+int64 (_cbdg );case 34:_cbdg ,_caeg =_dcebf ._eaac .ReadBits (7);if _caeg !=nil {return _caeg ;};_fabcc =11+int64 (_cbdg );};for _eebc :=0;_eebc < int (_fabcc );_eebc ++{if _eeee > 0{_deaeb =append (_deaeb ,_gff .NewCode (int32 (_eeee ),0,int32 (_edea ),false ));};_edea ++;};};};_dcebf ._eaac .Align ();_dcebf ._cgda ,_caeg =_gff .NewFixedSizeTable (_deaeb );return _caeg ;};type GenericRefinementRegion struct{_cc templater ;_dba templater ;_bc _ga .StreamReader ;_fc *Header ;RegionInfo *RegionSegment ;IsTPGROn bool ;TemplateID int8 ;Template templater ;GrAtX []int8 ;GrAtY []int8 ;RegionBitmap *_f .Bitmap ;ReferenceBitmap *_f .Bitmap ;ReferenceDX int32 ;ReferenceDY int32 ;_gd *_adc .Decoder ;_fd *_adc .DecoderStats ;_ae bool ;_ff []bool ;};