{"version":3,"sources":["webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/xlsx/xlsx.js","webpack:///./node_modules/xlsx/jszip.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/xlsx/dist/cpexcel.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/vue-excel-xlsx/VueExcelXlsx.vue?ca67","webpack:///node_modules/vue-excel-xlsx/VueExcelXlsx.vue","webpack:///./node_modules/vue-excel-xlsx/VueExcelXlsx.vue?2635","webpack:///./node_modules/vue-excel-xlsx/VueExcelXlsx.vue","webpack:///./node_modules/vue-excel-xlsx/index.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/vuetify/lib/locale/es.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/validator.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/html2canvas/dist/html2canvas.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/vuetify/dist/vuetify.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js"],"names":["utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","validator","validators","Axios","instanceConfig","this","defaults","interceptors","request","response","prototype","config","arguments","url","method","toLowerCase","transitional","undefined","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","clarifyTimeoutError","requestInterceptorChain","synchronousRequestInterceptors","forEach","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","promise","responseInterceptorChain","push","chain","Array","apply","concat","Promise","resolve","length","then","shift","newConfig","onFulfilled","onRejected","error","reject","getUri","params","paramsSerializer","replace","data","module","exports","callback","arr","make_xlsx_lib","XLSX","version","current_codepage","current_ansi","cptable","global","window","VALID_ANSI","i","CS2CP","0","1","2","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","cp","indexOf","reset_ansi","set_cp","reset_cp","char_codes","o","len","charCodeAt","utf16leread","String","fromCharCode","join","utf16beread","debom","c1","c2","slice","_getchar","x","_getansi","decode","DENSE","DIF_XL","Base64","map","encode","input","c3","e1","e2","e3","e4","isNaN","charAt","has_buf","Buffer","process","versions","node","Buffer_from","nbfs","from","e","buf","enc","bind","alloc","n","allocUnsafe","new_raw_buf","new_unsafe_buf","s2a","s","split","s2ab","ArrayBuffer","view","Uint8Array","a2s","isArray","_chr","a2u","Error","ab2a","bconcat","bufs","chr0","chr1","SSF","make_ssf","_strrev","fill","c","l","pad0","v","d","t","pad_","rpad_","pad0r1","Math","round","pad0r2","p2_32","pow","pad0r","isgeneral","days","months","init_table","table_fmt","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","parse_date_code","opts","b2","date","time","dow","dout","out","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","toString","_general_int","general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","w","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","LOG10E","substr","general_fmt","format","write_date","type","fmt","val","ss0","ss","tt","outl","commaify","j","_general_num","_general","write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","match","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","r","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","carry","flr","write_num_flt","ffmt","ri","ff","oa","min","max","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","lastIndexOf","split_fmt","in_str","_split","abstime","fmt_is_date","toUpperCase","eval_fmt","flen","dt","lst","hr","ssm","bt","jj","nstr","myv","ostr","vv","decpt","lasti","retval","is_date","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","f","lat","m1","m2","dateNF","table","load_entry","load","_table","get_table","load_table","tbl","XLMLFormatMap","SSFImplicit","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","datestr","timestr","CRC32","DO_NOT_EXPORT_CFB","factory","signed_crc_table","Int32Array","crc32_bstr","bstr","seed","C","L","crc32_buf","crc32_buf_8","crc32_str","_fs","CFB","fs","namecmp","R","Z","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_dos_date","read_shift","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_extra_field","blob","prep_blob","flags","sz","tgt","mtime","atime","ctime","mt","get_fs","parse","file","options","parse_zip","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","header","check_shifts","dir_cnt","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","name","ENDOFCHAIN","files","Paths","FileIndex","FullPaths","read_directory","build_full_paths","raw","HEADER_SIGNATURE","nsectors","ceil","FI","FP","pl","dad","get_mfat_entry","entry","payload","mini","start","size","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","k","minifat_store","namelen","__utf16le","color","clsid","state","ct","read_date","storage","content","offset","__readUInt32LE","read_file","readFileSync","read","init_cfb","cfb","root","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","HEADER_CLSID","sort","elt","_write","_opts","fileType","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","path","UCFullPaths","UCPaths","UCPath","_zlib","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","console","message","_inflateRawSync","usz","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","realloc","copy","a","set","zero_fill_array","_deflateRaw","boff","off","build_tree","clens","cmap","MAX","maxlen","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","next_code","hcodes","h1","h2","inflate","outbuf","woff","OL","max_len_1","max_len_2","bits","code","len_eb","dst_eb","dst","warn_or_throw","wrn","msg","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","_crc32","cfb_add","unsafe","cdirs","compression","desc","fp","fi","crcs","sz_cd","namebuf","cfb_new","fpath","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","blobify","write_dl","fname","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","read_binary","infile","keys","ks","Object","o2","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","evert_arr","datenum","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","dup","JSON","stringify","fuzzynum","Number","wt","fuzzydate","NaN","getYear","jszip","safe_split_regex","split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","call","getdatabin","getdata","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","zipentries","resolve_path","result","target","step","JSZipSync","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","quot","trim","strip_ns","encodings","rencoding","unescapexml","encregex","coderegex","text","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","value","utf8read","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vtvregex","vtmregex","parseVector","matches","baseType","res","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XMLNS","XLMLNS","read_double_le","Infinity","write_double_le","bs","av","isFinite","LN2","__lpp4","___lpp4","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__double","___double","__8lpp4","___8lpp4","is_buf","isBuffer","readUInt32LE","readDoubleLE","__readInt16LE","__readInt32BE","oI","oR","loc","oo","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","end","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","curbuf","endbuf","next","_bufs","write_record","ba","XLSBRE","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_row","encode_col","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","hex","createHash","update","digest","decode_row","rowstr","unfix_row","row","cstr","decode_col","colstr","unfix_col","col","split_cell","decode_cell","splt","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","sheetStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","RBErr","parse_BrtColor","xColorType","index","nTS","bR","bG","bB","auto","icv","XLSIcv","rgb","rgb2Hex","theme","tint","write_BrtColor","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","font","grbit","italic","strike","outline","shadow","condense","extend","parse_ClipboardFormatOrString","ClipFmt","3","8","14","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","DocSummaryRE","SummaryRE","CountryEnum","XLSFillPattern","rgbify","ct2type","CT_LIST","workbooks","xlsx","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","styles","type2ct","new_ct","rels","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","CT","calcchain","sst","style","CTYPE_XML_ROOT","xsd","xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","VBA","get_rels_path","parse_rels","currentFilePath","hash","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","add_rels","rId","relobj","CT_ODS","parse_manifest","Rn","FEtag","xlml_normalize","xlmlregex","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","dc","dcterms","dcmitype","cp_doit","write_core_props","Props","CreatedDate","ModifiedDate","EXT_PROPS","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","HeadingPairs","TitlesOfParts","EXT_PROPS_XML_ROOT","vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","parse_FILETIME","dwLowDateTime","dwHighDateTime","write_FILETIME","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","ret","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","bytes","parse_ClipboardData","Size","write_TypedPropertyValue","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet1","PSet0","rval","FMTID","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","cbExtRst","fExtSt","fRichSt","width","cRun","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","extra","parse_FileMoniker","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","guid","fileTime","Loc","Tooltip","write_Hyperlink","hl","F","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","write_XLSCell","parse_frtHeader","rt","parse_OptXLUnicodeString","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtSkip","FtTab","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","wb","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","parse_BoundSheet8","hidden","hs","write_BoundSheet8","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","miyRw","level","hpt","parse_ForceFullCalculation","fullcalc","parse_RecalcId","parse_DefaultRowHeight","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","write_Window1","parse_Window2","RTL","write_Window2","parse_Font","dyHeight","write_Font","b5","parse_LabelSst","isst","parse_Label","write_Label","os","parse_Format","fmtstr","write_Format","parse_BIFF2Format","parse_Dimensions","write_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","write_XF","ixfeP","parse_Guts","write_Guts","guts","parse_BoolErr","write_BoolErr","parse_Number","xnum","write_Number","parse_XLHeaderFooter","parse_SupBook","ctab","sbcch","virtPath","rgst","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_NameCmt","cchName","cchComment","comment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","cchText","parse_HLink","hlink","write_HLink","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","TT","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","crc","parse_ColInfo","coldx","parse_Setup","footer","parse_ShtProps","area","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","write_BIFF2Cell","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF","dbf_codepage_map","dbf_reverse_map","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","fields","field","hend","sheetRows","dbf_to_sheet","dbf_to_workbook","_RLEN","sheet_to_dbf","codepage","aoa","sheet_to_json","headers","hcnt","coltypes","guess","_guess","hf","_f","hb","rout","_s","to_workbook","to_sheet","from_sheet","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","5","6","7","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","formula","rc_to_a1","F_seen","wch","process_col","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","a1_to_rc","write_ws_cols_sylk","cols","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","preamble","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","metadata","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","topic","push_value","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","sepcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","outer","prn_to_sheet_str","prn_to_sheet","firstbyte","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","sidx","snames","refguess","WK3Enum","qpro","vers","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","parse_rs","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","align","pass","uval","family","parse_r","terms","rs","sitregex","sirregex","sirphregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","count","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","main","sitag","parse_BrtBeginSst","parse_sst_bin","R_n","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","KeyData","xml","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordByte","Intermediate1","Intermediate2","Intermediate3","PasswordDecoded","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Temp","PasswordLastChar","PadIndex","Index","ObfuscationArray","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","RTF","rtf_to_sheet","rtf_to_sheet_str","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","X","h6","rgb_tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","xf","CellXf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","STYLES_XML_ROOT","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","STY","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","ifmt","write_BrtXF","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","fillId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","THEME","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","themeXML","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xfext","xfe","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","parse_xlink_xml","parse_xlink_bin","parse_drawing","IMG","DRAW","_shapeid","write_comments_vml","csize","bbox","joinstyle","gradientshapeok","coordsize","fillcolor","strokecolor","on","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","encoded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","textMatch","CMNT","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","write_comments_bin","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","parse_ds_bin","parse_ds_xml","parse_ms_bin","parse_ms_xml","DS","MS","rcregex","rcbase","rcfunc","$4","$5","fstr","crefregex","$0","shift_formula_str","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","PtgListRT","parse_PtgList","coltype","parse_PtgSxName","parse_PtgSheet","parse_PtgEndSheet","parse_PtgMemAreaN","parse_PtgMemNoMemN","parse_PtgAttrNoop","PtgTypes","PtgDupes","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","formula_quote_sheet_name","sname","get_ixti_raw","supbooks","XTI","SID","get_ixti","stringify_formula","stack","nameidx","last_sp","sp","fflen","argc","func","args","lbl","names","XLSXFutureFunctions","externbook","bookidx","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","rgcb","parse_XLSCellParsedFormula","parse_FormulaValue","parse_Formula","cbf","shared","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","WS","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","default_margins","margins","mode","defs","left","right","top","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fmtid","fillid","raw_rgb","check_ws","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","svsregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","ridx","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","_merge","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_protection","deffalse","deftrue","location","Rel","tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","Workbook","Names","Sheet","Ref","sviewregex","rightToLeft","Views","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","sstr","ftag","cells","cref","tagr","tagc","do_format","rowobj","rowrite","marr","marrlen","xlen","ht","outlineLevel","cellFormula","si","_tag","_r","write_ws_xml_data","height","_cell","customHeight","WS_XML_ROOT","write_ws_xml","rdata","vbaraw","cname","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","last","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","BrtMarginKeys","parse_BrtMargins","write_BrtMargins","parse_BrtBeginWsView","write_BrtBeginWsView","write_BrtCellIgnoreEC","write_BrtSheetProtection","parse_ws_bin","ai","af","aii","_d","write_ws_bin_cell","write_CELLTABLE","cap","write_MERGECELLS","write_COLINFOS","write_IGNOREECS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","parse_numCache","nf","parse_chart","csheet","nc","cache","CS","parse_cs_xml","parse_BrtCsProp","parse_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","codes","cn","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","Hidden","Comment","localSheetId","WB_XML_ROOT","write_wb_xml","write_names","workbookPr","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cc","parse_xlink","write_wb","write_ws","write_sty","write_sst","write_cmnt","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","opening","ishtml","HTML_","tmp","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","lastIndex","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","seen","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","write_name_xlml","write_names_xlml","write_ws_xlml_names","write_ws_xlml_wsopts","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml_table","skip","write_ws_xlml","write_xlml","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","slurp","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","lastcell","cmnt","rngC","rngR","temp_val","country","Directory","last_formula","cur_sheet","Preamble","last_cell","cell_valid","XFs","palette","get_rgb","process_cell_style","line","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","last_lbl","last_Rn","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","seen_codepage","RecordType","Date1904","WriteProtect","CalcRefMode","FullCalc","ExternCount","tmpri","fakebs8","_fr","_fc","_fe","_arraystart","_j","_ixfe","b4idx","b2idx","TxO","ImData","noteobj","Encryption","Metadata","Country","PSCLSID","SI","DSI","UDI","parse_xls_props","DocSummary","Summary","write_xls_props","Keys","DSEntries","SEntries","CEntries","CEntries2","parse_xlscfb","CompObj","WorkbookP","bookVBA","bookFiles","write_xlscfb","wbpath","write_biff_buf","XLSRE","write_biff_rec","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff2_cell","write_ws_biff2","write_biff2_buf","write_FONTS_biff8","write_FMTS_biff8","write_FEAT","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_biff8_cell","write_ws_biff8","_WB","_sheet","MAX_ROWS","write_biff8_global","_sheets","_wb","blen","write_biff8_buf","html_to_sheet","mtch2","hd","colspan","rowspan","_t","html_to_book","make_html_row","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","parse_dom_table","getElementsByTagName","midx","is_dom_element_hidden","elts","innerHTML","getAttribute","table_to_book","element","get_computed_style","get_get_computed_style_function","getPropertyValue","ownerDocument","defaultView","getComputedStyle","parse_content_xml","parse_text_p","fixed","number_formats","day","month","year","hours","minutes","seconds","era","quarter","sheetag","rowtag","textptag","NFtag","ctag","textp","textpidx","textR","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","ods","write_styles_ods","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","_Fref","text_p","_tgt","write_automatic_styles_ods","fods","write_ods","write_sheet_index","write_obj_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_rtf_str","write_txt_str","sheet_to_txt","write_dbf_buf","write_eth_str","fix_opts_func","fix_write_opts","get_sheet_type","safe_parse_wbrels","wbrels","safe_parse_sheet","relsPath","stype","dfile","drelsp","draw","chartp","crelsp","strip_front_slash","binname","dir","link","propdata","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","Deps","Styles","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","foo","vbafmt","_sn","_i","wsrels","_type","need_vml","rId1","read_cfb","read_zip","base64","read_plaintext","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","write_cfb_ctr","write_zip_type","oopts","generate","encrypt_agile","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","writeSync","resolve_book_type","_BT","writeFileAsync","_cb","Function","make_json_row","defval","isempty","defineProperty","enumerable","__rowNum__","outi","counter","CC","blankrows","qreg","make_csv_row","FS","txt","endregex","skipHidden","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","json_to_sheet","get_formulae","make_csv","make_json","make_formulae","table_to_sheet","sheet_to_slk","sheet_to_row_object_array","add_consts","get_default","ws_get_cell_stub","wb_sheet_idx","sh","book_new","book_append_sheet","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","rngstr","Readable","write_csv_stream","stream","BOM","_read","write_html_stream","write_json_stream","objectMode","to_json","to_html","to_csv","readFile","DO_NOT_EXPORT_JSZIP","self","require","_dereq_","_keyStr","utf8","chr2","chr3","enc1","enc2","enc3","enc4","output","CompressedObject","compressedSize","uncompressedSize","compressionMethod","compressedContent","getCompressedContent","STORE","magic","compress","uncompress","compressInputType","uncompressInputType","DEFLATE","4","getTypeOf","iTop","DataReader","checkOffset","checkIndex","newIndex","setIndex","byteAt","readInt","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","binary","createFolders","string2binary","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","USE_TYPEDARRAY","Uint32Array","pako","deflateRaw","inflateRaw","9","clone","newObj","support","compressions","10","ZipEntries","zipEntries","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","11","test","12","Uint8ArrayReader","NodeBufferReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","getBinaryData","nodebuffer","dataToString","asUTF8","utf8decode","utf8encode","ZipObject","_initialMetadata","asText","asUint8Array","asArrayBuffer","decToHex","prepareFileAttrs","fileAdd","parent","dataType","parentFolder","folderAdd","substring","lastSlash","generateCompressedObjectFrom","generateZipParts","compressedObject","dosTime","dosDate","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","extraFields","unicodePathExtraField","unicodeCommentExtraField","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","filter","search","relativePath","fileClone","regexp","folder","arg","newFolder","remove","kids","writer","zipData","localDirLength","centralDirLength","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","append","finalize","string","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","16","17","arraybuffer","uint8array","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","string2buf","m_pos","str_len","buf_len","utf8border","buf2string","c_len","utf16buf","applyFromCharCode","chunk","nextBoundary","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","resultStr","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","supported","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraFieldId","extraFieldLength","extraFieldValue","extraDataSize","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","constants","25","zlib_deflate","strings","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","chunkSize","windowBits","memLevel","strategy","to","opt","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","deflator","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","inflator","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","ungzip","27","TYPED_OK","sources","source","TypeError","fnTyped","dest","src","src_offs","dest_offs","fnUntyped","setTyped","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","pending","pending_buf","pending_out","total_out","flush_block_only","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","more","_w_size","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","configuration_table","Config","good_length","max_lazy","nice_length","max_chain","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","hcrc","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","_in","_out","dmax","wsize","whave","wnext","hold","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","dolen","dodist","sane","35","inflate_fast","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","InflateState","havedict","check","total","wbits","ncode","nlen","ndist","have","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","lenfix","distfix","virgin","fixedtables","sym","updatewindow","put","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","order","inf_leave","inflateInfo","36","MAXBITS","lbase","lext","dbase","dext","lens_index","table_index","incr","low","mask","curr","drop","used","huff","base_index","offs","extra_index","37","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","static_l_desc","static_d_desc","static_bl_desc","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","xbits","stree","overflow","gen_codes","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","compress_block","ltree","dtree","lc","lx","scan_tree","curlen","prevlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","fn","thisArg","toByteArray","fromByteArray","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","extraBytes","maxChunkLength","len2","DO_NOT_EXPORT_CODEPAGE","cpt","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","cca","mdl","mdb","make_EE","E","EE","sbcs_encode","ofmt","sbcs_decode","DD","dbcs_encode","dbcs_decode","utf8_d","direct","encache","null_enc","cp_decache","decache","last_enc","last_cp","sbcs","dbcs","BM","SetD","isstr","dash","o64","hascp","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","stringifySafely","rawValue","parser","encoder","isString","transformRequest","isFormData","isArrayBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","isObject","transformResponse","strictJSONParsing","responseType","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","merge","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","emptyObject","freeze","isUndef","isDef","isTrue","isFalse","isPrimitive","isFunction","_toString","isPlainObject","isValidArrayIndex","isPromise","catch","replacer","_key","__v_isRef","toNumber","makeMap","expectsLowerCase","create","list","isReservedAttribute","remove$2","item","hasOwn","cached","hit","camelizeRE","camelize","capitalize","hyphenateRE","hyphenate","polyfillBind","ctx","boundFn","_length","nativeBind","toArray","_from","toObject","noop","no","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","keysA","keysB","looseIndexOf","once","called","hasChanged","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","writable","configurable","bailRE","parsePath","segments","hasProto","inBrowser","UA","userAgent","isIE","isIE9","isEdge","isIOS","_isServer","isFF","nativeWatch","watch","supportsPassive","addEventListener","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Symbol","Reflect","ownKeys","Set","clear","currentInstance","getCurrentInstance","proxy","setCurrentInstance","vm","_scope","VNode","children","elm","componentOptions","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","createEmptyVNode","createTextVNode","cloneVNode","vnode","cloned","SuppressedError","uid$2","pendingCleanupDeps","cleanupDeps","dep","subs","_pending","Dep","addSub","sub","removeSub","depend","info","addDep","notify","targetStack","pushTarget","popTarget","arrayProto","arrayMethods","methodsToPatch","original","inserted","ob","__ob__","observeArray","arrayKeys","getOwnPropertyNames","NO_INITIAL_VALUE","shouldObserve","toggleObserving","mockDep","Observer","shallow","mock","vmCount","__proto__","defineReactive","observe","ssrMockReactivity","isExtensible","__v_skip","isRef","customSetter","observeEvenIfShallow","property","getOwnPropertyDescriptor","getter","setter","childOb","dependArray","newVal","isReadonly","_isVue","del","reactive","makeReactive","shallowReactive","isReactive","isShallow","__v_isShallow","__v_isReadonly","isProxy","toRaw","observed","markRaw","RefFlag","ref$1","createRef","shallowRef","triggerRef","unref","proxyRefs","objectWithRefs","proxyWithRefUnwrap","oldValue","customRef","_a","toRefs","toRef","defaultValue","rawToReadonlyFlag","rawToShallowReadonlyFlag","readonly","createReadonly","existingFlag","existingProxy","getPrototypeOf","defineReadonlyProperty","shallowReadonly","computed","getterOrOptions","debugOptions","onlyGetter","watcher","Watcher","lazy","effect","dirty","evaluate","WATCHER","WATCHER_CB","WATCHER_GETTER","WATCHER_CLEANUP","watchEffect","doWatch","watchPostEffect","watchSyncEffect","activeEffectScope","INITIAL_WATCHER_VALUE","_b","immediate","deep","_c","onTrack","onTrigger","cleanup","instance","invokeWithErrorHandling","forceTrigger","isMultiSource","some","traverse","_isDestroyed","onCleanup","baseGetter_1","onStop","noRecurse","active","newValue","post","queueWatcher","_isMounted","_preWatchers","$once","teardown","EffectScope","detached","effects","cleanups","scopes","currentEffectScope","stop","fromParent","effectScope","recordEffectScope","scope","getCurrentScope","onScopeDispose","provide","resolveProvided","_provided","parentProvides","$parent","inject","treatDefaultAsFactory","provides","normalizeEvent","passive","capture","createFnInvoker","fns","invoker","updateListeners","oldOn","createOnceHandler","old","event","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","propOptions","attrs","altKey","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","renderList","iterator","renderSlot","fallbackRender","bindObject","scopedSlotFn","$scopedSlots","$slots","slot","$createElement","resolveFilter","resolveAsset","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","_loop_1","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","$stable","$key","bindDynamicKeys","baseObj","values","prependModifier","symbol","installRenderHelpers","_o","_n","_l","_q","_m","_k","_e","_u","_g","_p","resolveSlots","slots","child","default","name_1","name_2","isWhitespace","normalizeScopedSlots","ownerVm","scopedSlots","normalSlots","prevScopedSlots","hasNormalSlots","isStable","_normalized","$hasNormal","key_1","normalizeScopedSlot","key_2","proxyNormalSlot","normalized","initSetup","setup","_setupContext","createSetupContext","setupResult","_props","_setupState","__sfc","_setupProxy","_attrsProxy","syncSetupProxy","$attrs","_listenersProxy","$listeners","initSlotsProxy","emit","$emit","expose","exposed","changed","defineProxyAttr","_slotsProxy","syncSetupSlots","useSlots","getContext","useAttrs","useListeners","listeners","mergeDefaults","reduce","initRender","_vnode","parentVnode","_parentVnode","renderContext","_renderChildren","createElement$1","parentData","_parentListeners","currentRenderingInstance","renderMixin","Vue","$nextTick","nextTick","_render","prevInst","prevRenderInst","handleError","ensureCtor","comp","__esModule","toStringTag","createAsyncPlaceholder","resolveAsyncComponent","baseCtor","errorComp","resolved","owner","owners","loading","loadingComp","owners_1","sync_1","timerLoading_1","timerTimeout_1","$on","forceRender_1","renderCompleted","$forceUpdate","clearTimeout","reject_1","reason","res_1","component","delay","getFirstComponentChild","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","is","pre","createComponent","applyNS","registerDeepBindings","force","class","hooks","errorCaptured","globalHandleError","handler","_handled","logError","timerFunc","isUsingMicroTask","callbacks","flushCallbacks","copies","p_1","MutationObserver","setImmediate","counter_1","observer","textNode_1","createTextNode","characterData","_resolve","useCssModule","mod","useCssVars","el","$el","vars","nodeType","setProperty","defineAsyncComponent","loader","loadingComponent","errorComponent","userOnError","suspensible","onError","pendingRequest","retries","retry","thisRequest","userRetry","userFail","createLifeCycle","hookName","injectHook","mergeLifecycleHook","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","onActivated","onDeactivated","onServerPrefetch","onRenderTracked","onRenderTriggered","injectErrorCapturedHook","onErrorCaptured","defineComponent","seenObjects","_traverse","isA","isFrozen","depId","target$1","uid$1","expOrFn","isRenderWatcher","_vm","_watcher","user","sync","before","newDeps","depIds","newDepIds","expression","_isBeingDestroyed","initEvents","_events","_hasHookEvent","updateComponentListeners","add$1","remove$1","$off","createOnceHandler$1","_target","onceHandler","oldListeners","eventsMixin","hookRE","i_1","cbs","activeInstance","setActiveInstance","prevActiveInstance","initLifecycle","abstract","$children","$refs","_inactive","_directInactive","lifecycleMixin","_update","hydrating","prevEl","prevVnode","restoreActiveInstance","__patch__","__vue__","wrapper","$destroy","callHook$1","mountComponent","updateComponent","watcherOptions","preWatchers","updateChildComponent","propsData","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","prevVNode","prevListeners","propKeys","_propKeys","validateProp","isInInactiveTree","activateChildComponent","deactivateChildComponent","setContext","prevScope","handlers","queue","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","performance_1","createEvent","timeStamp","sortCompareFn","flushSchedulerQueue","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueActivatedComponent","initProvide","provideOption","provided","initInjections","resolveInject","provideKey","provideDefault","FunctionalRenderContext","contextVm","_this","_original","isCompiled","needNormalization","injections","createFunctionalComponent","mergeProps","cloneAndMarkFunctionalResult","vnodes","getComponentName","__name","_componentTag","componentVNodeHooks","init","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","$mount","oldVnode","destroy","hooksToMerge","_base","cid","resolveConstructorOptions","model","transformModel","nativeOn","installComponentHooks","_isComponent","inlineTemplate","toMerge","_merged","mergeHook","strats","mergeData","recursive","toVal","fromVal","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","dedupeHooks","mergeAssets","parent_1","methods","defaultStrat","normalizeProps","normalizeInject","normalizeDirectives$1","dirs","directives","mergeOptions","extends","mixins","mergeField","strat","warnMissing","assets","camelizedId","PascalCaseId","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","getPropDefaultValue","prevShouldObserve","getType","functionTypeCheckRE","isSameType","expectedTypes","sharedPropertyDefinition","sourceKey","initState","initProps$1","initMethods","initData","initComputed$1","initWatch","propsOptions","isRoot","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","$watch","stateMixin","dataDef","propsDef","$set","$delete","uid","initMixin$1","_init","_uid","initInternalComponent","constructor","_self","vnodeComponentOptions","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","install","initMixin","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps","initComputed","Comp","initAssetRegisters","definition","_getComponentName","pattern","pruneCache","keepAliveInstance","pruneCacheEntry","current","patternTypes","KeepAlive","include","exclude","cacheVNode","vnodeToCache","keyToCache","created","destroyed","mounted","updated","builtInComponents","initGlobalAPI","configDef","util","delete","observable","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","parentNode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","query","selected","querySelector","tagName","multiple","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","nextSibling","setTextContent","textContent","setStyleScope","nodeOps","registerRef","isRemoval","refValue","$refsValue","isFor","refInFor","_isString","_isRef","refs","includes","setSetupRef","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","modules","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","i_2","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","i_3","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","i_5","hydrate","postpatch","invokeInsertHook","initial","i_6","isRenderedModule","inVPre","hasChildNodes","childrenMatch","firstChild","i_7","fullInvoke","isInitialPatch","isRealElement","hasAttribute","removeAttribute","oldElm","_leaveCb","patchable","i_8","i_9","insert_1","i_10","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","setupDef","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","_v_attr_proxy","setAttr","removeAttributeNS","isInPre","baseSetAttr","setAttributeNS","__ieph","blocker_1","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","event_1","change","useMicrotaskFix","attachedTimestamp_1","original_1","_wrapper","currentTarget","updateDOMListeners","svgContainer","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","number","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","addClass","classList","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions_1","curOptions_1","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","initEvent","dispatchEvent","locateNode","originalDisplay","__vOriginalDisplay","unbind","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave_1","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","getBoundingClientRect","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","offsetHeight","moved","el_1","WebkitTransform","transitionDuration","_moveCb","propertyName","_hasMove","cloneNode","newPos","oldPos","dx","dy","platformComponents","__CANCEL__","applyMixin","vuexInit","store","$store","devtoolHook","devtoolPlugin","_devtoolHook","targetState","replaceState","subscribe","mutation","prepend","subscribeAction","action","deepCopy","forEachValue","partial","Module","rawModule","runtime","_children","_rawModule","rawState","prototypeAccessors","namespaced","addChild","getChild","hasChild","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","defineProperties","ModuleCollection","rawRootModule","register","targetModule","newModule","getNamespace","this$1","rawChildModule","unregister","isRegistered","Store","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","_makeLocalGettersCache","dispatch","commit","installModule","resetStoreVM","useDevtools","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","parentState","getNestedState","moduleName","local","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","rootGetters","rawGetter","_Vue","all","after","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","isValidMap","helper","createLogger","collapsed","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","startMessage","endMessage","formattedAction","groupCollapsed","group","groupEnd","getMilliseconds","repeat","times","maxLength","encodeURIComponent","serializedParams","isDate","hashmarkIndex","isAxiosError","toJSON","description","lineNumber","columnNumber","isStandardBrowserEnv","originURL","msie","urlParsingNode","resolveURL","protocol","host","hostname","port","pathname","requestURL","parsed","exportExcel","createXLSLFormatObj","newXlsHeader","column","label","innerRowData","fieldValue","getNestedValue","dataFormat","ws_name","VueExcelXlsx","platform","arch","execPath","title","browser","argv","cwd","chdir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","createError","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","badge","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","noDataText","carousel","delimiter","calendar","moreEvents","prependAction","appendAction","fileInput","counterSize","timePicker","am","pm","pagination","previous","page","currentPage","rating","icon","Cancel","expires","domain","secure","cookie","isNumber","toGMTString","decodeURIComponent","isAbsoluteURL","combineURLs","baseURL","requestedURL","pkg","thing","deprecatedWarnings","currentVerArr","isOlderVersion","thanVersion","pkgVersionArr","destVer","schema","allowUnknown","isDeprecated","formatMessage","encodeReserveRE","encodeReserveReplacer","commaRE","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","castQueryParamValue","param","stringifyQuery","val2","trailingSlashRE","createRoute","redirectedFrom","router","route","fullPath","getFullPath","matched","formatMatch","START","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","bKeys","aVal","bKey","bVal","isIncludedRoute","queryIncludes","handleRouteEntered","instances","enteredCbs","i$1","View","routerView","$route","_routerViewCache","inactive","_routerRoot","vnodeData","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","registerRouteInstance","propsToPass","resolveProps","resolvePath","relative","firstChar","segment","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","escaped","prefix","modifier","asterisk","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","encodeAsterisk","token","attachKeys","sensitive","regexpToRegexp","groups","arrayToRegexp","stringToRegexp","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","params$1","rawPath","parsedPath","basePath","toTypes","eventTypes","Link","required","custom","exact","exactPath","exactActiveClass","ariaCurrentValue","this$1$1","$router","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","scopedSlot","navigate","isActive","isExactActive","findAnchor","aData","handler$1","event$1","aAttrs","metaKey","ctrlKey","shiftKey","defaultPrevented","button","preventDefault","installed","registerInstance","callVal","_router","history","_route","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","alias","redirect","childMatchAs","aliases","aliasRoute","createMatcher","addRoutes","addRoute","parentOrRoute","getRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","Time","genStateKey","getStateKey","setStateKey","positionStore","setupScroll","scrollRestoration","protocolAndPath","absolutePath","stateCopy","handlePopState","handleScroll","isPop","app","behavior","scrollBehavior","position","getScrollPosition","shouldScroll","scrollToPosition","saveScrollPosition","pageXOffset","pageYOffset","getElementPosition","docEl","documentElement","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","hashStartsWithNumberRE","selector","getElementById","scrollTo","supportsPushState","ua","pushState","NavigationFailureType","redirected","aborted","duplicated","createNavigationRedirectedError","createRouterError","stringifyRoute","createNavigationDuplicatedError","createNavigationCancelledError","createNavigationAbortedError","_isRouter","propertiesToLog","isError","isNavigationFailure","errorType","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","flatten","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","activated","deactivated","extractGuards","reverse","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","bindEnterGuard","listen","onReady","errorCb","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","afterHooks","abort","lastRouteIndex","lastCurrentIndex","beforeHooks","enterGuards","resolveHooks","setupListeners","cleanupListener","HTML5History","_startLocation","getLocation","expectScroll","supportsScroll","handleRoutingEvent","go","fromRoute","getCurrentLocation","pathLowerCase","baseLowerCase","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","handleInitialScroll","routeOrError","beforeEach","registerHook","beforeResolve","afterEach","forward","getMatchedComponents","createHref","normalizedTo","VueRouter$1","START_LOCATION","CancelToken","executor","resolvePromise","cancel","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","settle","cookies","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","unescape","Authorization","btoa","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","send","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","fromArrayBuffer","fromString","fromObject","assertSize","checked","isEncoding","fromArrayLike","byteOffset","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","_arr","MAX_ARGUMENTS_LENGTH","codePoints","toHex","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","extendStatics","setPrototypeOf","__extends","__assign","__awaiter","_arguments","generator","adopt","__generator","sent","trys","ops","verb","__spreadArray","pack","ar","Bounds","fromClientRect","clientRect","windowBounds","fromDOMRectList","domRectList","domRect","rect","EMPTY","parseBounds","parseDocumentSize","scrollWidth","offsetWidth","clientWidth","scrollHeight","clientHeight","toCodePoints$1","fromCodePoint$1","fromCodePoint","codeUnits","chars$2","lookup$2","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","encoded1","encoded2","encoded3","encoded4","bufferLength","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_SHIFT_1_2$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_BLOCK_LENGTH$1","UTRIE2_DATA_MASK$1","UTRIE2_LSCP_INDEX_2_LENGTH$1","UTRIE2_INDEX_2_BMP_LENGTH$1","UTRIE2_UTF8_2B_INDEX_2_OFFSET$1","UTRIE2_UTF8_2B_INDEX_2_LENGTH$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_BLOCK_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","slice32$1","createTrieFromBase64$1","view32","view16","headerLength","Trie$1","Trie","initialValue","errorValue","highStart","highValueIndex","ix","chars$3","lookup$3","i$3","base64$1","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AL","CJ","EB","EM","H2","H3","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","classType","isAdjacentWithSpaceIgnored","currentIndex","classTypes","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","prevIndex","cssFormattedClasses","wordBreak","isLetterNumber","forbiddenBreakpoints","letterNumber","Break","LineBreaker","lastEnd","nextIndex","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","EOF","ZERO","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","isIdentifierStart","isNumberStart","stringToNumber","integers","int","fraction","fracd","expsign","exponent","exp","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","consumeName","reconsumeCodePoint","consumeNumericToken","consumeIdentLikeToken","a1","a2","a3","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","digits","questionMarks","start_1","digit","endDigits","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","consumeStringSlice","SLICE_STACK_SIZE","amount","endingCodePoint","consumeNumber","repr","unit","hexCodePoint","Parser","_tokens","tokenizer","parseValue","parseComponentValue","parseValues","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","consumeSimpleBlock","consumeFunction","block","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","DEG","GRAD","RAD","TURN","angle","_context","PI","isAngle","parseNamedSide","sideOrCorner","ident","deg","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","namedColor","COLORS","TRANSPARENT","isTransparent","asString","alpha","blue","green","red","getTokenColorValue","hue2rgb","t1","t2","hue","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","backgroundColor","parseColorStop","processColorStops","stops","lineLength","processStops","stop_1","absoluteValue","gapBegin","stop_2","gapLength","beforeGap","gapValue","getAngleFromCorner","corner","centerX","centerY","atan2","calculateGradientDirection","radian","sin","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","sqrt","findCorner","closest","corners","stat","cx","cy","optimumDistance","optimumCorner","calculateRadius","gradient","rx","ry","shape","linearGradient","angle$1","firstToken","colorStop","prefixLinearGradient","webkitGradient","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","radialGradient","isColorStop","isAtPosition_1","acc","prefixRadialGradient","isLinearGradient","background","isRadialGradient","image","image_1","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","direction","bit","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","fontSize","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflowWrap","paddingForSide","paddingTop","paddingRight","paddingBottom","paddingLeft","textAlign","textShadow","offsetX","offsetY","blur","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","zIndex","opacity","textDecorationColor","textDecorationLine","fontFamily","accumulator","results","fontWeight","fontVariant","fontStyle","contains","counterIncrement","increments","filtered","increment","counterReset","resets","reset","quotes","open_1","close_1","getQuote","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","animationDuration","cssFloat","overflowTuple","overflowX","overflowY","textDecoration","isVisible","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","descriptor","length_1","value_1","elementDebuggerAttribute","getElementDebugType","attribute","isDebugging","elementType","ElementContainer","textNodes","elements","isHTMLElementNode","bounds","chars$1","lookup$1","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_SHIFT_1_2","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_BLOCK_LENGTH","UTRIE2_DATA_MASK","UTRIE2_LSCP_INDEX_2_LENGTH","UTRIE2_INDEX_2_BMP_LENGTH","UTRIE2_UTF8_2B_INDEX_2_OFFSET","UTRIE2_UTF8_2B_INDEX_2_LENGTH","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_BLOCK_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","chars","PseudoElementType","Prepend","CR","LF","Control","Extend","SpacingMark","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","createRange","testElement","selectNode","rangeBounds","rangeHeight","testIOSLineBreak","wordSpacing","textList","supports","setStart","setEnd","boundAhead","testCORS","Image","crossOrigin","testResponseType","testSVG","img","canvas","drawImage","toDataURL","isGreenPixel","testForeignObject","fillStyle","fillRect","greenImageSrc","createForeignObjectSVG","loadSerializedSVG$1","getImageData","foreignObject","onload","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","fetch","Intl","Segmenter","TextBounds","parseTextBounds","breakText","textBounds","clientRects","getClientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","splitText","getWrapperBounds","replaceChild","SUPPORT_NATIVE_TEXT_SEGMENTATION","segmenter","granularity","segmentWords","breakWords","wordSeparators","word_1","TextContainer","CAPITALIZE","p1","p2","ImageElementContainer","_super","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","CanvasElementContainer","SVGElementContainer","baseVal","LIElementContainer","OLElementContainer","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","SelectElementContainer","TextareaElementContainer","IFrameElementContainer","iframe","contentWindow","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","nextNode","isElementNode","isSlotElement","assignedNodes","container","createContainer","createsRealStackingContext","createsStackingContext","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","Node","TEXT_NODE","ELEMENT_NODE","isSVGElementNode","className","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","CounterState","counters","getCounterValue","getCounterValues","canReset","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","suffix","createCounterText","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","scrolledElements","referenceElement","quoteDepth","toIFrame","windowSize","createIFrameContainer","scrollX","scrollY","cloneWindow","documentClone","iframeLoad","iframeLoader","onclone","restoreNodeScroll","clonedReferenceElement","nodeName","fonts","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","srcset","createCustomElementClone","copyCSSStyles","cssRules","rule","inlineImages","clonedCanvas","clonedCtx","allowTaint","putImageData","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","copyStyles","ignoreElements","cloneChildNodes","assignedNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","resolvePseudoContent","BEFORE","AFTER","scrollTop","scrollLeft","pseudoElt","anonymousReplacedElement","counterStyle","counterState","counterType","delim","counterStates","counterType_1","separator","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","CORNER","cloneIframeContainer","scrolling","imageReady","complete","images","interval","setInterval","clearInterval","ignoredStyleProperties","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","getOrigin","_link","isSameOrigin","Cache","_cache","isBlobImage","isRenderable","loadImage","useCORS","useProxy","isInlineImage","SUPPORT_CORS_IMAGES","SUPPORT_CORS_XHR","debug","isInlineBase64Image","imageTimeout","SUPPORT_RESPONSE_TYPE","xhr","reader_1","FileReader","readAsDataURL","queryString","timeout_1","INLINE_SVG","INLINE_BASE64","INLINE_IMG","SUPPORT_SVG_DRAWING","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","subdivide","firstHalf","bc","cd","abbc","bccd","isBezierCurve","BoundCurves","tlh","tlv","trh","trv","brh","brv","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","StackingContext","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","ElementPaint","borderBox","paddingBox","getEffects","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","order_1","index_1","index_2","processListItems","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","AUTO","hasIntrinsicValue","intrinsicProportion","second","hasIntrinsicProportion","targetRatio","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_1","height_1","width_2","height_2","width_3","height_3","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","_document","parseMetrics","span","padding","whiteSpace","verticalAlign","baseline","offsetTop","middle","getMetrics","Renderer","MASK_OFFSET","CanvasRenderer","_activeEffects","scale","fontMetrics","translate","textBaseline","applyEffects","popEffect","applyEffect","save","globalAlpha","clip","restore","renderStack","renderStackContent","renderNode","paint","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","fillText","letters","letter","measureText","createFontStyle","variant","fixIOSSystemFonts","renderTextNode","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","strokeText","renderReplacedElement","box","iframeRenderer","beginPath","arc","isTextInputElement","canvasTextAlign","_h","paths","moveTo","lineTo","formatPath","closePath","bezierCurveTo","renderRepeat","resizeImage","renderBackgroundImage","this_1","x0","x1","y0","y1","gradient_1","top_1","radialGradient_1","midX","midY","invF","createPattern","createLinearGradient","addColorStop","createRadialGradient","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","innerPaths","hasBackground","borders","borders_1","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","renderDashedDottedBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","path1","path2","setLineDash","lineCap","stroke","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","enabled","Context","instanceName","instanceCount","logging","html2canvas","renderElement","resourceOptions","contextOptions","windowOptions","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","renderOptions","renderer","windowWidth","innerWidth","windowHeight","innerHeight","parseBackgroundColor","devicePixelRatio","removeContainer","backgroundColorOverride","defaultBackgroundColor","ignoreDuplicateOf","FormData","pipe","URLSearchParams","product","assignValue","stripBOM","__WEBPACK_EXTERNAL_MODULE_vue__","installedModules","__webpack_require__","moduleId","__webpack_exports__","_VSheet__WEBPACK_IMPORTED_MODULE_1__","_VBtn__WEBPACK_IMPORTED_MODULE_2__","_VIcon__WEBPACK_IMPORTED_MODULE_3__","_mixins_toggleable__WEBPACK_IMPORTED_MODULE_4__","_mixins_themeable__WEBPACK_IMPORTED_MODULE_5__","_mixins_transitionable__WEBPACK_IMPORTED_MODULE_6__","_util_mixins__WEBPACK_IMPORTED_MODULE_7__","_util_console__WEBPACK_IMPORTED_MODULE_8__","_util_helpers__WEBPACK_IMPORTED_MODULE_9__","closeLabel","coloredBorder","dismissible","closeIcon","outlined","prominent","__cachedBorder","setBackgroundColor","computedColor","__cachedDismissible","iconColor","small","$vuetify","lang","__cachedIcon","computedIcon","hasColoredIcon","hasText","isDark","genWrapper","genContent","toggle","genAlert","role","listeners$","setColor","setTextColor","_VAlert__WEBPACK_IMPORTED_MODULE_0__","_mixins_themeable__WEBPACK_IMPORTED_MODULE_1__","_util_mixins__WEBPACK_IMPORTED_MODULE_2__","_util_helpers__WEBPACK_IMPORTED_MODULE_3__","dark","light","rtl","themeClasses","_VApp__WEBPACK_IMPORTED_MODULE_0__","_VToolbar_VToolbar__WEBPACK_IMPORTED_MODULE_1__","_directives_scroll__WEBPACK_IMPORTED_MODULE_2__","_mixins_applicationable__WEBPACK_IMPORTED_MODULE_3__","_mixins_scrollable__WEBPACK_IMPORTED_MODULE_4__","_mixins_ssr_bootable__WEBPACK_IMPORTED_MODULE_5__","_mixins_toggleable__WEBPACK_IMPORTED_MODULE_6__","_util_helpers__WEBPACK_IMPORTED_MODULE_7__","_util_mixins__WEBPACK_IMPORTED_MODULE_8__","baseMixins","Scroll","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","applicationProperty","canScroll","isBooted","collapse","absolute","hideShadow","currentScroll","scrollRatio","threshold","computedScrollThreshold","computedContentHeight","computedOriginalHeight","computedFontSize","isProminent","computedLeft","application","computedMarginTop","bar","computedOpacity","isExtended","extensionHeight","computedRight","scrollThreshold","computedTransform","computedHeight","isCollapsed","callUpdate","genBackground","updateApplication","thresholdMet","isScrollingUp","currentThreshold","savedScroll","scrollTarget","onScroll","_VIcon__WEBPACK_IMPORTED_MODULE_0__","_VBtn_VBtn__WEBPACK_IMPORTED_MODULE_1__","vue__WEBPACK_IMPORTED_MODULE_2__","vue__WEBPACK_IMPORTED_MODULE_2___default","defaultSlot","_mixins_registrable__WEBPACK_IMPORTED_MODULE_0__","_util_helpers__WEBPACK_IMPORTED_MODULE_1__","_services_goto_easing_patterns__WEBPACK_IMPORTED_MODULE_2__","contentWidth","ratio","updateDimensions","dimensions","_VAppBar__WEBPACK_IMPORTED_MODULE_0__","_VAppBarNavIcon__WEBPACK_IMPORTED_MODULE_1__","_VAppBarTitle__WEBPACK_IMPORTED_MODULE_2__","$_vuetify_subcomponents","VAppBarNavIcon","VAppBarTitle","_VSelect_VSelect__WEBPACK_IMPORTED_MODULE_1__","_VTextField_VTextField__WEBPACK_IMPORTED_MODULE_2__","_util_mergeData__WEBPACK_IMPORTED_MODULE_3__","_util_helpers__WEBPACK_IMPORTED_MODULE_4__","defaultMenuProps","offsetOverflow","autoSelectFirst","queryText","itemText","toLocaleLowerCase","hideNoData","menuProps","noFilter","searchInput","lazySearch","computedItems","filteredItems","selectedValues","selectedItems","hasDisplayedItems","hideSelected","hasItem","currentRange","selectedItem","getText","isSearching","internalSearch","allItems","isAnyValueAllowed","isDirty","searchIsDirty","menuCanShow","isFocused","$_menuProps","contentClass","valueComparator","internalValue","listData","items","virtualizedItems","onCopy","select","updateSelf","isMenuActive","hasSlot","oldVal","activateMenu","setSearch","onFilteredItemsChanged","preSelectedItem_1","menu","listIndex","setMenuIndex","findIndex","getTiles","onInternalSearchChanged","updateMenuDimensions","changeSelectedIndex","keyCode","backspace","deleteCurrentItem","curIndex","curItem","isInteractive","getDisabled","nextItem","selectItem","setValue","clearableCallback","genInput","autocomplete","genInputSlot","genSelections","onClick","onFocus","isAppendInner","onInput","badInput","validity","onKeyDown","home","onSpaceDown","onTabDown","onUpDown","setSelectedItems","currentItem","currentItemText","clipboardData","setData","_VAutocomplete__WEBPACK_IMPORTED_MODULE_0__","_mixins_colorable__WEBPACK_IMPORTED_MODULE_1__","_mixins_measurable__WEBPACK_IMPORTED_MODULE_2__","_mixins_roundable__WEBPACK_IMPORTED_MODULE_3__","_util_mixins__WEBPACK_IMPORTED_MODULE_5__","roundedClasses","minWidth","measurableStyles","_VAvatar__WEBPACK_IMPORTED_MODULE_0__","_VIcon_VIcon__WEBPACK_IMPORTED_MODULE_1__","_mixins_colorable__WEBPACK_IMPORTED_MODULE_2__","_mixins_themeable__WEBPACK_IMPORTED_MODULE_3__","_mixins_transitionable__WEBPACK_IMPORTED_MODULE_5__","_mixins_positionable__WEBPACK_IMPORTED_MODULE_6__","_util_helpers__WEBPACK_IMPORTED_MODULE_8__","__rest","getOwnPropertySymbols","propertyIsEnumerable","avatar","bordered","dot","inline","overlap","tile","computedBottom","computedYOffset","isRtl","computedXOffset","computedTop","calcPosition","genBadge","genBadgeContent","genBadgeWrapper","_VBadge__WEBPACK_IMPORTED_MODULE_0__","_VAvatar__WEBPACK_IMPORTED_MODULE_2__","_transitions__WEBPACK_IMPORTED_MODULE_4__","_mixins_mobile__WEBPACK_IMPORTED_MODULE_5__","singleLine","sticky","hasIcon","isMobile","isSticky","iconClick","genIcon","genText","genActions","dismiss","attrs$","_VBanner__WEBPACK_IMPORTED_MODULE_0__","_mixins_applicationable__WEBPACK_IMPORTED_MODULE_1__","_mixins_button_group__WEBPACK_IMPORTED_MODULE_2__","_mixins_colorable__WEBPACK_IMPORTED_MODULE_3__","_mixins_measurable__WEBPACK_IMPORTED_MODULE_4__","_mixins_proxyable__WEBPACK_IMPORTED_MODULE_5__","_mixins_scrollable__WEBPACK_IMPORTED_MODULE_6__","_mixins_themeable__WEBPACK_IMPORTED_MODULE_7__","_mixins_toggleable__WEBPACK_IMPORTED_MODULE_8__","_util_mixins__WEBPACK_IMPORTED_MODULE_9__","_util_console__WEBPACK_IMPORTED_MODULE_10__","_util_helpers__WEBPACK_IMPORTED_MODULE_11__","grow","inputValue","mandatory","updateValue","_VBottomNavigation__WEBPACK_IMPORTED_MODULE_0__","_VDialog_VDialog__WEBPACK_IMPORTED_MODULE_1__","maxWidth","_VBottomSheet__WEBPACK_IMPORTED_MODULE_0__","_VBreadcrumbsItem__WEBPACK_IMPORTED_MODULE_1__","_VBreadcrumbsDivider__WEBPACK_IMPORTED_MODULE_2__","_util_mixins__WEBPACK_IMPORTED_MODULE_4__","_util_helpers__WEBPACK_IMPORTED_MODULE_5__","divider","large","genDivider","genItems","_util_helpers__WEBPACK_IMPORTED_MODULE_0__","_mixins_routable__WEBPACK_IMPORTED_MODULE_0__","_util_mixins__WEBPACK_IMPORTED_MODULE_1__","_util_helpers__WEBPACK_IMPORTED_MODULE_2__","ripple","disabled","generateRouteLink","isLink","_VBreadcrumbs__WEBPACK_IMPORTED_MODULE_0__","VBreadcrumbs","VBreadcrumbsItem","VBreadcrumbsDivider","_VProgressCircular__WEBPACK_IMPORTED_MODULE_2__","_mixins_groupable__WEBPACK_IMPORTED_MODULE_3__","_mixins_elevatable__WEBPACK_IMPORTED_MODULE_5__","_mixins_routable__WEBPACK_IMPORTED_MODULE_7__","_mixins_sizeable__WEBPACK_IMPORTED_MODULE_8__","_typeof","__read","btnToggle","depressed","fab","plain","retainFocusOnClick","rounded","proxyClass","isElevated","hasBg","isRound","groupClasses","elevationClasses","sizeableClasses","computedElevation","computedRipple","defaultRipple","circle","elevation","breakingProps","replacement","detail","genLoader","indeterminate","_VBtn__WEBPACK_IMPORTED_MODULE_0__","_mixins_button_group__WEBPACK_IMPORTED_MODULE_1__","_util_mixins__WEBPACK_IMPORTED_MODULE_3__","borderless","shaped","genData","_VBtnToggle__WEBPACK_IMPORTED_MODULE_0__","_mixins_calendar_with_events__WEBPACK_IMPORTED_MODULE_0__","_util_props__WEBPACK_IMPORTED_MODULE_1__","_util_timestamp__WEBPACK_IMPORTED_MODULE_2__","_VCalendarMonthly__WEBPACK_IMPORTED_MODULE_3__","_VCalendarDaily__WEBPACK_IMPORTED_MODULE_4__","_VCalendarWeekly__WEBPACK_IMPORTED_MODULE_5__","_VCalendarCategory__WEBPACK_IMPORTED_MODULE_6__","_util_parser__WEBPACK_IMPORTED_MODULE_7__","weeks","intervals","category","lastStart","parsedValue","parsedStart","today","parsedCategoryDays","categoryDays","renderProps","around","maxDays","weekdays","parsedWeekdays","parsedCategories","getStartOfWeek","getEndOfWeek","weekday","parsedEnd","getCategoryList","eventWeekdays","categoryMode","spanYears","spanMonths","monthShortFormatter","monthLongFormatter","getFormatter","timeZone","categoryText","updateEventVisibility","checkChange","move","mover","timeToY","clamp","timeDelta","minutesToPixels","scrollToTime","parseTimestamp","timestampToDate","timestamp","noEvents","categoryMap_1","categoryName","categoryHideDynamic","categoryShowAll","categoryLength_1","parsedEvents","ev","categoryForInvalid","$props","quiet","getScopedSlots","_VCalendarDaily__WEBPACK_IMPORTED_MODULE_1__","_util_props__WEBPACK_IMPORTED_MODULE_3__","_util_parser__WEBPACK_IMPORTED_MODULE_4__","genDayHeader","week","genDayHeaderCategory","getCategoryScope","cat","headerTitle","getDefaultMouseEventHandlers","getSlotScope","genDayHeaderCategoryTitle","genDays","genDay","categoryIndex","getRelativeClasses","getTimestampAtEvent","genDayIntervals","genDayBody","genDayInterval","intervalHeight","styler","intervalStyle","intervalStyleDefault","genDayBodyCategory","_directives_resize__WEBPACK_IMPORTED_MODULE_1__","_mixins_calendar_with_intervals__WEBPACK_IMPORTED_MODULE_3__","Resize","scrollPush","onResize","getScrollPush","scrollArea","pane","genHead","genHeadIntervals","genHeadDays","intervalWidth","genHeadDay","nativeEvent","genHeadWeekday","genHeadDayLabel","present","weekdayFormatter","shortWeekdays","genHeadDayButton","getMouseEventHandlers","prevent","dayFormatter","genBody","genScrollArea","genPane","bodyHeight","genDayContainer","genBodyIntervals","genIntervalLabels","genIntervalLabel","short","shortIntervals","shower","showIntervalLabel","showIntervalLabelDefault","intervalFormatter","dragstart","hideHeader","_VCalendarWeekly__WEBPACK_IMPORTED_MODULE_1__","_VBtn__WEBPACK_IMPORTED_MODULE_1__","_mixins_calendar_base__WEBPACK_IMPORTED_MODULE_2__","_util_dateTimeUtils__WEBPACK_IMPORTED_MODULE_4__","_util_props__WEBPACK_IMPORTED_MODULE_5__","_util_timestamp__WEBPACK_IMPORTED_MODULE_6__","parsedMinWeeks","minWeeks","minDays","weekdaySkips","MAX_SAFE_INTEGER","todayWeek","monthFormatter","monthFormat","longOptions","shortOptions","currentLocale","_tms","isOutside","dayIdentifier","showWeek","outside","genWeeks","weekDays","genWeek","getWeekNumber","weekNumber","weekNodes","genWeekNumber","determineDay","localeFirstDayOfYear","genDayLabel","genDayLabelButton","hasMonth","showMonthOnFirst","shortMonths","genDayMonth","_VCalendar__WEBPACK_IMPORTED_MODULE_0__","_VCalendarWeekly__WEBPACK_IMPORTED_MODULE_2__","_VCalendarCategory__WEBPACK_IMPORTED_MODULE_4__","VCalendar","VCalendarCategory","VCalendarDaily","VCalendarWeekly","VCalendarMonthly","_util_mixins__WEBPACK_IMPORTED_MODULE_0__","_mixins_localable__WEBPACK_IMPORTED_MODULE_2__","_mixins_mouse__WEBPACK_IMPORTED_MODULE_3__","_mixins_themeable__WEBPACK_IMPORTED_MODULE_4__","_times__WEBPACK_IMPORTED_MODULE_5__","_directives_resize__WEBPACK_IMPORTED_MODULE_6__","_util_props__WEBPACK_IMPORTED_MODULE_7__","_util_timestamp__WEBPACK_IMPORTED_MODULE_8__","weekdaySkipsReverse","dayFormat","_short","weekdayFormat","past","future","locale","_directives_ripple__WEBPACK_IMPORTED_MODULE_1__","_calendar_base__WEBPACK_IMPORTED_MODULE_2__","_modes__WEBPACK_IMPORTED_MODULE_4__","_util_timestamp__WEBPACK_IMPORTED_MODULE_5__","_util_events__WEBPACK_IMPORTED_MODULE_6__","WIDTH_FULL","WIDTH_START","MINUTES_IN_DAY","parseEvent","parsedEventOverlapThreshold","eventOverlapThreshold","eventTimedFunction","eventTimed","eventCategoryFunction","eventCategory","eventTextColorFunction","eventTextColor","eventNameFunction","eventName","timedEvent","eventModeFunction","eventOverlapMode","eventColorFunction","eventColor","eventStart","eventEnd","formatTime","withTime","ampm","formatter","hour","minute","eventMore","eventHeight","eventsMap","getEventsMap","parentBounds","eventsSorted","hide","eventMoreText","parentElement","genDayEvent","eventMarginBottom","startIdentifier","endIdentifier","weekdayIdentifier","eventParsed","timed","genEvent","genTimedEvent","scopeInput","overlapsNoon","singline","timeSummary","eventSummary","hasTime","eventRipple","genName","genPlaceholder","genMore","getVisibleEvents","isEventForCategory","getEventsForDay","identifier","firstWeekday","getEventsForDayAll","allDay","getEventsForDayTimed","isNode","getSlotChildren","mapper","visuals","visual","mapped","slotDay","slotDayHeader","slotDayBody","_day","_calendar_base__WEBPACK_IMPORTED_MODULE_0__","parsedFirstInterval","firstInterval","parsedIntervalMinutes","intervalMinutes","parsedIntervalCount","intervalCount","parsedIntervalHeight","parsedFirstTime","firstTime","firstMinute","intervalFormat","shortHourOptions","tms","isFirst","_interval","baseMinutes","touchEvent","mouseEvent","touches","changedTouches","clientY","addIntervals","addMinutes","gap","vue__WEBPACK_IMPORTED_MODULE_0__","vue__WEBPACK_IMPORTED_MODULE_0___default","_util_timestamp__WEBPACK_IMPORTED_MODULE_1__","parsedNow","updateTimes","setPresent","updateDay","updateTime","_common__WEBPACK_IMPORTED_MODULE_0__","FULL_WIDTH","overlapThreshold","dayEvents","getVisuals","columnCount","_getVisuals","hasOverlap","setColumnCount","getRange","getDayRange","getNormalizedRange","getOpenGroup","getOverlapGroupHandler","_util_timestamp__WEBPACK_IMPORTED_MODULE_0__","MILLIS_IN_DAY","minStart","startTimestampIdentifier","endTimestampIdentifier","s0","e0","groupVisual","dayStart","intersected","groupStart","targetGroup","CalendarEventOverlapModes","_stack__WEBPACK_IMPORTED_MODULE_0__","_column__WEBPACK_IMPORTED_MODULE_1__","__values","DEFAULT_OFFSET","WIDTH_MULTIPLIER","e_1","e_2","e_3","getGroups","groups_1","groups_1_1","getNode","getNextIndex","getParent","sibling","addTime","getOverlappingRange","children_1","children_1_1","grand","grandNext","e_3_1","return","e_2_1","calculateBounds","e_1_1","e_4","nodes_1","nodes_1_1","getMaxChildIndex","spaceLeft","spaceWidth","columnWidthMultiplier","getColumnWidthMultiplier","columnOffset","columnWidth","hasFullWidth","e_4_1","maxColumn","minColumn","getOverlappingIndices","e_5","nodes_2","nodes_2_1","other","e_5_1","indexMin","indexMax","returnFirstColumn","e_6","overlapping","nodes_3","nodes_3_1","e_6_1","first_1","e_7","nodes_4","nodes_4_1","e_7_1","e_8","nodes_5","nodes_5_1","e_8_1","e_9","e_10","visuals_1","visuals_1_1","added","groups_2","groups_2_1","e_10_1","e_9_1","e_11","childMax","e_11_1","removeMinutes","totalMinutes","addHours","isEventOn","isEventHiddenOn","isEventStart","isEventOverlapping","_timestamp__WEBPACK_IMPORTED_MODULE_0__","startProperty","endProperty","startInput","endInput","startParsed","endParsed","endOffset","parsedCategoryText","getParsedCategories","validateNumber","validateWeekdays","_modes__WEBPACK_IMPORTED_MODULE_1__","ints","visited","wrapped","validate","PARSE_REGEX","PARSE_TIME","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP","DAYS_IN_MONTH_MIN","DAYS_IN_MONTH_MAX","MONTH_MAX","MONTH_MIN","DAY_MIN","DAYS_IN_WEEK","MINUTES_IN_HOUR","MINUTE_MAX","HOURS_IN_DAY","HOUR_MAX","FIRST_HOUR","OFFSET_YEAR","OFFSET_MONTH","OFFSET_HOUR","OFFSET_TIME","getStartOfMonth","getEndOfMonth","validateTime","parseTime","validateTimestamp","getDayIdentifier","getTimeIdentifier","getTimestampIdentifier","updateRelative","isTimedless","updateHasTime","updateMinutes","updateWeekday","updateFormatted","getWeekday","daysInMonth","copyTimestamp","padNumber","nextMinutes","nextDay","prevDay","relativeDays","diffMinutes","findWeekday","getWeekdaySkips","createDayList","createIntervalList","createNativeLocaleFormatter","_util_dateTimeUtils__WEBPACK_IMPORTED_MODULE_0__","hasDay","padded","skips","filled","currentIdentifier","stopped","mins","getOptions","emptyFormatter","DateTimeFormat","intlFormatter","_mixins_loadable__WEBPACK_IMPORTED_MODULE_2__","_mixins_routable__WEBPACK_IMPORTED_MODULE_3__","flat","hover","loaderHeight","raised","isClickable","genProgress","tabindex","VCardActions","VCardSubtitle","VCardText","VCardTitle","_VCard__WEBPACK_IMPORTED_MODULE_0__","VCard","_VWindow_VWindow__WEBPACK_IMPORTED_MODULE_1__","_VProgressLinear__WEBPACK_IMPORTED_MODULE_4__","_mixins_button_group__WEBPACK_IMPORTED_MODULE_5__","_util_helpers__WEBPACK_IMPORTED_MODULE_6__","_util_console__WEBPACK_IMPORTED_MODULE_7__","continuous","cycle","delimiterIcon","hideDelimiters","hideDelimiterBackground","progress","progressColor","showArrows","verticalDelimiters","parentTheme","internalHeight","slideTimeout","isVertical","restartTimeout","startTimeout","genControlIcons","genDelimiters","internalIndex","_VWindow_VWindowItem__WEBPACK_IMPORTED_MODULE_0__","_VImg__WEBPACK_IMPORTED_MODULE_1__","_mixins_routable__WEBPACK_IMPORTED_MODULE_4__","genDefaultSlot","windowGroup","genWindowItem","_VCarousel__WEBPACK_IMPORTED_MODULE_0__","_VCarouselItem__WEBPACK_IMPORTED_MODULE_1__","VCarousel","VCarouselItem","_VIcon__WEBPACK_IMPORTED_MODULE_2__","_VInput__WEBPACK_IMPORTED_MODULE_3__","_mixins_selectable__WEBPACK_IMPORTED_MODULE_4__","indeterminateIcon","offIcon","onIcon","inputIndeterminate","validationState","isDisabled","hasError","shouldValidate","hasSuccess","hasColor","genCheckbox","checkboxAttrs","genRipple","rippleState","genLabel","_mixins_colorable__WEBPACK_IMPORTED_MODULE_4__","_util_mergeData__WEBPACK_IMPORTED_MODULE_6__","Ripple","center","stopPropagation","_VCheckbox__WEBPACK_IMPORTED_MODULE_0__","_VSimpleCheckbox__WEBPACK_IMPORTED_MODULE_1__","VCheckbox","VSimpleCheckbox","_transitions__WEBPACK_IMPORTED_MODULE_2__","_mixins_groupable__WEBPACK_IMPORTED_MODULE_5__","_mixins_themeable__WEBPACK_IMPORTED_MODULE_6__","_mixins_toggleable__WEBPACK_IMPORTED_MODULE_7__","_mixins_routable__WEBPACK_IMPORTED_MODULE_8__","_mixins_sizeable__WEBPACK_IMPORTED_MODULE_9__","chipGroup","draggable","filterIcon","pill","textColor","hasClose","genFilter","genClose","_VChip__WEBPACK_IMPORTED_MODULE_0__","_VSlideGroup_VSlideGroup__WEBPACK_IMPORTED_MODULE_1__","scrollOffset","_VChipGroup__WEBPACK_IMPORTED_MODULE_0__","_VSheet_VSheet__WEBPACK_IMPORTED_MODULE_1__","_VColorPickerPreview__WEBPACK_IMPORTED_MODULE_2__","_VColorPickerCanvas__WEBPACK_IMPORTED_MODULE_3__","_VColorPickerEdit__WEBPACK_IMPORTED_MODULE_4__","_VColorPickerSwatches__WEBPACK_IMPORTED_MODULE_5__","_util__WEBPACK_IMPORTED_MODULE_6__","_mixins_elevatable__WEBPACK_IMPORTED_MODULE_9__","_mixins_themeable__WEBPACK_IMPORTED_MODULE_10__","canvasHeight","dotSize","hideCanvas","hideSliders","hideInputs","hideModeSwitch","showSwatches","swatches","swatchesMaxHeight","hideAlpha","updateColor","genCanvas","genControls","genPreview","genEdit","genSwatches","maxHeight","_util__WEBPACK_IMPORTED_MODULE_2__","vue__WEBPACK_IMPORTED_MODULE_3__","vue__WEBPACK_IMPORTED_MODULE_3___default","boundingRect","hsva","updateCanvas","emitColor","saturationGradient","valueGradient","handleClick","clientX","handleMouseDown","handleMouseMove","handleMouseUp","genDot","radius","mousedown","modes","_util_colorUtils__WEBPACK_IMPORTED_MODULE_3__","vue__WEBPACK_IMPORTED_MODULE_4__","vue__WEBPACK_IMPORTED_MODULE_4___default","_util__WEBPACK_IMPORTED_MODULE_5__","inputs","hexa","internalMode","currentMode","changeMode","newMode","genInputs","endsWith","maxlength","genSwitch","_VSlider_VSlider__WEBPACK_IMPORTED_MODULE_1__","_util_colorUtils__WEBPACK_IMPORTED_MODULE_2__","_util__WEBPACK_IMPORTED_MODULE_4__","genAlpha","genTrack","thumbColor","hideDetails","genSliders","genHue","_VIcon__WEBPACK_IMPORTED_MODULE_1__","_util_colors__WEBPACK_IMPORTED_MODULE_2__","_util__WEBPACK_IMPORTED_MODULE_3__","_util_colorUtils__WEBPACK_IMPORTED_MODULE_7__","parseDefaultColors","colors","darken4","darken3","darken2","darken1","lighten1","lighten2","lighten3","lighten4","lighten5","black","white","transparent","genColor","swatch","_VColorPicker__WEBPACK_IMPORTED_MODULE_0__","_VColorPickerSwatches__WEBPACK_IMPORTED_MODULE_1__","_VColorPickerCanvas__WEBPACK_IMPORTED_MODULE_2__","fromHSVA","fromHSLA","fromRGBA","fromHexa","fromHex","extractColor","hasAlpha","_util_colorUtils__WEBPACK_IMPORTED_MODULE_0__","oldColor","stripAlpha","rest","shouldStrip","_VAutocomplete_VAutocomplete__WEBPACK_IMPORTED_MODULE_2__","delimiters","returnObject","editingIndex","computedCounterValue","updateTags","paste","onPaste","genChipSelection","chip","dblclick","onChipInput","onEnterDown","getMenuIndex","selectionStart","updateEditing","updateCombobox","isUsingSlot","selection","hasChips","menuIndex","itemToSelect","pastedItemText","findExistingIndex","_VCombobox__WEBPACK_IMPORTED_MODULE_0__","_VMain_VMain__WEBPACK_IMPORTED_MODULE_0__","_util_console__WEBPACK_IMPORTED_MODULE_1__","_VContent__WEBPACK_IMPORTED_MODULE_0__","isGreater","_VCounter__WEBPACK_IMPORTED_MODULE_0__","vue__WEBPACK_IMPORTED_MODULE_1__","vue__WEBPACK_IMPORTED_MODULE_1___default","sortDesc","customSort","mustSort","multiSort","itemsPerPage","groupBy","groupDesc","customGroup","disableSort","disablePagination","disableFiltering","customFilter","serverItemsLength","internalOptions","sortDiff","groupDiff","itemsLength","pageCount","pageStart","pageStop","isGrouped","sortItems","paginateItems","groupedItems","groupItems","scopedProps","sortArray","updateOptions","originalItemsLength","computedOptions","_page","_itemsPerPage","_sortBy","_sortDesc","_groupBy","_groupDesc","_multiSort","_mustSort","oldBy","oldDesc","by","byIndex","_VData__WEBPACK_IMPORTED_MODULE_0__","_VBtn__WEBPACK_IMPORTED_MODULE_3__","itemsPerPageOptions","prevIcon","nextIcon","firstIcon","lastIcon","itemsPerPageAllText","showFirstLastPage","showCurrentPage","disableItemsPerPage","disableNextPageIcon","computedDataItemsPerPageOptions","genDataItemsPerPageOption","onFirstPage","onPreviousPage","onNextPage","onLastPage","onChangeItemsPerPage","genItemsPerPageSelect","computedIPPO","ippo","genPaginationInfo","genIcons","_VDataFooter__WEBPACK_IMPORTED_MODULE_1__","_mixins_mobile__WEBPACK_IMPORTED_MODULE_2__","_util_console__WEBPACK_IMPORTED_MODULE_6__","itemKey","singleSelect","expanded","mobileBreakpoint","singleExpand","hideDefaultFooter","footerProps","selectableKey","expansion","internalCurrentItems","shiftKeyDown","lastEntry","everyItem","selectableItems","isSelected","someItems","sanitizedFooterProps","isSelectable","removedProps","onKeyUp","beforeDestroy","toggleSelectAll","lastEntryKey","lastEntryKeySelected","multipleSelect","isExpanded","expand","createItemProps","genEmptyWrapper","genEmpty","filteredItemsLength","noData","noResults","empty","genFooter","genDefaultScopedSlot","outerProps","_VDataIterator__WEBPACK_IMPORTED_MODULE_0__","VDataIterator","VDataFooter","hideDefaultHeader","computedSlots","slotName","regularSlot","mobileRowChildren","needsTd","cellClass","headerClass","summaryClass","_VData__WEBPACK_IMPORTED_MODULE_1__","_VDataIterator__WEBPACK_IMPORTED_MODULE_2__","_VDataTableHeader__WEBPACK_IMPORTED_MODULE_4__","_VIcon__WEBPACK_IMPORTED_MODULE_5__","_Row__WEBPACK_IMPORTED_MODULE_6__","_RowGroup__WEBPACK_IMPORTED_MODULE_7__","_VCheckbox_VSimpleCheckbox__WEBPACK_IMPORTED_MODULE_8__","_VSimpleTable__WEBPACK_IMPORTED_MODULE_9__","_MobileRow__WEBPACK_IMPORTED_MODULE_10__","_mixins_loadable__WEBPACK_IMPORTED_MODULE_11__","_mixins_mouse__WEBPACK_IMPORTED_MODULE_12__","_directives_ripple__WEBPACK_IMPORTED_MODULE_13__","_util_mixins__WEBPACK_IMPORTED_MODULE_14__","_util_helpers__WEBPACK_IMPORTED_MODULE_15__","_util_console__WEBPACK_IMPORTED_MODULE_16__","_util_mergeData__WEBPACK_IMPORTED_MODULE_17__","filterFn","searchTableItems","headersWithCustomFilters","headersWithoutCustomFilters","filterMode","matchesColumnFilters","matchesSearchTerm","showSelect","checkboxColor","showExpand","showGroupBy","caption","headerProps","calculateWidths","fixedHeader","headersLength","expandIcon","itemClass","itemStyle","internalGroupBy","openCache","widths","computedHeaders","defaultHeader","sortable","colspanAttrs","columnSorters","filterable","sanitizedHeaderProps","computedItemsPerPage","firstOption","groupByText","calcWidths","querySelectorAll","customFilterWithColumns","customSortWithHeaders","genCaption","genColgroup","genLoading","th","tr","genHeaders","mobile","genGroupedRows","genRows","genDefaultGroupedRow","isOpen","toggleFn","removeFn","genScopedRows","genDefaultRows","genDefaultExpandedRow","genDefaultSimpleRow","headerRow","expandedRow","slot_1","slot_2","genFoot","foot","genFooters","simpleProps","proxySlot","_VDataTableHeaderMobile__WEBPACK_IMPORTED_MODULE_1__","_VDataTableHeaderDesktop__WEBPACK_IMPORTED_MODULE_2__","_mixins_header__WEBPACK_IMPORTED_MODULE_3__","_util_dedupeModelListeners__WEBPACK_IMPORTED_MODULE_4__","_util_mergeData__WEBPACK_IMPORTED_MODULE_5__","_util_rebuildFunctionalSlots__WEBPACK_IMPORTED_MODULE_6__","vue__WEBPACK_IMPORTED_MODULE_7__","vue__WEBPACK_IMPORTED_MODULE_7___default","_mixins_header__WEBPACK_IMPORTED_MODULE_1__","genGroupByToggle","getAria","beingSorted","isDesc","$t","ariaSort","genHeader","genSelectAll","sortIndex","genSortIcon","groupable","_VChip__WEBPACK_IMPORTED_MODULE_2__","sortByText","genSortChip","asc","genSortSelect","closeOnContentClick","sortHeaders","_mixins_returnable__WEBPACK_IMPORTED_MODULE_1__","_mixins_themeable__WEBPACK_IMPORTED_MODULE_2__","_VBtn__WEBPACK_IMPORTED_MODULE_4__","_VMenu__WEBPACK_IMPORTED_MODULE_5__","_util_mixins__WEBPACK_IMPORTED_MODULE_6__","cancelText","eager","persistent","saveText","focus","genButton","returnValue","keydown","esc","closeOnClick","activator","_VSimpleTable__WEBPACK_IMPORTED_MODULE_1__","headerHeight","rowHeight","oldChunk","scrollDebounce","invalidateCache","totalHeight","topIndex","chunkIndex","startIndex","stopIndex","offsetBottom","cachedItems","createStyleHeight","genTable","VTableOverflow","_VDataTable__WEBPACK_IMPORTED_MODULE_1__","_VDataTableHeader__WEBPACK_IMPORTED_MODULE_2__","_VEditDialog__WEBPACK_IMPORTED_MODULE_3__","_VSimpleTable__WEBPACK_IMPORTED_MODULE_4__","_VVirtualTable__WEBPACK_IMPORTED_MODULE_5__","VDataTable","VDataTableHeader","VEditDialog","VSimpleTable","VVirtualTable","_VCheckbox_VSimpleCheckbox__WEBPACK_IMPORTED_MODULE_1__","_directives_ripple__WEBPACK_IMPORTED_MODULE_2__","sortIcon","_VDatePickerTitle__WEBPACK_IMPORTED_MODULE_0__","_VDatePickerHeader__WEBPACK_IMPORTED_MODULE_1__","_VDatePickerDateTable__WEBPACK_IMPORTED_MODULE_2__","_VDatePickerMonthTable__WEBPACK_IMPORTED_MODULE_3__","_VDatePickerYears__WEBPACK_IMPORTED_MODULE_4__","_mixins_localable__WEBPACK_IMPORTED_MODULE_5__","_mixins_picker__WEBPACK_IMPORTED_MODULE_6__","_util_isDateAllowed__WEBPACK_IMPORTED_MODULE_7__","_VCalendar_util_timestamp__WEBPACK_IMPORTED_MODULE_10__","_util_console__WEBPACK_IMPORTED_MODULE_11__","_util__WEBPACK_IMPORTED_MODULE_12__","activePicker","allowedDates","firstDayOfWeek","headerDateFormat","pickerDate","scrollable","showCurrent","selectedItemsText","showAdjacentMonths","titleDateFormat","yearFormat","yearIcon","internalActivePicker","inputDay","inputMonth","inputYear","isReversing","tableDate","multipleValue","lastValue","selectedMonths","inputDate","tableMonth","tableYear","minMonth","maxMonth","minYear","maxYear","formatters","titleDate","defaultTitleMultipleDateFormatter","defaultTitleDateFormatter","dates","titleFormats","titleDateFormatter","landscapeFormatter","nonDigit","landscape","sanitizeType","checkMultipleProp","setInputDate","isDateAllowed","emitInput","newInput","output_1","valueType","expected","yearClick","monthClick","dateClick","genPickerTitle","selectingYear","genTableHeader","nextAriaLabel","prevAriaLabel","genDateTable","genMonthTable","genYears","genPickerBody","genPicker","_mixins_date_picker_table__WEBPACK_IMPORTED_MODULE_0__","_util_dateTimeUtils__WEBPACK_IMPORTED_MODULE_1__","calculateTableDate","genTHead","genTR","weekDaysBeforeFirstDayOfTheMonth","firstDayOfTheMonth","displayedYear","displayedMonth","weekDay","getUTCDay","dayInMonth","padStart","genTBody","prevMonthYear","prevMonth","firstDayFromPreviousMonth","cellsInRow","nextMonthYear","nextMonth","nextMonthDay","_mixins_localable__WEBPACK_IMPORTED_MODULE_4__","genBtn","ariaLabelId","calculateChange","_util__WEBPACK_IMPORTED_MODULE_1__","tds","_mixins_picker_button__WEBPACK_IMPORTED_MODULE_2__","computedTransition","genYearIcon","getYearBtn","genPickerButton","genTitleText","genTitleDate","_util_mergeData__WEBPACK_IMPORTED_MODULE_4__","defaultColor","activeItem","getElementsByClassName","genYearItem","formatted","genYearItems","selectedYear","_VDatePicker__WEBPACK_IMPORTED_MODULE_0__","_VDatePickerTitle__WEBPACK_IMPORTED_MODULE_1__","_VDatePickerHeader__WEBPACK_IMPORTED_MODULE_2__","_VDatePickerDateTable__WEBPACK_IMPORTED_MODULE_3__","_VDatePickerMonthTable__WEBPACK_IMPORTED_MODULE_4__","_VDatePickerYears__WEBPACK_IMPORTED_MODULE_5__","VDatePicker","VDatePickerTitle","VDatePickerHeader","VDatePickerDateTable","VDatePickerMonthTable","VDatePickerYears","_directives_touch__WEBPACK_IMPORTED_MODULE_1__","_mixins_localable__WEBPACK_IMPORTED_MODULE_3__","_util_isDateAllowed__WEBPACK_IMPORTED_MODULE_6__","_util_mergeData__WEBPACK_IMPORTED_MODULE_7__","Touch","wheelThrottle","wheel","genButtonClasses","isAllowed","isCurrent","isLast","genButtonEvents","mouseEventType","isOtherMonth","genEvents","getEventColors","eventData","arrayize","eventColors","isValidScroll","touch","touchDirective","_pad__WEBPACK_IMPORTED_MODULE_0__","substrOptions","makeIsoString","dateString","intlFormatter_1","createItemTypeNativeListeners","itemTypeSuffix","createItemTypeListeners","_eventHelpers__WEBPACK_IMPORTED_MODULE_0__","_createNativeLocaleFormatter__WEBPACK_IMPORTED_MODULE_1__","_monthChange__WEBPACK_IMPORTED_MODULE_2__","_sanitizeDateString__WEBPACK_IMPORTED_MODULE_3__","_pad__WEBPACK_IMPORTED_MODULE_4__","allowedFn","targetLength","padString","_VThemeProvider__WEBPACK_IMPORTED_MODULE_1__","_mixins_activatable__WEBPACK_IMPORTED_MODULE_2__","_mixins_dependent__WEBPACK_IMPORTED_MODULE_3__","_mixins_detachable__WEBPACK_IMPORTED_MODULE_4__","_mixins_overlayable__WEBPACK_IMPORTED_MODULE_5__","_mixins_returnable__WEBPACK_IMPORTED_MODULE_6__","_mixins_stackable__WEBPACK_IMPORTED_MODULE_7__","_directives_click_outside__WEBPACK_IMPORTED_MODULE_8__","ClickOutside","fullscreen","noClickAnimation","retainFocus","activatedBy","animate","animateTimeout","stackMinZIndex","previousActiveElement","contentClasses","hasActivator","hideScroll","removeOverlay","showScroll","genOverlay","animateClick","closeConditional","overlay","activeZIndex","getMaxZIndex","hideOverlay","dialog","onFocusin","onClickOutside","onKeydown","getOpenDependents","activator_1","getActivator","getOpenDependentElements","focusable","showLazyContent","getScopeIdAttrs","genTransition","genInnerContent","getContentSlot","attach","genActivator","_VDialog__WEBPACK_IMPORTED_MODULE_0__","orientation","_VDivider__WEBPACK_IMPORTED_MODULE_0__","_mixins_groupable__WEBPACK_IMPORTED_MODULE_0__","_mixins_registrable__WEBPACK_IMPORTED_MODULE_1__","nextIsActive","expansionPanels","registerContent","unregisterContent","registerHeader","unregisterHeader","_transitions__WEBPACK_IMPORTED_MODULE_0__","_mixins_bootable__WEBPACK_IMPORTED_MODULE_1__","_mixins_registrable__WEBPACK_IMPORTED_MODULE_3__","parentIsActive","expansionPanel","_directives_ripple__WEBPACK_IMPORTED_MODULE_4__","disableIconRotate","hideActions","hasMousedown","mouseup","_VItemGroup_VItemGroup__WEBPACK_IMPORTED_MODULE_1__","_util_console__WEBPACK_IMPORTED_MODULE_2__","accordion","popout","updateItem","nextValue","toggleMethod","_VExpansionPanels__WEBPACK_IMPORTED_MODULE_0__","_VExpansionPanel__WEBPACK_IMPORTED_MODULE_1__","_VExpansionPanelContent__WEBPACK_IMPORTED_MODULE_2__","_VExpansionPanelHeader__WEBPACK_IMPORTED_MODULE_3__","VExpansionPanels","VExpansionPanel","VExpansionPanelHeader","VExpansionPanelContent","_VTextField__WEBPACK_IMPORTED_MODULE_1__","_util_console__WEBPACK_IMPORTED_MODULE_4__","chips","clearable","counterSizeString","counterString","hideInput","prependIcon","showSize","smallChips","truncateLength","fileCount","lazyValue","internalArrayValue","isLabelActive","persistentPlaceholder","hasLabel","truncatedText","truncateText","genChips","genControl","genPrependSlot","genSlot","genSelectionText","genTextFieldSlot","charsKeepOneSide","_VFileInput__WEBPACK_IMPORTED_MODULE_0__","_mixins_applicationable__WEBPACK_IMPORTED_MODULE_2__","_mixins_ssr_bootable__WEBPACK_IMPORTED_MODULE_3__","padless","_VFooter__WEBPACK_IMPORTED_MODULE_0__","_mixins_binds_attrs__WEBPACK_IMPORTED_MODULE_1__","_mixins_registrable__WEBPACK_IMPORTED_MODULE_2__","form","lazyValidation","errorBag","errors","watchInput","resetErrorBag","resetValidation","unwatch","novalidate","submit","_VForm__WEBPACK_IMPORTED_MODULE_0__","_util_mergeData__WEBPACK_IMPORTED_MODULE_2__","breakpoints","breakpointProps","offsetProps","orderProps","propMap","breakpointClass","breakpoint","alignSelf","cacheKey","type_1","hasColClasses","startsWith","_grid__WEBPACK_IMPORTED_MODULE_2__","fluid","_grid__WEBPACK_IMPORTED_MODULE_1__","ALIGNMENT","makeProps","alignValidator","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","justify","alignContent","classMap","noGutters","VGrid","_VContainer__WEBPACK_IMPORTED_MODULE_0__","_VCol__WEBPACK_IMPORTED_MODULE_1__","_VRow__WEBPACK_IMPORTED_MODULE_2__","_VSpacer__WEBPACK_IMPORTED_MODULE_3__","_VLayout__WEBPACK_IMPORTED_MODULE_4__","_VFlex__WEBPACK_IMPORTED_MODULE_5__","VContainer","VCol","VRow","VSpacer","VLayout","VFlex","_mixins_delayable__WEBPACK_IMPORTED_MODULE_0__","_mixins_toggleable__WEBPACK_IMPORTED_MODULE_1__","_util_console__WEBPACK_IMPORTED_MODULE_3__","onMouseEnter","runDelay","onMouseLeave","mouseenter","mouseleave","_VHover__WEBPACK_IMPORTED_MODULE_0__","SIZE_MAP","_mixins_sizeable__WEBPACK_IMPORTED_MODULE_3__","vue__WEBPACK_IMPORTED_MODULE_6__","vue__WEBPACK_IMPORTED_MODULE_6___default","isFontAwesome5","iconType","isSvgPath","VIcon","medium","hasClickListener","getIcon","iconName","getSize","sizes","xSmall","xLarge","explicitSize","getDefaultData","getSvgWrapperData","wrapperData","applyColors","renderFontIcon","newChildren","delimiterIndex","isMaterialIcon","renderSvgIcon","svgData","viewBox","renderSvgIconComponent","$_wrapperFor","_directives_intersect__WEBPACK_IMPORTED_MODULE_1__","_VResponsive__WEBPACK_IMPORTED_MODULE_2__","hasIntersect","intersect","alt","contain","lazySrc","rootMargin","isLoading","calculatedAspectRatio","computedAspectRatio","normalisedSrc","aspect","aspectRatio","__cachedImage","isIntersecting","lazyImg","pollForSize","onLoad","getSrc","poll","__genPlaceholder","__cachedSizer","_VImg__WEBPACK_IMPORTED_MODULE_0__","_VLabel__WEBPACK_IMPORTED_MODULE_2__","_VMessages__WEBPACK_IMPORTED_MODULE_3__","_mixins_binds_attrs__WEBPACK_IMPORTED_MODULE_4__","_mixins_validatable__WEBPACK_IMPORTED_MODULE_5__","appendIcon","hideSpinButtons","hint","persistentHint","hasMouseDown","hasState","showDetails","computedId","hasDetails","messagesToDisplay","hasHint","hasMessages","$_modelEvent","validations","validation","validationResult","genAppendSlot","genMessages","extraData","hasListener","localeKey","prependInner","appendOuter","onMouseDown","onMouseUp","focused","for","_VInput__WEBPACK_IMPORTED_MODULE_0__","BaseItem","_mixins_groupable__WEBPACK_IMPORTED_MODULE_1__","BaseItemGroup","_mixins_comparable__WEBPACK_IMPORTED_MODULE_1__","_mixins_proxyable__WEBPACK_IMPORTED_MODULE_2__","_util_console__WEBPACK_IMPORTED_MODULE_5__","internalLazyValue","intern","updateInternalValue","updateMandatory","valueIndex","updateItemsState","updateMultiple","updateSingle","isSame","itemGroup","_VItem__WEBPACK_IMPORTED_MODULE_0__","_VItemGroup__WEBPACK_IMPORTED_MODULE_1__","VItem","VItemGroup","newData","_VLabel__WEBPACK_IMPORTED_MODULE_0__","_mixins_measurable__WEBPACK_IMPORTED_MODULE_0__","_directives_intersect__WEBPACK_IMPORTED_MODULE_2__","onObserve","_VLazy__WEBPACK_IMPORTED_MODULE_0__","isInList","isInMenu","isInNav","nav","subheader","threeLine","twoLine","listClick","_VListItem__WEBPACK_IMPORTED_MODULE_2__","_VListItemIcon__WEBPACK_IMPORTED_MODULE_3__","_mixins_bootable__WEBPACK_IMPORTED_MODULE_5__","_mixins_colorable__WEBPACK_IMPORTED_MODULE_6__","_mixins_registrable__WEBPACK_IMPORTED_MODULE_8__","_directives_ripple__WEBPACK_IMPORTED_MODULE_9__","_transitions__WEBPACK_IMPORTED_MODULE_10__","_util_mixins__WEBPACK_IMPORTED_MODULE_11__","_util_helpers__WEBPACK_IMPORTED_MODULE_12__","noAction","subGroup","genAppendIcon","genPrependIcon","onRouteChange","_mixins_routable__WEBPACK_IMPORTED_MODULE_2__","_mixins_toggleable__WEBPACK_IMPORTED_MODULE_5__","_directives_ripple__WEBPACK_IMPORTED_MODULE_6__","isInGroup","listItemGroup","selectable","genAttrs","filteredChild","VListItemActionText","VListItemContent","VListItemTitle","VListItemSubtitle","_VList__WEBPACK_IMPORTED_MODULE_1__","_VListGroup__WEBPACK_IMPORTED_MODULE_2__","_VListItem__WEBPACK_IMPORTED_MODULE_3__","_VListItemGroup__WEBPACK_IMPORTED_MODULE_4__","_VListItemAction__WEBPACK_IMPORTED_MODULE_5__","_VListItemAvatar__WEBPACK_IMPORTED_MODULE_6__","_VListItemIcon__WEBPACK_IMPORTED_MODULE_7__","VList","VListGroup","VListItem","VListItemAction","VListItemAvatar","VListItemGroup","VListItemIcon","_mixins_ssr_bootable__WEBPACK_IMPORTED_MODULE_1__","insetFooter","_VMain__WEBPACK_IMPORTED_MODULE_0__","_mixins_delayable__WEBPACK_IMPORTED_MODULE_3__","_mixins_dependent__WEBPACK_IMPORTED_MODULE_4__","_mixins_menuable__WEBPACK_IMPORTED_MODULE_5__","_mixins_roundable__WEBPACK_IMPORTED_MODULE_7__","_mixins_themeable__WEBPACK_IMPORTED_MODULE_8__","_directives_click_outside__WEBPACK_IMPORTED_MODULE_9__","_directives_resize__WEBPACK_IMPORTED_MODULE_10__","_util_console__WEBPACK_IMPORTED_MODULE_12__","_util_helpers__WEBPACK_IMPORTED_MODULE_13__","_services_goto__WEBPACK_IMPORTED_MODULE_14__","disableKeys","openOnHover","contentProps","calculatedTopAuto","defaultOffset","hasJustFocused","resizeTimeout","tiles","activeTile","calculatedLeft","menuWidth","calculatedMinWidth","calcXOverflow","calcLeftAuto","calcLeft","calculatedMaxHeight","calculatedMaxWidth","nudgeWidth","pageWidth","calculatedTop","calcYOverflow","calcTop","hasClickableTiles","tabIndex","isContentActive","contentHeight","appOffset","callActivate","startTransition","calcTopAuto","calcScrollPosition","maxScrollTop","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","down","nextTile","up","prevTile","lastTile","firstTile","genActivatorAttributes","attributes","genActivatorListeners","genDirectives","rootThemeClasses","activatorFixed","menuable__content__active","scroll","mouseEnterHandler","mouseLeaveHandler","relatedTarget","callDeactivate","_VMenu__WEBPACK_IMPORTED_MODULE_0__","genChildren","genMessage","_VMessages__WEBPACK_IMPORTED_MODULE_0__","_VImg_VImg__WEBPACK_IMPORTED_MODULE_1__","_mixins_overlayable__WEBPACK_IMPORTED_MODULE_6__","_mixins_ssr_bootable__WEBPACK_IMPORTED_MODULE_7__","_directives_touch__WEBPACK_IMPORTED_MODULE_11__","_util_mixins__WEBPACK_IMPORTED_MODULE_13__","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","floating","miniVariant","miniVariantWidth","permanent","stateless","temporary","touchless","isMouseover","touchArea","isMiniVariant","computedMaxHeight","hasApp","isBottom","computedWidth","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","updateMiniVariant","calculateTouchArea","parentRect","genAppend","genPosition","swipeLeft","swipeRight","genListeners","transitionend","resizeEvent","initUIEvent","genPrepend","genBorder","touchendX","touchstartX","_VNavigationDrawer__WEBPACK_IMPORTED_MODULE_0__","_VInput__WEBPACK_IMPORTED_MODULE_2__","_VTextField_VTextField__WEBPACK_IMPORTED_MODULE_3__","otp","otpIdx","genFieldset","genLegend","onBlur","keyup","maxCursor","inputDataArray","newOtp","appIdx","onCompleted","clearFocus","changeFocus","eventKey","rsp","_VOtpInput__WEBPACK_IMPORTED_MODULE_0__","_VAutocomplete__WEBPACK_IMPORTED_MODULE_2__","segmented","isSingle","labelValue","genCommaSelection","genSegmentedBtn","itemValue","itemObj","_VOverflowBtn__WEBPACK_IMPORTED_MODULE_0__","_mixins_toggleable__WEBPACK_IMPORTED_MODULE_3__","__scrim","_VOverlay__WEBPACK_IMPORTED_MODULE_0__","_directives_resize__WEBPACK_IMPORTED_MODULE_2__","_mixins_intersectable__WEBPACK_IMPORTED_MODULE_4__","onVisible","navigationColor","navigationTextColor","totalVisible","pageAriaLabel","currentPageAriaLabel","previousAriaLabel","wrapperAriaLabel","maxButtons","even","firstItem","lastItem","secondItem","beforeLastItem","genItem","isCurrentPage","genList","_VPagination__WEBPACK_IMPORTED_MODULE_0__","_mixins_translatable__WEBPACK_IMPORTED_MODULE_1__","parallax","objHeight","imgData","_VParallax__WEBPACK_IMPORTED_MODULE_0__","_mixins_elevatable__WEBPACK_IMPORTED_MODULE_3__","fullWidth","noTitle","computedTitleColor","defaultTitleColor","genTitle","genBodyTransition","_VPicker__WEBPACK_IMPORTED_MODULE_0__","rotate","calculatedSize","circumference","normalizedValue","strokeDashArray","strokeDashOffset","strokeWidth","viewBoxSize","svgStyles","genCircle","genSvg","genInfo","_VProgressCircular__WEBPACK_IMPORTED_MODULE_0__","_transitions__WEBPACK_IMPORTED_MODULE_1__","_mixins_positionable__WEBPACK_IMPORTED_MODULE_4__","backgroundOpacity","bufferValue","striped","__cachedBackground","backgroundStyle","__cachedBar","__cachedBarType","__cachedIndeterminate","__cachedDeterminate","__cachedBuffer","genProgressBar","__cachedStream","normalizedBuffer","isReversed","_VProgressLinear__WEBPACK_IMPORTED_MODULE_0__","_VLabel__WEBPACK_IMPORTED_MODULE_1__","_mixins_colorable__WEBPACK_IMPORTED_MODULE_5__","_mixins_groupable__WEBPACK_IMPORTED_MODULE_6__","_mixins_rippleable__WEBPACK_IMPORTED_MODULE_7__","_mixins_selectable__WEBPACK_IMPORTED_MODULE_9__","_util_helpers__WEBPACK_IMPORTED_MODULE_10__","_util_mergeData__WEBPACK_IMPORTED_MODULE_12__","radioGroup","computedName","genRadio","radioAttrs","onChange","_VItemGroup_VItemGroup__WEBPACK_IMPORTED_MODULE_3__","_VRadioGroup__WEBPACK_IMPORTED_MODULE_0__","_VRadio__WEBPACK_IMPORTED_MODULE_1__","VRadioGroup","VRadio","_VSlider__WEBPACK_IMPORTED_MODULE_1__","activeThumb","roundValue","minValue","maxValue","toFocus","inputWidth","getTrackStyle","startLength","endLength","startPadding","endPadding","startDir","endDir","trackTransition","getIndexOfClosestValue","genTrackContainer","sections","computedTrackColor","computedTrackFillColor","section","genSteps","valueWidth","genThumbContainer","reevaluateSelected","refName","thumbRef","onSliderMouseDown","parseMouseMove","thumbPressed","startOffset","mouseTimeout","mouseUpOptions","mouseMoveOptions","isTouchEvent","onMouseMove","onSliderMouseUp","onSliderClick","noClick","setInternalValue","parseKeyDown","_VRangeSlider__WEBPACK_IMPORTED_MODULE_0__","_mixins_sizeable__WEBPACK_IMPORTED_MODULE_4__","_mixins_rippleable__WEBPACK_IMPORTED_MODULE_5__","emptyIcon","fullIcon","halfIcon","halfIncrements","iconLabel","hoverIndex","iconProps","isHovering","createClickFn","genHoverIndex","createProps","isFilled","isHovered","isHalfHovered","isHalfFilled","isHalf","isHalfEvent","getIconName","isFull","getColor","pageX","mousemove","_VRating__WEBPACK_IMPORTED_MODULE_0__","_mixins_measurable__WEBPACK_IMPORTED_MODULE_1__","aspectStyle","_VResponsive__WEBPACK_IMPORTED_MODULE_0__","_VMenu__WEBPACK_IMPORTED_MODULE_3__","_VSelectList__WEBPACK_IMPORTED_MODULE_4__","_VInput__WEBPACK_IMPORTED_MODULE_5__","_VTextField_VTextField__WEBPACK_IMPORTED_MODULE_6__","_mixins_comparable__WEBPACK_IMPORTED_MODULE_7__","_mixins_dependent__WEBPACK_IMPORTED_MODULE_8__","_mixins_filterable__WEBPACK_IMPORTED_MODULE_9__","_directives_click_outside__WEBPACK_IMPORTED_MODULE_10__","_util_mergeData__WEBPACK_IMPORTED_MODULE_11__","_util_console__WEBPACK_IMPORTED_MODULE_13__","openOnClick","cacheItems","deletableChips","disableLookup","itemColor","itemDisabled","openOnClear","menuIsBooted","keyboardLookupPrefix","keyboardLookupLastTime","filterDuplicates","computedOwns","counterValue","dynamicHeight","staticList","normalisedProps","nudgeBottom","onMenuActiveChange","uniqueValues","selections","genAffix","genClearIcon","genIconSlot","genHiddenInput","genMenu","keypress","onKeyPress","genListWithSlot","genSelection","genSlotSelection","onEscDown","KEYBOARD_LOOKUP_THRESHOLD","space","which","showMoreItems","values_1","values_1_1","appendInner","_VCheckbox_VSimpleCheckbox__WEBPACK_IMPORTED_MODULE_0__","_VDivider__WEBPACK_IMPORTED_MODULE_1__","_VSubheader__WEBPACK_IMPORTED_MODULE_2__","_VList__WEBPACK_IMPORTED_MODULE_3__","parsedItems","tileActiveClass","staticNoDataTile","genTileContent","genAction","genFilteredText","getMaskedCharacters","genHighlight","genTile","needsTile","_VSelect__WEBPACK_IMPORTED_MODULE_0__","_mixins_roundable__WEBPACK_IMPORTED_MODULE_5__","_VSheet__WEBPACK_IMPORTED_MODULE_0__","_mixins_elevatable__WEBPACK_IMPORTED_MODULE_1__","boilerplate","rootTypes","article","card","heading","paragraph","sentences","genBone","genBones","bone","genStructure","mapBones","genSkeleton","resetStyles","onBeforeEnter","onBeforeLeave","bones","_initialStyle","_VSkeletonLoader__WEBPACK_IMPORTED_MODULE_0__","calculateUpdatedOffset","calculateCenteredOffset","BaseSlideGroup","_mixins_mobile__WEBPACK_IMPORTED_MODULE_4__","_directives_resize__WEBPACK_IMPORTED_MODULE_5__","_directives_touch__WEBPACK_IMPORTED_MODULE_6__","bias","selectedElement","currentScrollOffset","offsetLeft","totalWidth","itemOffset","additionalOffset","offsetCentered","centerActive","isOverflowing","isSwipingHorizontal","isSwiping","canTouch","__cachedNext","__cachedPrev","hasAffixes","hasNext","hasPrev","ResizeObserver","obs_1","disconnect","itemsLength_1","setWidths","genNext","onAffixClick","focusin","upperLocation","hasAffix","genPrev","overflowCheck","onTouchStart","onTouchMove","onTouchEnd","calculateNewOffset","newAbosluteOffset","diffX","touchmoveX","diffY","touchmoveY","touchstartY","maxScrollOffset","removeProperty","scrollIntoView","lastItemPosition","wrapperPosition","slideGroup","_VItemGroup_VItem__WEBPACK_IMPORTED_MODULE_0__","_VSlideGroup__WEBPACK_IMPORTED_MODULE_0__","_VSlideItem__WEBPACK_IMPORTED_MODULE_1__","VSlideGroup","VSlideItem","_VInput__WEBPACK_IMPORTED_MODULE_1__","_mixins_loadable__WEBPACK_IMPORTED_MODULE_4__","_directives_click_outside__WEBPACK_IMPORTED_MODULE_5__","inverseLabel","thumbLabel","thumbSize","tickLabels","ticks","tickSize","trackColor","trackFillColor","showTicks","stepNumeric","trackFillStyles","valueDir","trackStyles","numTicks","showThumbLabel","computedThumbColor","slider","genSlider","touchstart","offsetDirection","genThumb","thumbLabelContent","genThumbLabelContent","genThumbLabel","getThumbContainerStyles","thumb","track","trackStart","trackLength","clickOffset","clickPos","pageup","pagedown","steps","increase","trimmedStep","decimals","_VSlider__WEBPACK_IMPORTED_MODULE_0__","_mixins_positionable__WEBPACK_IMPORTED_MODULE_5__","centered","multiLine","activeTimeout","pointerenter","pointerleave","_VSnackbar__WEBPACK_IMPORTED_MODULE_0__","_mixins_colorable__WEBPACK_IMPORTED_MODULE_0__","_helpers_core__WEBPACK_IMPORTED_MODULE_2__","_helpers_path__WEBPACK_IMPORTED_MODULE_3__","autoDraw","autoDrawDuration","autoDrawEasing","autoLineWidth","gradientDirection","labels","labelSize","showLabels","smooth","lastLength","parsedPadding","parsedWidth","parsedHeight","parsedLabelSize","hasLabels","_lineWidth","totalValues","totalPadding","boundary","minX","maxX","minY","maxY","parsedLabels","points","_values","normalizedValues","textY","_radius","getTotalLength","strokeDasharray","strokeDashoffset","genGradient","gradientUnits","x2","y2","genG","textAnchor","dominantBaseline","genPath","genLabels","genBars","bars","genClipPath","rounding","attributeName","dur","genTrend","genPoints","gridX","gridY","horizonY","checkCollinear","p0","getDistance","vector","unitVector","_math__WEBPACK_IMPORTED_MODULE_0__","isCollinear","isTooCloseForRadius","radiusForPoint","_VSparkline__WEBPACK_IMPORTED_MODULE_0__","_mixins_positionable__WEBPACK_IMPORTED_MODULE_2__","_mixins_transitionable__WEBPACK_IMPORTED_MODULE_3__","_directives_click_outside__WEBPACK_IMPORTED_MODULE_4__","btnCount_1","transitionDelay","_VSpeedDial__WEBPACK_IMPORTED_MODULE_0__","_mixins_proxyable__WEBPACK_IMPORTED_MODULE_3__","stepClick","altLabels","nonLinear","isReverse","updateView","isVerticalProvided","onTransition","stepper","contentData","_directives_ripple__WEBPACK_IMPORTED_MODULE_3__","completeIcon","editIcon","errorIcon","rules","isInactive","genStep","genStepContent","keyboardClick","VStepperHeader","VStepperItems","_VStepper__WEBPACK_IMPORTED_MODULE_1__","_VStepperStep__WEBPACK_IMPORTED_MODULE_2__","_VStepperContent__WEBPACK_IMPORTED_MODULE_3__","VStepper","VStepperContent","VStepperStep","_VSubheader__WEBPACK_IMPORTED_MODULE_0__","_mixins_selectable__WEBPACK_IMPORTED_MODULE_2__","_directives_touch__WEBPACK_IMPORTED_MODULE_4__","_transitions__WEBPACK_IMPORTED_MODULE_5__","_VProgressCircular_VProgressCircular__WEBPACK_IMPORTED_MODULE_6__","switchData","switchAttrs","onSwipeLeft","onSwipeRight","_VSwitch__WEBPACK_IMPORTED_MODULE_0__","lightsOut","_VSystemBar__WEBPACK_IMPORTED_MODULE_0__","_mixins_routable__WEBPACK_IMPORTED_MODULE_1__","tabValue","tabsBar","_VTabsBar__WEBPACK_IMPORTED_MODULE_1__","_VTabsItems__WEBPACK_IMPORTED_MODULE_2__","_VTabsSlider__WEBPACK_IMPORTED_MODULE_3__","_directives_resize__WEBPACK_IMPORTED_MODULE_7__","alignWithTitle","fixedTabs","hideSlider","iconsAndText","sliderColor","sliderSize","transitionTime","sliderStyles","appIsDark","callSlider","activeTab","genBar","parseNodes","_VSlideGroup_VSlideGroup__WEBPACK_IMPORTED_MODULE_0__","_mixins_ssr_bootable__WEBPACK_IMPORTED_MODULE_2__","newPath","oldPath","hasNew","hasOld","items_1","items_1_1","_VWindow_VWindow__WEBPACK_IMPORTED_MODULE_0__","rootIsDark","_VTabs__WEBPACK_IMPORTED_MODULE_0__","_VTab__WEBPACK_IMPORTED_MODULE_1__","_VTabItem__WEBPACK_IMPORTED_MODULE_3__","_VTabsSlider__WEBPACK_IMPORTED_MODULE_4__","VTabs","VTab","VTabsItems","VTabItem","VTabsSlider","_VCounter__WEBPACK_IMPORTED_MODULE_2__","_VLabel__WEBPACK_IMPORTED_MODULE_3__","_mixins_loadable__WEBPACK_IMPORTED_MODULE_5__","_mixins_validatable__WEBPACK_IMPORTED_MODULE_6__","_directives_ripple__WEBPACK_IMPORTED_MODULE_8__","_util_dom__WEBPACK_IMPORTED_MODULE_9__","_util_mixins__WEBPACK_IMPORTED_MODULE_12__","dirtyTypes","resize","appendOuterIcon","autofocus","clearIcon","prependInnerIcon","solo","soloInverted","labelWidth","prefixWidth","prependWidth","isClearing","isSolo","isEnclosed","hasCounter","labelPosition","showLabel","setLabelWidth","setPrefixWidth","tryAutofocus","genPrependInnerSlot","genCounter","inputAttrs","messagesNode","counterNode","setPrependWidth","_VTextField__WEBPACK_IMPORTED_MODULE_0__","_VTextField_VTextField__WEBPACK_IMPORTED_MODULE_1__","autoGrow","noResize","noResizeHandle","calculateInputHeight","minHeight","_VTextarea__WEBPACK_IMPORTED_MODULE_0__","_mixins_themeable__WEBPACK_IMPORTED_MODULE_0__","_VThemeProvider__WEBPACK_IMPORTED_MODULE_0__","SelectingTimes","_VTimePickerTitle__WEBPACK_IMPORTED_MODULE_0__","_VTimePickerClock__WEBPACK_IMPORTED_MODULE_1__","_mixins_picker__WEBPACK_IMPORTED_MODULE_2__","_mixins_picker_button__WEBPACK_IMPORTED_MODULE_3__","_VDatePicker_util_pad__WEBPACK_IMPORTED_MODULE_5__","_SelectingTimes__WEBPACK_IMPORTED_MODULE_7__","rangeHours24","rangeHours12am","rangeHours12pm","range60","selectingNames","allowedHours","allowedMinutes","allowedSeconds","useSeconds","ampmInTitle","inputHour","inputMinute","inputSecond","lazyInputHour","lazyInputMinute","lazyInputSecond","selecting","Hour","selectingHour","selectingMinute","Minute","selectingSecond","Second","isAllowedHourCb","minHour","maxHour","isAllowedMinuteCb","isHourAllowed","minMinute","maxMinute","minTime","maxTime","isAllowedSecondCb","isMinuteAllowed","minSecond","maxSecond","isAmPm","setInputData","setPeriod","genValue","emitValue","emitPicker","setPicker","picker","newHour","firstAllowed","convert12to24","convert24to12","emitChange","genClock","allowedValues","double","genClockAmPm","ampmReadonly","isDragging","valueOnMouseDown","valueOnMouseUp","degreesPerUnit","roundCount","degrees","displayedValue","innerRadiusScale","isInner","handScale","genValues","getTransform","genHand","getPosition","rotateRadians","onDragMove","clock","innerClock","coords","handAngle","insideClick","euclidean","checksCount","angleToValue","setMouseDownValue","touchend","touchmove","_mixins_picker_button__WEBPACK_IMPORTED_MODULE_1__","_VDatePicker_util__WEBPACK_IMPORTED_MODULE_2__","_SelectingTimes__WEBPACK_IMPORTED_MODULE_4__","genTime","displayedHour","displayedMinute","titleContent","displayedSecond","genAmPm","_VTimePicker__WEBPACK_IMPORTED_MODULE_0__","_VTimePickerTitle__WEBPACK_IMPORTED_MODULE_2__","VTimePicker","VTimePickerClock","VTimePickerTitle","timeline","alignTop","fillDot","hideDot","genInnerDot","genOpposite","opposite","_VTimeline__WEBPACK_IMPORTED_MODULE_0__","_VTimelineItem__WEBPACK_IMPORTED_MODULE_1__","VTimeline","VTimelineItem","_VImg_VImg__WEBPACK_IMPORTED_MODULE_2__","extended","smAndDown","genExtension","extension","VToolbarItems","VToolbarTitle","_VToolbar__WEBPACK_IMPORTED_MODULE_0__","VToolbar","_mixins_activatable__WEBPACK_IMPORTED_MODULE_1__","closeDelay","openDelay","openOnFocus","closeDependents","unknown","activatorLeft","nudgeLeft","nudgeRight","activatorTop","nudgeTop","deactivate","_VTooltip__WEBPACK_IMPORTED_MODULE_0__","_VTreeviewNode__WEBPACK_IMPORTED_MODULE_1__","_util_filterTreeItems__WEBPACK_IMPORTED_MODULE_7__","treeview","hoverable","multipleActive","openAll","activeCache","selectedCache","excludedItems","excluded","itemChildren","oldKeys","newKeys","getKeys","diff","oldSelectedCache","buildTree","emitSelected","handleNodeCacheWatcher","updateActive","emitActive","updateSelected","updateOpen","emitOpen","updateAll","oldNode","isIndeterminate","selectionType","calculateState","updateVnodeState","counts","emitNodeCache","updateFn","emitFn","getDescendants","descendants","getParents","parents","isParent","isForced","descendant","calculated","calculated_1","hasLoaded","checkChildren","isExcluded","genChild","VTreeviewNodeProps","activatable","disablePerNode","loadChildren","loadingIcon","selectedColor","VTreeviewNode","parentIsDisabled","leaf","hasChildren","genToggle","genLevel","genNode","genChildrenWrapper","_VTreeview__WEBPACK_IMPORTED_MODULE_0__","VTreeview","filterTreeItem","filterTreeItems","textKey","idKey","childrenKey","bench","itemHeight","__bench","__itemHeight","firstToRender","lastToRender","getLast","getChildren","getFirst","_VVirtualScroll__WEBPACK_IMPORTED_MODULE_0__","_VItemGroup_VItemGroup__WEBPACK_IMPORTED_MODULE_4__","showArrowsOnHover","changedByDelimiters","transitionHeight","transitionCount","axis","internalReverse","hasActiveItems","updateReverse","genContainer","_click","icons","getPrevIndex","_mixins_bootable__WEBPACK_IMPORTED_MODULE_0__","_directives_touch__WEBPACK_IMPORTED_MODULE_2__","reverseTransition","inTransition","onAfterTransition","onBeforeTransition","onTransitionCancelled","onEnter","_VWindow__WEBPACK_IMPORTED_MODULE_0__","_VWindowItem__WEBPACK_IMPORTED_MODULE_1__","VWindow","VWindowItem","_VAppBar__WEBPACK_IMPORTED_MODULE_1__","_VAlert__WEBPACK_IMPORTED_MODULE_2__","_VAutocomplete__WEBPACK_IMPORTED_MODULE_3__","_VAvatar__WEBPACK_IMPORTED_MODULE_4__","_VBadge__WEBPACK_IMPORTED_MODULE_5__","_VBanner__WEBPACK_IMPORTED_MODULE_6__","_VBottomNavigation__WEBPACK_IMPORTED_MODULE_7__","_VBottomSheet__WEBPACK_IMPORTED_MODULE_8__","_VBreadcrumbs__WEBPACK_IMPORTED_MODULE_9__","_VBtn__WEBPACK_IMPORTED_MODULE_10__","_VBtnToggle__WEBPACK_IMPORTED_MODULE_11__","_VCalendar__WEBPACK_IMPORTED_MODULE_12__","_VCard__WEBPACK_IMPORTED_MODULE_13__","_VCarousel__WEBPACK_IMPORTED_MODULE_14__","_VCheckbox__WEBPACK_IMPORTED_MODULE_15__","_VChip__WEBPACK_IMPORTED_MODULE_16__","_VChipGroup__WEBPACK_IMPORTED_MODULE_17__","_VColorPicker__WEBPACK_IMPORTED_MODULE_18__","_VContent__WEBPACK_IMPORTED_MODULE_19__","_VCombobox__WEBPACK_IMPORTED_MODULE_20__","_VCounter__WEBPACK_IMPORTED_MODULE_21__","_VData__WEBPACK_IMPORTED_MODULE_22__","_VDataIterator__WEBPACK_IMPORTED_MODULE_23__","_VDataTable__WEBPACK_IMPORTED_MODULE_24__","_VDatePicker__WEBPACK_IMPORTED_MODULE_25__","_VDialog__WEBPACK_IMPORTED_MODULE_26__","_VDivider__WEBPACK_IMPORTED_MODULE_27__","_VExpansionPanel__WEBPACK_IMPORTED_MODULE_28__","_VFileInput__WEBPACK_IMPORTED_MODULE_29__","_VFooter__WEBPACK_IMPORTED_MODULE_30__","_VForm__WEBPACK_IMPORTED_MODULE_31__","_VGrid__WEBPACK_IMPORTED_MODULE_32__","_VHover__WEBPACK_IMPORTED_MODULE_33__","_VIcon__WEBPACK_IMPORTED_MODULE_34__","_VImg__WEBPACK_IMPORTED_MODULE_35__","_VInput__WEBPACK_IMPORTED_MODULE_36__","_VItemGroup__WEBPACK_IMPORTED_MODULE_37__","_VLabel__WEBPACK_IMPORTED_MODULE_38__","_VLazy__WEBPACK_IMPORTED_MODULE_39__","_VList__WEBPACK_IMPORTED_MODULE_40__","_VMain__WEBPACK_IMPORTED_MODULE_41__","_VMenu__WEBPACK_IMPORTED_MODULE_42__","_VMessages__WEBPACK_IMPORTED_MODULE_43__","_VNavigationDrawer__WEBPACK_IMPORTED_MODULE_44__","_VOtpInput__WEBPACK_IMPORTED_MODULE_45__","_VOverflowBtn__WEBPACK_IMPORTED_MODULE_46__","_VOverlay__WEBPACK_IMPORTED_MODULE_47__","_VPagination__WEBPACK_IMPORTED_MODULE_48__","_VSheet__WEBPACK_IMPORTED_MODULE_49__","_VParallax__WEBPACK_IMPORTED_MODULE_50__","_VPicker__WEBPACK_IMPORTED_MODULE_51__","_VProgressCircular__WEBPACK_IMPORTED_MODULE_52__","_VProgressLinear__WEBPACK_IMPORTED_MODULE_53__","_VRadioGroup__WEBPACK_IMPORTED_MODULE_54__","_VRangeSlider__WEBPACK_IMPORTED_MODULE_55__","_VRating__WEBPACK_IMPORTED_MODULE_56__","_VResponsive__WEBPACK_IMPORTED_MODULE_57__","_VSelect__WEBPACK_IMPORTED_MODULE_58__","_VSkeletonLoader__WEBPACK_IMPORTED_MODULE_59__","_VSlider__WEBPACK_IMPORTED_MODULE_60__","_VSlideGroup__WEBPACK_IMPORTED_MODULE_61__","_VSnackbar__WEBPACK_IMPORTED_MODULE_62__","_VSparkline__WEBPACK_IMPORTED_MODULE_63__","_VSpeedDial__WEBPACK_IMPORTED_MODULE_64__","_VStepper__WEBPACK_IMPORTED_MODULE_65__","_VSubheader__WEBPACK_IMPORTED_MODULE_66__","_VSwitch__WEBPACK_IMPORTED_MODULE_67__","_VSystemBar__WEBPACK_IMPORTED_MODULE_68__","_VTabs__WEBPACK_IMPORTED_MODULE_69__","_VTextarea__WEBPACK_IMPORTED_MODULE_70__","_VTextField__WEBPACK_IMPORTED_MODULE_71__","_VThemeProvider__WEBPACK_IMPORTED_MODULE_72__","_VTimeline__WEBPACK_IMPORTED_MODULE_73__","_VTimePicker__WEBPACK_IMPORTED_MODULE_74__","_VToolbar__WEBPACK_IMPORTED_MODULE_75__","_VTooltip__WEBPACK_IMPORTED_MODULE_76__","_VTreeview__WEBPACK_IMPORTED_MODULE_77__","_VVirtualScroll__WEBPACK_IMPORTED_MODULE_78__","_VWindow__WEBPACK_IMPORTED_MODULE_79__","_transitions__WEBPACK_IMPORTED_MODULE_80__","createSimpleTransition","createJavascriptTransition","_util_mergeData__WEBPACK_IMPORTED_MODULE_0__","mergeTransitions","transitions","hideOnLeave","leaveAbsolute","webkitTransformOrigin","_transitionInitialStyles","functions","expandedParentClass","sizeProperty","offsetProperty","_parent","initialStyle","VCarouselTransition","VCarouselReverseTransition","VTabTransition","VTabReverseTransition","VMenuTransition","VFabTransition","VDialogTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","VExpandXTransition","_createTransition__WEBPACK_IMPORTED_MODULE_0__","_expand_transition__WEBPACK_IMPORTED_MODULE_1__","_util_dom__WEBPACK_IMPORTED_MODULE_0__","defaultConditional","checkEvent","checkIsActive","ShadowRoot","_clickOutside","lastMousedownWasOutside","handleShadow","onMousedown","_click_outside__WEBPACK_IMPORTED_MODULE_0__","_intersect__WEBPACK_IMPORTED_MODULE_1__","_mutate__WEBPACK_IMPORTED_MODULE_2__","_resize__WEBPACK_IMPORTED_MODULE_3__","_ripple__WEBPACK_IMPORTED_MODULE_4__","_scroll__WEBPACK_IMPORTED_MODULE_5__","_touch__WEBPACK_IMPORTED_MODULE_6__","IntersectionObserver","_observe","unobserve","Intersect","Mutate","modifierKeys","hasModifiers","childList","subtree","char","mutationsList","_mutate","_onResize","DELAY_RIPPLE","webkitTransform","isKeyboardEvent","calculate","localX","localY","_ripple","ripples","animation","dataset","previousPosition","isHiding","isRippleEnabled","rippleShow","touched","rippleStop","isTouch","showTimerCommit","showTimer","rippleHide","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","removeListeners","_onScroll","handleGesture","touchendY","dirRatio","minDistance","_touchstart","_touchend","_touchmove","createHandlers","_touchHandlers","_install__WEBPACK_IMPORTED_MODULE_0__","_services__WEBPACK_IMPORTED_MODULE_1__","Vuetify","userPreset","framework","isHydrating","preset","service","Service","_components__WEBPACK_IMPORTED_MODULE_0__","_directives__WEBPACK_IMPORTED_MODULE_1__","_framework__WEBPACK_IMPORTED_MODULE_2__","registerComponents","$_vuetify_installed","vuetify","$ssrContext","_af__WEBPACK_IMPORTED_MODULE_0__","_ar__WEBPACK_IMPORTED_MODULE_1__","_bg__WEBPACK_IMPORTED_MODULE_2__","_ca__WEBPACK_IMPORTED_MODULE_3__","_ckb__WEBPACK_IMPORTED_MODULE_4__","_cs__WEBPACK_IMPORTED_MODULE_5__","_da__WEBPACK_IMPORTED_MODULE_6__","_de__WEBPACK_IMPORTED_MODULE_7__","_el__WEBPACK_IMPORTED_MODULE_8__","_en__WEBPACK_IMPORTED_MODULE_9__","_es__WEBPACK_IMPORTED_MODULE_10__","_et__WEBPACK_IMPORTED_MODULE_11__","_fa__WEBPACK_IMPORTED_MODULE_12__","_fi__WEBPACK_IMPORTED_MODULE_13__","_fr__WEBPACK_IMPORTED_MODULE_14__","_hr__WEBPACK_IMPORTED_MODULE_15__","_hu__WEBPACK_IMPORTED_MODULE_16__","_he__WEBPACK_IMPORTED_MODULE_17__","_id__WEBPACK_IMPORTED_MODULE_18__","_it__WEBPACK_IMPORTED_MODULE_19__","_ja__WEBPACK_IMPORTED_MODULE_20__","_ko__WEBPACK_IMPORTED_MODULE_21__","_lv__WEBPACK_IMPORTED_MODULE_22__","_lt__WEBPACK_IMPORTED_MODULE_23__","_nl__WEBPACK_IMPORTED_MODULE_24__","_no__WEBPACK_IMPORTED_MODULE_25__","_pl__WEBPACK_IMPORTED_MODULE_26__","_pt__WEBPACK_IMPORTED_MODULE_27__","_ro__WEBPACK_IMPORTED_MODULE_28__","_ru__WEBPACK_IMPORTED_MODULE_29__","_sk__WEBPACK_IMPORTED_MODULE_30__","_sl__WEBPACK_IMPORTED_MODULE_31__","_sr_Cyrl__WEBPACK_IMPORTED_MODULE_32__","_sr_Latn__WEBPACK_IMPORTED_MODULE_33__","_sv__WEBPACK_IMPORTED_MODULE_34__","_th__WEBPACK_IMPORTED_MODULE_35__","_tr__WEBPACK_IMPORTED_MODULE_36__","_az__WEBPACK_IMPORTED_MODULE_37__","_uk__WEBPACK_IMPORTED_MODULE_38__","_vi__WEBPACK_IMPORTED_MODULE_39__","_zh_Hans__WEBPACK_IMPORTED_MODULE_40__","_zh_Hant__WEBPACK_IMPORTED_MODULE_41__","_delayable__WEBPACK_IMPORTED_MODULE_0__","_toggleable__WEBPACK_IMPORTED_MODULE_1__","internalActivator","activatorElement","activatorNode","slotType","addActivatorEvents","removeActivatorEvents","keys_1","keys_1_1","getValueProxy","keys_2","keys_2_1","resetActivator","applicationable","_positionable__WEBPACK_IMPORTED_MODULE_0__","removeApplication","makeWatcher","$data","_util_console__WEBPACK_IMPORTED_MODULE_0__","hasContent","_components_VItemGroup_VItemGroup__WEBPACK_IMPORTED_MODULE_0__","colorName","colorModifier","openTimeout","closeTimeout","clearDelay","searchChildren","isDependent","openDependents","getClickableDependentElements","_bootable__WEBPACK_IMPORTED_MODULE_0__","validateAttachTarget","removeActivator","hasDetached","initDetach","isConnected","observer_1","removedNodes","_registrable__WEBPACK_IMPORTED_MODULE_0__","Groupable","intersectable","_directives_intersect__WEBPACK_IMPORTED_MODULE_0__","_components_VProgressLinear__WEBPACK_IMPORTED_MODULE_1__","_stackable__WEBPACK_IMPORTED_MODULE_0__","_positionable__WEBPACK_IMPORTED_MODULE_1__","_activatable__WEBPACK_IMPORTED_MODULE_2__","_detachable__WEBPACK_IMPORTED_MODULE_3__","allowOverflow","positionX","positionY","absoluteX","absoluteY","relativeYOffset","hasWindow","inputActivator","stackClass","absoluteYOffset","absolutePosition","xOverflow","getOffsetLeft","documentHeight","getInnerHeight","toTop","checkForPageYOffset","getOffsetTop","checkActivatorFixed","offsetParent","getRoundedBoundedClientRect","measure","sneakPeek","offsetRect","mobileWidth","eventFirst","eventOptions","buttons","classSeparator_1","eventTargetClasses_1","currentTargets","elementsFromPoint","isSameNode","TouchEvent","targetTouches","_components_VOverlay__WEBPACK_IMPORTED_MODULE_0__","overlayColor","overlayOpacity","animationFrame","createOverlay","cancelAnimationFrame","scrollListener","isContentEditable","checkPath","hasScrollbar","alreadyAtStart","alreadyAtEnd","scrollingUp","scrollingDown","isInside","getSelection","anchorNode","_colorable__WEBPACK_IMPORTED_MODULE_0__","_components_VPicker__WEBPACK_IMPORTED_MODULE_0__","_colorable__WEBPACK_IMPORTED_MODULE_1__","_mixins_elevatable__WEBPACK_IMPORTED_MODULE_2__","_themeable__WEBPACK_IMPORTED_MODULE_3__","headerColor","genPickerActionsSlot","availableProps","Proxyable","generateWarning","defaultImpl","originalValue","_directives_ripple__WEBPACK_IMPORTED_MODULE_0__","composite","nuxt","_directives__WEBPACK_IMPORTED_MODULE_0__","previousScroll","_components_VInput__WEBPACK_IMPORTED_MODULE_0__","_rippleable__WEBPACK_IMPORTED_MODULE_1__","_comparable__WEBPACK_IMPORTED_MODULE_2__","falseValue","trueValue","stackElement","stackExclude","zis","activeElements","functionalThemeClasses","Themeable","themeableProvide","Toggleable","elOffsetTop","parallaxDist","percentScrolled","windowBottom","imgHeight","calcDimensions","_themeable__WEBPACK_IMPORTED_MODULE_1__","_registrable__WEBPACK_IMPORTED_MODULE_2__","errorCount","errorMessages","messages","success","successMessages","validateOnBlur","errorBucket","hasFocused","hasInput","isResetting","internalErrorMessages","internalSuccessMessages","externalError","validationTarget","genInternalMessages","internalMessages","_locale__WEBPACK_IMPORTED_MODULE_1__","scrollBarWidth","thresholds","xs","sm","md","lg","iconfont","locales","en","disable","cspNonce","customProperties","minifyTheme","themeCache","variations","primary","secondary","accent","warning","_service__WEBPACK_IMPORTED_MODULE_0__","_extendStatics","Breakpoint","xl","xsOnly","smOnly","smAndUp","mdOnly","mdAndDown","mdAndUp","lgOnly","lgAndDown","lgAndUp","xlOnly","ssr","getClientHeight","getClientWidth","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","goTo","Goto","_easing_patterns__WEBPACK_IMPORTED_MODULE_1__","_settings","settings","scrollingElement","easing","isDrawer","isClipped","targetLocation","startTime","startLocation","ease","currentTime","timeElapsed","reachBottom","getOffset","totalOffset","getContainer","Icons","_presets__WEBPACK_IMPORTED_MODULE_2__","convertToComponentDeclarations","_fa__WEBPACK_IMPORTED_MODULE_0__","iconSet","checkboxOn","checkboxOff","checkboxIndeterminate","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","unfold","plus","minus","_mdi_svg__WEBPACK_IMPORTED_MODULE_0__","_md__WEBPACK_IMPORTED_MODULE_1__","_mdi__WEBPACK_IMPORTED_MODULE_2__","_fa__WEBPACK_IMPORTED_MODULE_3__","_fa4__WEBPACK_IMPORTED_MODULE_4__","_fa_svg__WEBPACK_IMPORTED_MODULE_5__","mdiSvg","mdi","fa","fa4","faSvg","_application__WEBPACK_IMPORTED_MODULE_0__","_breakpoint__WEBPACK_IMPORTED_MODULE_1__","_goto__WEBPACK_IMPORTED_MODULE_2__","_icons__WEBPACK_IMPORTED_MODULE_3__","_lang__WEBPACK_IMPORTED_MODULE_4__","_presets__WEBPACK_IMPORTED_MODULE_5__","_theme__WEBPACK_IMPORTED_MODULE_6__","Lang","LANG_PREFIX","getTranslation","usingDefault","defaultLocale","shortKey","translation","translator","defaultTranslator","Presets","_presets_default__WEBPACK_IMPORTED_MODULE_0__","_service__WEBPACK_IMPORTED_MODULE_3__","parentPreset","defaultPreset","globalPreset","Theme","_utils__WEBPACK_IMPORTED_MODULE_1__","vueMeta","fillVariant","isVueMeta23","applyVueMeta23","checkOrCreateStyleElement","styleEl","oldDark","applyTheme","clearCss","generatedStyles","$meta","initVueMeta","initSSR","initTheme","setTheme","resetThemes","genStyleElement","defaultTheme","metaKeyName","keyName","metaInfo","vuetifyStylesheet","nonce","addApp","obs","parsedTheme","currentTheme","genStyles","genVariations","lighten","darken","_util_colorUtils__WEBPACK_IMPORTED_MODULE_1__","_util_color_transformSRGB__WEBPACK_IMPORTED_MODULE_2__","_util_color_transformCIELAB__WEBPACK_IMPORTED_MODULE_3__","isItem","anchor","genBaseColor","genVariantColor","genColorVariableName","genColorVariable","cssVar","variablesCss","aColor","variants","variant_1","variantValue","lab","fromXYZ","toXYZ","cielabForwardTransform","cbrt","cielabReverseTransform","xyz","transformedY","Ln","srgbForwardMatrix","srgbForwardTransform","srgbReverseMatrix","srgbReverseTransform","isCssColor","colorToInt","classToHex","intToHex","colorToHex","HSVAtoRGBA","RGBAtoHSVA","HSVAtoHSLA","HSLAtoHSVA","RGBAtoCSS","RGBtoCSS","RGBAtoHex","HexToRGBA","HexToHSVA","HSVAtoHex","parseHex","parseGradient","RGBtoInt","contrastRatio","_console__WEBPACK_IMPORTED_MODULE_0__","_helpers__WEBPACK_IMPORTED_MODULE_1__","_color_transformSRGB__WEBPACK_IMPORTED_MODULE_2__","hexColor","hsv","sprime","accent1","accent2","accent3","accent4","pink","purple","deepPurple","indigo","lightBlue","cyan","teal","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades","consoleInfo","consoleWarn","consoleError","deprecate","breaking","_framework__WEBPACK_IMPORTED_MODULE_0__","createMessage","$_alreadyWarned","generateComponentTrace","newMessage","classifyRE","classify","formatComponentName","includeFile","__file","currentRecursiveSequence","createUTCDate","getUTCFullYear","setUTCFullYear","firstWeekOffset","firstDayOfYear","firstWeekDayInFirstWeek","firstWeekDayOfYear","dayOfYear","isLeapYear","weeksInYear","weekOffset","weekOffsetNext","daysInYear","dedupeModelListeners","attachedRoot","getRootNode","composed","createSimpleFunctional","directiveConfig","addOnceEventListener","passiveSupported","addPassiveEventListener","deepEqual","getObjectValueByPath","getPropertyFromItem","getZIndex","filterObjectOnKeys","convertToUnit","kebabCase","remapInternalIcon","arrayDiff","upperFirst","wrapInArray","defaultFilter","searchItems","getSlotType","debounce","throttle","getPrefixedScopedSlots","getSlot","padEnd","humanReadableFileSize","camelizeObjectKeys","mergeDeep","fillArray","composedPath","testListenerOpts","iconPath","override","customSorters","stringCollator","Collator","sensitivity","usage","sortKey","sortA","sortB","customResult","timeoutId","throttling","kebabName","chunked","sourceProperty","targetProperty","mergeStyles","mergeClasses","mergeListeners","_helpers__WEBPACK_IMPORTED_MODULE_0__","styleList","styleProp","parseStyle","styleMap","mergeTarget","rebuildFunctionalSlots","createInstance","defaultConfig","axios","promises","normalizeArray","allowAboveRoot","basename","matchedSlash","resolvedAbsolute","isAbsolute","trailingSlash","fromParts","toParts","samePartsLength","outputParts","hasRoot","extname","startDot","startPart","preDotState","relativeURL","eject"],"mappings":"iHAEA,IAAIA,EAAQ,EAAQ,QAChBC,EAAW,EAAQ,QACnBC,EAAqB,EAAQ,QAC7BC,EAAkB,EAAQ,QAC1BC,EAAc,EAAQ,QACtBC,EAAY,EAAQ,QAEpBC,EAAaD,EAAUC,WAM3B,SAASC,EAAMC,GACbC,KAAKC,SAAWF,EAChBC,KAAKE,aAAe,CAClBC,QAAS,IAAIV,EACbW,SAAU,IAAIX,GASlBK,EAAMO,UAAUF,QAAU,SAAiBG,GAGnB,kBAAXA,GACTA,EAASC,UAAU,IAAM,GACzBD,EAAOE,IAAMD,UAAU,IAEvBD,EAASA,GAAU,GAGrBA,EAASX,EAAYK,KAAKC,SAAUK,GAGhCA,EAAOG,OACTH,EAAOG,OAASH,EAAOG,OAAOC,cACrBV,KAAKC,SAASQ,OACvBH,EAAOG,OAAST,KAAKC,SAASQ,OAAOC,cAErCJ,EAAOG,OAAS,MAGlB,IAAIE,EAAeL,EAAOK,kBAELC,IAAjBD,GACFf,EAAUiB,cAAcF,EAAc,CACpCG,kBAAmBjB,EAAWc,aAAad,EAAWkB,QAAS,SAC/DC,kBAAmBnB,EAAWc,aAAad,EAAWkB,QAAS,SAC/DE,oBAAqBpB,EAAWc,aAAad,EAAWkB,QAAS,WAChE,GAIL,IAAIG,EAA0B,GAC1BC,GAAiC,EACrCnB,KAAKE,aAAaC,QAAQiB,SAAQ,SAAoCC,GACjC,oBAAxBA,EAAYC,UAA0D,IAAhCD,EAAYC,QAAQhB,KAIrEa,EAAiCA,GAAkCE,EAAYE,YAE/EL,EAAwBM,QAAQH,EAAYI,UAAWJ,EAAYK,cAGrE,IAKIC,EALAC,EAA2B,GAO/B,GANA5B,KAAKE,aAAaE,SAASgB,SAAQ,SAAkCC,GACnEO,EAAyBC,KAAKR,EAAYI,UAAWJ,EAAYK,cAK9DP,EAAgC,CACnC,IAAIW,EAAQ,CAACpC,OAAiBkB,GAE9BmB,MAAM1B,UAAUmB,QAAQQ,MAAMF,EAAOZ,GACrCY,EAAQA,EAAMG,OAAOL,GAErBD,EAAUO,QAAQC,QAAQ7B,GAC1B,MAAOwB,EAAMM,OACXT,EAAUA,EAAQU,KAAKP,EAAMQ,QAASR,EAAMQ,SAG9C,OAAOX,EAIT,IAAIY,EAAYjC,EAChB,MAAOY,EAAwBkB,OAAQ,CACrC,IAAII,EAActB,EAAwBoB,QACtCG,EAAavB,EAAwBoB,QACzC,IACEC,EAAYC,EAAYD,GACxB,MAAOG,GACPD,EAAWC,GACX,OAIJ,IACEf,EAAUjC,EAAgB6C,GAC1B,MAAOG,GACP,OAAOR,QAAQS,OAAOD,GAGxB,MAAOd,EAAyBQ,OAC9BT,EAAUA,EAAQU,KAAKT,EAAyBU,QAASV,EAAyBU,SAGpF,OAAOX,GAGT7B,EAAMO,UAAUuC,OAAS,SAAgBtC,GAEvC,OADAA,EAASX,EAAYK,KAAKC,SAAUK,GAC7Bd,EAASc,EAAOE,IAAKF,EAAOuC,OAAQvC,EAAOwC,kBAAkBC,QAAQ,MAAO,KAIrFxD,EAAM6B,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6BX,GAE/EX,EAAMO,UAAUI,GAAU,SAASD,EAAKF,GACtC,OAAON,KAAKG,QAAQR,EAAYW,GAAU,GAAI,CAC5CG,OAAQA,EACRD,IAAKA,EACLwC,MAAO1C,GAAU,IAAI0C,YAK3BzD,EAAM6B,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BX,GAErEX,EAAMO,UAAUI,GAAU,SAASD,EAAKwC,EAAM1C,GAC5C,OAAON,KAAKG,QAAQR,EAAYW,GAAU,GAAI,CAC5CG,OAAQA,EACRD,IAAKA,EACLwC,KAAMA,SAKZC,EAAOC,QAAUpD,G,oCC7HjBmD,EAAOC,QAAU,SAAgBC,GAC/B,OAAO,SAAcC,GACnB,OAAOD,EAASnB,MAAM,KAAMoB,M,sBCxBhC,gBAKA,SAASC,EAAcC,GACvBA,EAAKC,QAAU,SACf,IAAIC,EAAmB,KAAMC,EAAe,KAGrB,qBAAZC,UACY,qBAAXC,EAAwBA,EAAOD,QAAU,EAAQ,QACjC,qBAAXE,SAAwBA,OAAOF,QAAU,EAAQ,UAKlE,IADA,IAAIG,EAAa,CAAE,IAAK,IAAK,IAAK,IAAK,KAC/BC,EAAI,EAAGA,GAAK,IAAKA,EAAGD,EAAWhC,KAAK,KAAOiC,GAEnD,IAAIC,EAAQ,CACZC,EAAM,KACNC,EAAK,MACLC,EAAK,MACLC,GAAK,IACLC,IAAO,IACPC,IAAO,IACPC,IAAM,KACNC,IAAO,IACPC,IAAO,IACPC,IAAM,KACNC,IAAM,KACNC,IAAM,KACNC,IAAM,KACNC,IAAM,KACNC,IAAM,KACNC,IAAM,KACNC,IAAO,IACPC,IAAM,KACNC,IAAM,KACNC,GAAM,MAGFC,EAAW,SAASC,IAAoC,GAA3BxB,EAAWyB,QAAQD,KAAmB5B,EAAeM,EAAM,GAAKsB,IACjG,SAASE,IAAeH,EAAS,MAEjC,IAAII,EAAS,SAASH,GAAM7B,EAAmB6B,EAAID,EAASC,IAC5D,SAASI,IAAaD,EAAO,MAAOD,IAEpC,SAASG,EAAW1C,GAAoB,IAAZ,IAAI2C,EAAI,GAAY7B,EAAI,EAAG8B,EAAM5C,EAAKZ,OAAQ0B,EAAI8B,IAAO9B,EAAG6B,EAAE7B,GAAKd,EAAK6C,WAAW/B,GAAI,OAAO6B,EAE1H,SAASG,EAAY9C,GAEpB,IADA,IAAI2C,EAAI,GACA7B,EAAI,EAAGA,EAAKd,EAAKZ,QAAQ,IAAM0B,EAAG6B,EAAE7B,GAAKiC,OAAOC,aAAahD,EAAK6C,WAAW,EAAE/B,IAAMd,EAAK6C,WAAW,EAAE/B,EAAE,IAAI,IACrH,OAAO6B,EAAEM,KAAK,IAEf,SAASC,EAAYlD,GAEpB,IADA,IAAI2C,EAAI,GACA7B,EAAI,EAAGA,EAAKd,EAAKZ,QAAQ,IAAM0B,EAAG6B,EAAE7B,GAAKiC,OAAOC,aAAahD,EAAK6C,WAAW,EAAE/B,EAAE,IAAMd,EAAK6C,WAAW,EAAE/B,IAAI,IACrH,OAAO6B,EAAEM,KAAK,IAGf,IAAIE,EAAQ,SAASnD,GACpB,IAAIoD,EAAKpD,EAAK6C,WAAW,GAAIQ,EAAKrD,EAAK6C,WAAW,GAClD,OAAS,KAANO,GAAoB,KAANC,EAAmBP,EAAY9C,EAAKsD,MAAM,IAClD,KAANF,GAAoB,KAANC,EAAmBH,EAAYlD,EAAKsD,MAAM,IAClD,OAANF,EAAqBpD,EAAKsD,MAAM,GAC5BtD,GAGJuD,EAAW,SAAcC,GAAK,OAAOT,OAAOC,aAAaQ,IACzDC,EAAW,SAAcD,GAAK,OAAOT,OAAOC,aAAaQ,IACvC,qBAAZ9C,UACT8B,EAAS,SAASH,GAAM7B,EAAmB6B,EAAID,EAASC,IACxDc,EAAQ,SAASnD,GAChB,OAA0B,MAAvBA,EAAK6C,WAAW,IAAsC,MAAvB7C,EAAK6C,WAAW,GAAsBnC,QAAQnE,MAAMmH,OAAO,KAAMhB,EAAW1C,EAAKsD,MAAM,KAClHtD,GAERuD,EAAW,SAAcC,GACxB,OAAwB,OAArBhD,EAAkCuC,OAAOC,aAAaQ,GAClD9C,QAAQnE,MAAMmH,OAAOlD,EAAkB,CAAG,IAAFgD,EAAMA,GAAG,IAAI,IAE7DC,EAAW,SAAcD,GACxB,OAAO9C,QAAQnE,MAAMmH,OAAOjD,EAAc,CAAC+C,IAAI,KAGjD,IAAIG,EAAQ,KACRC,GAAS,EACTC,EAAS,WACZ,IAAIC,EAAM,oEACV,MAAO,CACNC,OAAQ,SAASC,GAGhB,IAFA,IAAIrB,EAAI,GACJS,EAAG,EAAGC,EAAG,EAAGY,EAAG,EAAGC,EAAG,EAAGC,EAAG,EAAGC,EAAG,EAAGC,EAAG,EACnCvD,EAAI,EAAGA,EAAIkD,EAAM5E,QACxBgE,EAAKY,EAAMnB,WAAW/B,KACtBoD,EAAMd,GAAM,EAEZC,EAAKW,EAAMnB,WAAW/B,KACtBqD,GAAY,EAALf,IAAW,EAAMC,GAAM,EAE9BY,EAAKD,EAAMnB,WAAW/B,KACtBsD,GAAY,GAALf,IAAY,EAAMY,GAAM,EAC/BI,EAAW,GAALJ,EACFK,MAAMjB,GAAOe,EAAKC,EAAK,GAClBC,MAAML,KAAOI,EAAK,IAC3B1B,GAAKmB,EAAIS,OAAOL,GAAMJ,EAAIS,OAAOJ,GAAML,EAAIS,OAAOH,GAAMN,EAAIS,OAAOF,GAEpE,OAAO1B,GAERe,OAAQ,SAAoBM,GAC3B,IAAIrB,EAAI,GACJS,EAAG,EAAGC,EAAG,EAAGY,EAAG,EAAGC,EAAG,EAAGC,EAAG,EAAGC,EAAG,EAAGC,EAAG,EAC3CL,EAAQA,EAAMjE,QAAQ,eAAgB,IACtC,IAAI,IAAIe,EAAI,EAAGA,EAAIkD,EAAM5E,QACxB8E,EAAKJ,EAAIxB,QAAQ0B,EAAMO,OAAOzD,MAC9BqD,EAAKL,EAAIxB,QAAQ0B,EAAMO,OAAOzD,MAC9BsC,EAAMc,GAAM,EAAMC,GAAM,EACxBxB,GAAKI,OAAOC,aAAaI,GAEzBgB,EAAKN,EAAIxB,QAAQ0B,EAAMO,OAAOzD,MAC9BuC,GAAY,GAALc,IAAY,EAAMC,GAAM,EACpB,KAAPA,IAAazB,GAAKI,OAAOC,aAAaK,IAE1CgB,EAAKP,EAAIxB,QAAQ0B,EAAMO,OAAOzD,MAC9BmD,GAAY,EAALG,IAAW,EAAKC,EACZ,KAAPA,IAAa1B,GAAKI,OAAOC,aAAaiB,IAE3C,OAAOtB,IAxCG,GA4CT6B,EAA6B,qBAAXC,GAA6C,qBAAZC,GAAuD,qBAArBA,EAAQC,YAA8BD,EAAQC,SAASC,KAE5IC,EAAc,aAElB,GAAqB,qBAAXJ,EAAwB,CACjC,IAAIK,GAAQL,EAAOM,KACnB,IAAID,EAAM,IAAML,EAAOM,KAAK,MAAO,QAAW,MAAMC,IAAKF,GAAO,EAChED,EAAcC,EAAO,SAASG,EAAKC,GAAO,OAAO,EAAQ,IAAIT,EAAOQ,EAAKC,GAAO,IAAIT,EAAOQ,IAAUR,EAAOM,KAAKI,KAAKV,GAElHA,EAAOW,QAAOX,EAAOW,MAAQ,SAASC,GAAK,OAAO,IAAIZ,EAAOY,KAE7DZ,EAAOa,cAAab,EAAOa,YAAc,SAASD,GAAK,OAAO,IAAIZ,EAAOY,KAG9E,SAASE,EAAY3C,GAEpB,OAAO4B,EAAUC,EAAOW,MAAMxC,GAAO,IAAI7D,MAAM6D,GAIhD,SAAS4C,EAAe5C,GAEvB,OAAO4B,EAAUC,EAAOa,YAAY1C,GAAO,IAAI7D,MAAM6D,GAItD,IAAI6C,EAAM,SAAaC,GAEtB,OAAGlB,EAAgBK,EAAYa,EAAG,UAC3BA,EAAEC,MAAM,IAAI7B,KAAI,SAASN,GAAI,OAAyB,IAAlBA,EAAEX,WAAW,OAGzD,SAAS+C,EAAKF,GACb,GAA0B,qBAAhBG,YAA6B,OAAOJ,EAAIC,GAElD,IADA,IAAIT,EAAM,IAAIY,YAAYH,EAAEtG,QAAS0G,EAAO,IAAIC,WAAWd,GAClDnE,EAAE,EAAGA,GAAG4E,EAAEtG,SAAU0B,EAAGgF,EAAKhF,GAAuB,IAAlB4E,EAAE7C,WAAW/B,GACvD,OAAOmE,EAGR,SAASe,EAAIhG,GACZ,GAAGjB,MAAMkH,QAAQjG,GAAO,OAAOA,EAAK8D,IAAIoC,IAAMjD,KAAK,IACvC,IAAZ,IAAIN,EAAI,GAAY7B,EAAI,EAAGA,EAAId,EAAKZ,SAAU0B,EAAG6B,EAAE7B,GAAKoF,GAAKlG,EAAKc,IAAK,OAAO6B,EAAEM,KAAK,IAGtF,SAASkD,EAAInG,GACZ,GAAyB,qBAAf+F,WAA4B,MAAM,IAAIK,MAAM,eACtD,OAAO,IAAIL,WAAW/F,GAGvB,SAASqG,EAAKrG,GACb,GAAyB,oBAAf6F,YAA4B,MAAM,IAAIO,MAAM,eACtD,GAAGpG,aAAgB6F,YAAa,OAAOQ,EAAK,IAAIN,WAAW/F,IAE3D,IADD,IAAI2C,EAAI,IAAI5D,MAAMiB,EAAKZ,QACd0B,EAAI,EAAGA,EAAId,EAAKZ,SAAU0B,EAAG6B,EAAE7B,GAAKd,EAAKc,GACjD,OAAO6B,EAGR,IAAI2D,EAAU,SAASC,GAAQ,MAAO,GAAGtH,OAAOD,MAAM,GAAIuH,IAEtDC,EAAO,UAAWC,EAAO,mBAGzBC,EAAM,GACNC,EAAW,SAAkBD,GAEjC,SAASE,EAAQpD,GAAK,IAAIb,EAAI,GAAI7B,EAAI0C,EAAEpE,OAAO,EAAG,MAAM0B,GAAG,EAAG6B,GAAKa,EAAEe,OAAOzD,KAAM,OAAO6B,EACzF,SAASkE,EAAKC,EAAEC,GAAK,IAAIpE,EAAI,GAAI,MAAMA,EAAEvD,OAAS2H,EAAGpE,GAAGmE,EAAG,OAAOnE,EAClE,SAASqE,EAAKC,EAAEC,GAAG,IAAIC,EAAE,GAAGF,EAAG,OAAOE,EAAE/H,QAAQ8H,EAAEC,EAAEN,EAAK,IAAIK,EAAEC,EAAE/H,QAAQ+H,EACzE,SAASC,EAAKH,EAAEC,GAAG,IAAIC,EAAE,GAAGF,EAAE,OAAOE,EAAE/H,QAAQ8H,EAAEC,EAAEN,EAAK,IAAIK,EAAEC,EAAE/H,QAAQ+H,EACxE,SAASE,EAAMJ,EAAEC,GAAG,IAAIC,EAAE,GAAGF,EAAG,OAAOE,EAAE/H,QAAQ8H,EAAEC,EAAEA,EAAEN,EAAK,IAAIK,EAAEC,EAAE/H,QACpE,SAASkI,EAAOL,EAAEC,GAAG,IAAIC,EAAE,GAAGI,KAAKC,MAAMP,GAAI,OAAOE,EAAE/H,QAAQ8H,EAAEC,EAAEN,EAAK,IAAIK,EAAEC,EAAE/H,QAAQ+H,EACvF,SAASM,EAAOR,EAAEC,GAAG,IAAIC,EAAE,GAAGF,EAAG,OAAOE,EAAE/H,QAAQ8H,EAAEC,EAAEN,EAAK,IAAIK,EAAEC,EAAE/H,QAAQ+H,EAP3ET,EAAInG,QAAU,SAQd,IAAImH,EAAQH,KAAKI,IAAI,EAAE,IACvB,SAASC,EAAMX,EAAEC,GAAG,GAAGD,EAAES,GAAOT,GAAGS,EAAO,OAAOJ,EAAOL,EAAEC,GAAI,IAAIpG,EAAIyG,KAAKC,MAAMP,GAAI,OAAOQ,EAAO3G,EAAEoG,GACrG,SAASW,EAAUnC,EAAG5E,GAAiB,OAAZA,EAAIA,GAAK,EAAU4E,EAAEtG,QAAU,EAAI0B,GAA8B,OAAR,GAAhB4E,EAAE7C,WAAW/B,KAA6C,OAAR,GAAlB4E,EAAE7C,WAAW/B,EAAE,KAA6C,OAAR,GAAlB4E,EAAE7C,WAAW/B,EAAE,KAA6C,OAAR,GAAlB4E,EAAE7C,WAAW/B,EAAE,KAA6C,OAAR,GAAlB4E,EAAE7C,WAAW/B,EAAE,KAA6C,MAAR,GAAlB4E,EAAE7C,WAAW/B,EAAE,KAA4C,OAAR,GAAlB4E,EAAE7C,WAAW/B,EAAE,IAC5R,IAAIgH,EAAO,CACV,CAAC,MAAO,UACR,CAAC,MAAO,UACR,CAAC,MAAO,WACR,CAAC,MAAO,aACR,CAAC,MAAO,YACR,CAAC,MAAO,UACR,CAAC,MAAO,aAELC,EAAS,CACZ,CAAC,IAAK,MAAO,WACb,CAAC,IAAK,MAAO,YACb,CAAC,IAAK,MAAO,SACb,CAAC,IAAK,MAAO,SACb,CAAC,IAAK,MAAO,OACb,CAAC,IAAK,MAAO,QACb,CAAC,IAAK,MAAO,QACb,CAAC,IAAK,MAAO,UACb,CAAC,IAAK,MAAO,aACb,CAAC,IAAK,MAAO,WACb,CAAC,IAAK,MAAO,YACb,CAAC,IAAK,MAAO,aAEd,SAASC,EAAWb,GACnBA,EAAE,GAAK,UACPA,EAAE,GAAK,IACPA,EAAE,GAAK,OACPA,EAAE,GAAK,QACPA,EAAE,GAAK,WACPA,EAAE,GAAK,KACPA,EAAE,IAAK,QACPA,EAAE,IAAK,WACPA,EAAE,IAAK,QACPA,EAAE,IAAK,UACPA,EAAE,IAAK,SACPA,EAAE,IAAK,WACPA,EAAE,IAAK,QACPA,EAAE,IAAK,SACPA,EAAE,IAAK,aACPA,EAAE,IAAK,gBACPA,EAAE,IAAK,OACPA,EAAE,IAAK,UACPA,EAAE,IAAK,cACPA,EAAE,IAAK,iBACPA,EAAE,IAAK,sBACPA,EAAE,IAAK,sBACPA,EAAE,IAAK,2BACPA,EAAE,IAAK,QACPA,EAAE,IAAK,YACPA,EAAE,IAAK,SACPA,EAAE,IAAK,WACPA,EAAE,IAAK,IACPA,EAAE,IAAK,2BACPA,EAAE,OAAQ,UAGX,IAAIc,EAAY,GAEhB,SAASC,EAAK1E,EAAG2E,EAAGC,GACnB,IAAIC,EAAM7E,EAAI,GAAK,EAAI,EACnB8E,EAAI9E,EAAI6E,EACRE,EAAM,EAAGC,EAAM,EAAGC,EAAI,EACtBC,EAAM,EAAGC,EAAM,EAAGC,EAAI,EACtBC,EAAItB,KAAKuB,MAAMR,GACnB,MAAMK,EAAMR,EAAG,CAId,GAHAU,EAAItB,KAAKuB,MAAMR,GACfG,EAAII,EAAIL,EAAMD,EACdK,EAAIC,EAAIF,EAAMD,EACVJ,EAAIO,EAAK,KAAY,MACzBP,EAAI,GAAKA,EAAIO,GACbN,EAAMC,EAAKA,EAAMC,EACjBC,EAAMC,EAAKA,EAAMC,EAGlB,GADGA,EAAIT,IAAQQ,EAAMR,GAAKS,EAAIF,EAAKD,EAAIF,IAAcK,EAAID,EAAKF,EAAID,KAC9DJ,EAAO,MAAO,CAAC,EAAGC,EAAMI,EAAGG,GAC/B,IAAIG,EAAIxB,KAAKuB,MAAMT,EAAMI,EAAEG,GAC3B,MAAO,CAACG,EAAGV,EAAII,EAAIM,EAAEH,EAAGA,GAEzB,SAASI,EAAgB/B,EAAEgC,EAAKC,GAC/B,GAAGjC,EAAI,SAAWA,EAAI,EAAG,OAAO,KAChC,IAAIkC,EAAU,EAAFlC,EAAMmC,EAAO7B,KAAKuB,MAAM,OAAS7B,EAAIkC,IAAQE,EAAI,EACzDC,EAAK,GACLC,EAAI,CAACpB,EAAEgB,EAAMK,EAAEJ,EAAMK,EAAE,OAAOxC,EAAEkC,GAAMC,EAAKM,EAAE,EAAEC,EAAE,EAAEzC,EAAE,EAAE0C,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEf,EAAE,GAOzE,GANGxB,KAAKwC,IAAIR,EAAIE,GAAK,OAAMF,EAAIE,EAAI,GAChCR,GAAQA,EAAKe,WAAUb,GAAQ,MAC/BI,EAAIE,EAAI,QACVF,EAAIE,EAAI,EACK,SAARL,IAAiBG,EAAIC,EAAIJ,EAAO,IAAKD,IAAQI,EAAIpB,IAE3C,KAATgB,EAAcG,EAAOJ,EAAK,CAAC,KAAK,GAAG,IAAM,CAAC,KAAK,EAAE,IAAKG,EAAI,OACxD,GAAY,IAATF,EAAaG,EAAOJ,EAAK,CAAC,KAAK,EAAE,IAAM,CAAC,KAAK,EAAE,GAAIG,EAAI,MAC1D,CACDF,EAAO,MAAMA,EAEhB,IAAIjC,EAAI,IAAI+C,KAAK,KAAM,EAAG,GAC1B/C,EAAEgD,QAAQhD,EAAEiD,UAAYhB,EAAO,GAC/BG,EAAO,CAACpC,EAAEkD,cAAelD,EAAEmD,WAAW,EAAEnD,EAAEiD,WAC1Cd,EAAMnC,EAAEoD,SACLnB,EAAO,KAAIE,GAAOA,EAAM,GAAK,GAC7BH,IAAIG,EAAMkB,EAAUrD,EAAGoC,IAO3B,OALAC,EAAIG,EAAIJ,EAAK,GAAIC,EAAII,EAAIL,EAAK,GAAIC,EAAIrC,EAAIoC,EAAK,GAC/CC,EAAIO,EAAIV,EAAO,GAAIA,EAAO7B,KAAKuB,MAAMM,EAAO,IAC5CG,EAAIM,EAAIT,EAAO,GAAIA,EAAO7B,KAAKuB,MAAMM,EAAO,IAC5CG,EAAIK,EAAIR,EACRG,EAAIR,EAAIM,EACDE,EAjDRvB,EAAWC,GAmDXvB,EAAIsC,gBAAkBA,EACtB,IAAIwB,EAAW,IAAIP,KAAK,KAAM,GAAI,GAAI,EAAG,EAAG,GACxCQ,EAAWD,EAASE,UACpBC,EAAW,IAAIV,KAAK,KAAM,EAAG,EAAG,EAAG,EAAG,GAC1C,SAASW,EAAc3D,EAAG+C,GACzB,IAAIa,EAAQ5D,EAAEyD,UAGd,OAFGV,EAAUa,GAAS,UACd5D,GAAK0D,IAAUE,GAAS,QACxBA,GAASJ,EAAoE,KAAxDxD,EAAE6D,oBAAsBN,EAASM,uBAAiC,MAEhG,SAASC,EAAgB9D,GAAK,OAAOA,EAAE+D,SAAS,IAChDtE,EAAIuE,aAAeF,EACnB,IAAIG,EAAkB,WACtB,IAAIC,EAAO,kBAAmBC,EAAO,QAASC,EAAO,iBAAkBC,EAAO,WAAYC,EAAO,eACjG,SAASC,EAAKvE,GACb,IAAIwE,EAAKxE,EAAE,EAAE,GAAG,GACZtE,EAAI+I,EAAKzE,EAAE0E,QAAQ,KAAM,OAAGhJ,EAAEvD,QAAUqM,EAAU9I,GACtDA,EAAIsE,EAAE2E,YAAY,IAAQjJ,EAAEvD,QAAUqM,EAAU9I,EACzCsE,EAAE4E,cAAc,IAExB,SAASC,EAAK7E,GACb,IAAItE,EAAIsE,EAAE0E,QAAQ,IAAI5L,QAAQoL,EAAK,OAEnC,OADGxI,EAAEvD,QAAU6H,EAAE,EAAE,GAAG,MAAKtE,EAAIsE,EAAE2E,YAAY,IACtCjJ,EAER,SAASoJ,EAAKpJ,GACb,IAAI,IAAI7B,EAAI,EAAGA,GAAK6B,EAAEvD,SAAU0B,EAAG,GAAgC,OAAV,GAAlB6B,EAAEE,WAAW/B,IAAoB,OAAO6B,EAAE5C,QAAQsL,EAAK,OAAOtL,QAAQuL,EAAK,KAAKvL,QAAQ,IAAI,KAAKA,QAAQwL,EAAK,SACrJ,OAAO5I,EAER,SAAS+I,EAAK/I,GACb,OAAOA,EAAEL,QAAQ,MAAQ,EAAIK,EAAE5C,QAAQqL,EAAK,IAAIrL,QAAQoL,EAAK,OAASxI,EAEvE,OAAO,SAAyBsE,GAC/B,IAAuDtE,EAAnDqJ,EAAIzE,KAAKuB,MAAMvB,KAAK0E,IAAI1E,KAAKwC,IAAI9C,IAAIM,KAAK2E,QAK9C,OAJuBvJ,EAApBqJ,IAAM,GAAKA,IAAM,EAAO/E,EAAE2E,YAAY,GAAGI,GACpCzE,KAAKwC,IAAIiC,IAAM,EAAOR,EAAKvE,GACrB,KAAN+E,EAAc/E,EAAE0E,QAAQ,IAAIQ,OAAO,EAAE,IACpCL,EAAK7E,GACPyE,EAAKK,EAAKpJ,KA1BI,GA6BtB,SAASyJ,EAAYnF,EAAGgC,GACvB,cAAchC,GACb,IAAK,SAAU,OAAOA,EACtB,IAAK,UAAW,OAAOA,EAAI,OAAS,QACpC,IAAK,SAAU,OAAU,EAAFA,KAASA,EAAI8D,EAAgB9D,GAAKiE,EAAgBjE,GACzE,IAAK,YAAa,MAAO,GACzB,IAAK,SACJ,GAAQ,MAALA,EAAW,MAAO,GACrB,GAAGA,aAAagD,KAAM,OAAOoC,EAAO,GAAIzB,EAAc3D,EAAGgC,GAAQA,EAAKe,UAAWf,GAEnF,MAAM,IAAI7C,MAAM,wCAA0Ca,GAG3D,SAASsD,IAAc,OAAO,EAE9B,SAAS+B,EAAWC,EAAMC,EAAKC,EAAKC,GACnC,IAAiCnD,EAA7B5G,EAAE,GAAIgK,EAAG,EAAGC,EAAG,EAAGlD,EAAI+C,EAAI/C,EAAQmD,EAAO,EAC7C,OAAON,GACN,KAAK,GACJ7C,EAAI+C,EAAI/C,EAAI,IAEb,KAAK,IACL,OAAO8C,EAAIpN,QACV,KAAK,EAAG,KAAK,EAAGmK,EAAMG,EAAI,IAAKmD,EAAO,EAAG,MACzC,QAAStD,EAAMG,EAAI,IAAOmD,EAAO,EAAG,MACnC,MACF,KAAK,IACL,OAAOL,EAAIpN,QACV,KAAK,EAAG,KAAK,EAAGmK,EAAMkD,EAAI9C,EAAGkD,EAAOL,EAAIpN,OAAQ,MAChD,KAAK,EAAG,OAAO2I,EAAO0E,EAAI9C,EAAE,GAAG,GAC/B,KAAK,EAAG,OAAO5B,EAAO0E,EAAI9C,EAAE,GAAG,GAC/B,QAAS,OAAO5B,EAAO0E,EAAI9C,EAAE,GAAG,GAC/B,MACF,KAAK,IACL,OAAO6C,EAAIpN,QACV,KAAK,EAAG,KAAK,EAAGmK,EAAMkD,EAAIvF,EAAG2F,EAAOL,EAAIpN,OAAQ,MAChD,KAAK,EAAG,OAAO0I,EAAK2E,EAAI1D,GAAG,GAC3B,QAAS,OAAOjB,EAAK2E,EAAI1D,GAAG,GAC3B,MACF,KAAK,IACL,OAAOyD,EAAIpN,QACV,KAAK,EAAG,KAAK,EAAGmK,EAAM,GAAGkD,EAAI7C,EAAE,IAAI,GAAIiD,EAAOL,EAAIpN,OAAQ,MAC1D,QAAS,KAAM,oBAAsBoN,EACpC,MACF,KAAK,GACL,OAAOA,EAAIpN,QACV,KAAK,EAAG,KAAK,EAAGmK,EAAMkD,EAAI7C,EAAGiD,EAAOL,EAAIpN,OAAQ,MAChD,QAAS,KAAM,oBAAsBoN,EACpC,MACF,KAAK,GACL,OAAOA,EAAIpN,QACV,KAAK,EAAG,KAAK,EAAGmK,EAAMkD,EAAI5C,EAAGgD,EAAOL,EAAIpN,OAAQ,MAChD,QAAS,KAAM,sBAAwBoN,EACtC,MACF,KAAK,IACJ,GAAU,KAAPA,GAAqB,MAAPA,GAAsB,MAAPA,GAAsB,OAAPA,GAAuB,QAAPA,EAAe,KAAM,sBAAwBA,EAC5G,OAAa,IAAVC,EAAIhD,GAAmB,KAAP+C,GAAqB,MAAPA,GACvBI,EAAVF,GAAO,EAAgB,IAARA,EAAY,IAAO,IAChB,IAARA,EAAY,GAAK,EAC3BC,EAAKpF,KAAKC,MAAM,GAAMiF,EAAI3C,EAAI2C,EAAIhD,IAC/BkD,GAAM,GAAGC,IAAID,EAAK,GACV,MAARH,EAA2B,IAAPG,EAAW,IAAM,GAAGA,EAAGC,GAC9CjK,EAAIqE,EAAK2F,EAAG,EAAID,GACL,OAARF,EAAqB7J,EAAEwJ,OAAO,EAAE,GAC5B,IAAMxJ,EAAEwJ,OAAO,EAAEK,EAAIpN,OAAO,KARmB4H,EAAKyF,EAAI3C,EAAG0C,EAAIpN,QASvE,KAAK,GACL,OAAOoN,GACN,IAAK,MAAO,IAAK,OAAQjD,EAAY,GAANkD,EAAItE,EAAKsE,EAAI7C,EAAG,MAC/C,IAAK,MAAO,IAAK,OAAQL,EAAuB,IAAV,GAANkD,EAAItE,EAAKsE,EAAI7C,GAAM6C,EAAI5C,EAAG,MAC1D,IAAK,MAAO,IAAK,OAAQN,EAAkC,IAAV,IAAV,GAANkD,EAAItE,EAAKsE,EAAI7C,GAAM6C,EAAI5C,GAAMtC,KAAKC,MAAMiF,EAAI3C,EAAE2C,EAAIhD,GAAI,MACvF,QAAS,KAAM,uBAAyB+C,EACvCK,EAAsB,IAAfL,EAAIpN,OAAe,EAAI,EAAG,MACnC,KAAK,IACJmK,EAAMG,EAAGmD,EAAO,EAElB,OAAGA,EAAO,EAAU7F,EAAKuC,EAAKsD,GAAmB,GAGlD,SAASC,EAASpH,GACjB,IAAI+F,EAAI,EACR,GAAG/F,EAAEtG,QAAUqM,EAAG,OAAO/F,EAEzB,IADA,IAAIqH,EAAKrH,EAAEtG,OAASqM,EAAI9I,EAAI+C,EAAEyG,OAAO,EAAEY,GACjCA,GAAGrH,EAAEtG,OAAQ2N,GAAGtB,EAAG9I,IAAIA,EAAEvD,OAAS,EAAI,IAAM,IAAMsG,EAAEyG,OAAOY,EAAEtB,GACnE,OAAO9I,EApFR+D,EAAIsG,aAAe9B,EAanBxE,EAAIuG,SAAWb,EAyEf,IAAIc,EAAY,WAChB,IAAIC,EAAO,KACX,SAASC,EAAcb,EAAMC,EAAKC,GACjC,IAAIY,EAAOb,EAAIzM,QAAQoN,EAAK,IAAKG,EAAMd,EAAIpN,OAASiO,EAAKjO,OACzD,OAAO8N,EAAUX,EAAMc,EAAMZ,EAAMlF,KAAKI,IAAI,GAAG,EAAE2F,IAAQzG,EAAK,IAAIyG,GAEnE,SAASC,EAAahB,EAAMC,EAAKC,GAChC,IAAIe,EAAMhB,EAAIpN,OAAS,EACvB,MAAgC,KAA1BoN,EAAI3J,WAAW2K,EAAI,KAAaA,EACtC,OAAON,EAAUX,EAAMC,EAAIL,OAAO,EAAEqB,GAAMf,EAAMlF,KAAKI,IAAI,GAAG,GAAG6E,EAAIpN,OAAOoO,KAE3E,SAASC,EAAcjB,EAAKC,GAC3B,IAAI9J,EACA6K,EAAMhB,EAAIlK,QAAQ,KAAOkK,EAAIlK,QAAQ,KAAO,EAChD,GAAGkK,EAAIkB,MAAM,eAAgB,CAC5B,GAAU,GAAPjB,EAAU,MAAO,SACf,GAAGA,EAAM,EAAG,MAAO,IAAMgB,EAAcjB,GAAMC,GAClD,IAAIkB,EAASnB,EAAIlK,QAAQ,MAAqB,IAAZqL,IAAeA,EAAOnB,EAAIlK,QAAQ,MACpE,IAAIsL,EAAKrG,KAAKuB,MAAMvB,KAAK0E,IAAIQ,GAAKlF,KAAK2E,QAAQyB,EAG/C,GAFGC,EAAK,IAAGA,GAAMD,GACjBhL,GAAK8J,EAAIlF,KAAKI,IAAI,GAAGiG,IAAKhC,YAAY4B,EAAI,GAAGG,EAAOC,GAAID,IACjC,IAApBhL,EAAEL,QAAQ,KAAa,CACzB,IAAIuL,EAAQtG,KAAKuB,MAAMvB,KAAK0E,IAAIQ,GAAKlF,KAAK2E,SACnB,IAApBvJ,EAAEL,QAAQ,KAAaK,EAAIA,EAAE4B,OAAO,GAAK,IAAM5B,EAAEwJ,OAAO,GAAK,MAAQ0B,EAAQlL,EAAEvD,OAAOwO,GACpFjL,GAAK,MAAQkL,EAAQD,GAC1B,MAAwB,OAAlBjL,EAAEwJ,OAAO,EAAE,GAChBxJ,EAAIA,EAAE4B,OAAO,GAAK5B,EAAEwJ,OAAO,EAAEwB,GAAU,IAAMhL,EAAEwJ,OAAO,EAAEwB,GACxDhL,EAAIA,EAAE5C,QAAQ,aAAa,MAAMA,QAAQ,QAAQ,MAElD4C,EAAIA,EAAE5C,QAAQ,MAAM,KAErB4C,EAAIA,EAAE5C,QAAQ,4BAA2B,SAAS+N,EAAGC,EAAGC,EAAGC,GAAM,OAAOF,EAAKC,EAAKC,EAAG9B,OAAO,GAAGwB,EAAOC,GAAID,GAAU,IAAMM,EAAG9B,OAAOyB,GAAM,YACpIjL,EAAI8J,EAAIZ,cAAc2B,GAG7B,OAFGhB,EAAIkB,MAAM,WAAa/K,EAAE+K,MAAM,cAAa/K,EAAIA,EAAEwJ,OAAO,EAAExJ,EAAEvD,OAAO,GAAK,IAAMuD,EAAE4B,OAAO5B,EAAEvD,OAAO,IACjGoN,EAAIkB,MAAM,QAAU/K,EAAE+K,MAAM,SAAQ/K,EAAIA,EAAE5C,QAAQ,MAAM,MACpD4C,EAAE5C,QAAQ,IAAI,KAEtB,IAAImO,EAAQ,yBACZ,SAASC,EAAaC,EAAGC,EAAMC,GAC9B,IAAIC,EAAMC,SAASJ,EAAE,GAAG,IAAKK,EAAKlH,KAAKC,MAAM6G,EAAOE,GAAMG,EAAOnH,KAAKuB,MAAM2F,EAAGF,GAC3EI,EAAOF,EAAKC,EAAKH,EAAMK,EAAML,EACjC,OAAOD,GAAiB,IAATI,EAAa,GAAK,GAAGA,GAAQ,KAAe,IAARC,EAAY9H,EAAK,IAAKuH,EAAE,GAAGhP,OAAS,EAAIgP,EAAE,GAAGhP,QAAUgI,EAAKuH,EAAIP,EAAE,GAAGhP,QAAUgP,EAAE,GAAK,IAAMA,EAAE,GAAKpH,EAAK4H,EAAIR,EAAE,GAAGhP,SAErK,SAASyP,EAAaT,EAAGC,EAAMC,GAC9B,OAAOA,GAAiB,IAATD,EAAa,GAAK,GAAGA,GAAQxH,EAAK,IAAKuH,EAAE,GAAGhP,OAAS,EAAIgP,EAAE,GAAGhP,QAE9E,IAAI0P,EAAO,iBACPC,EAAa,WACbC,EAAQ,sBACZ,SAASC,EAAMC,GAEd,IADA,IAAYC,EAARxM,EAAI,GACA7B,EAAI,EAAGA,GAAKoO,EAAI9P,SAAU0B,EAAG,OAAQqO,EAAGD,EAAIrM,WAAW/B,IAC9D,KAAK,GAAI,MACT,KAAK,GAAI6B,GAAI,IAAK,MAClB,KAAK,GAAIA,GAAI,IAAK,MAClB,QAASA,GAAII,OAAOC,aAAamM,GAElC,OAAOxM,EAER,SAASyM,EAAI3C,EAAKvF,GAAK,IAAImI,EAAK9H,KAAKI,IAAI,GAAGT,GAAI,MAAO,GAAIK,KAAKC,MAAMiF,EAAM4C,GAAIA,EAChF,SAASC,EAAI7C,EAAKvF,GACjB,OAAIA,GAAK,GAAKK,KAAKC,OAAOiF,EAAIlF,KAAKuB,MAAM2D,IAAMlF,KAAKI,IAAI,GAAGT,KAAK9H,OACxD,EAEDmI,KAAKC,OAAOiF,EAAIlF,KAAKuB,MAAM2D,IAAMlF,KAAKI,IAAI,GAAGT,IAErD,SAASqI,EAAM9C,EAAKvF,GACnB,OAAIA,GAAK,GAAKK,KAAKC,OAAOiF,EAAIlF,KAAKuB,MAAM2D,IAAMlF,KAAKI,IAAI,GAAGT,KAAK9H,OACxD,EAED,EAER,SAASoQ,EAAI/C,GAAO,OAAGA,EAAM,YAAcA,GAAO,WAAmB,IAAIA,GAAO,EAAS,EAAJA,EAAUA,EAAI,EAAE,GAAY,GAAGlF,KAAKuB,MAAM2D,GAC/H,SAASgD,EAAclD,EAAMC,EAAKC,GACjC,GAA0B,KAAvBF,EAAK1J,WAAW,KAAc2J,EAAIkB,MAAMqB,GAAa,CACvD,IAAIW,EAAOlD,EAAIzM,QAAQ,OAAO,IAAIA,QAAQ,MAAM,IAAIA,QAAQ,KAAK,IACjE,OAAG0M,GAAO,EAAUgD,EAAc,IAAKC,EAAMjD,GACtC,IAAMgD,EAAc,IAAKC,GAAOjD,GAAO,IAE/C,GAAsC,KAAnCD,EAAI3J,WAAW2J,EAAIpN,OAAS,GAAW,OAAOmO,EAAahB,EAAMC,EAAKC,GACzE,IAAyB,IAAtBD,EAAIlK,QAAQ,KAAa,OAAO8K,EAAcb,EAAMC,EAAKC,GAC5D,IAAyB,IAAtBD,EAAIlK,QAAQ,KAAa,OAAOmL,EAAcjB,EAAKC,GACtD,GAAyB,KAAtBD,EAAI3J,WAAW,GAAW,MAAO,IAAI4M,EAAclD,EAAKC,EAAIL,OAAsB,KAAfK,EAAIjI,OAAO,GAAQ,EAAE,GAAGkI,GAC9F,IAAI9J,EACAyL,EAAGuB,EAAIC,EAAIvB,EAAO9G,KAAKwC,IAAI0C,GAAM6B,EAAO7B,EAAM,EAAI,IAAM,GAC5D,GAAGD,EAAIkB,MAAM,SAAU,OAAOY,EAAO1G,EAAMyG,EAAK7B,EAAIpN,QACpD,GAAGoN,EAAIkB,MAAM,WAEZ,OADA/K,EAAIiF,EAAM6E,EAAI,GAAa,MAAN9J,IAAWA,EAAI,IAC7BA,EAAEvD,OAASoN,EAAIpN,OAASuD,EAAIsM,EAAMzC,EAAIL,OAAO,EAAEK,EAAIpN,OAAOuD,EAAEvD,SAAWuD,EAE/E,GAAIyL,EAAI5B,EAAIkB,MAAMQ,GAAS,OAAOC,EAAaC,EAAGC,EAAMC,GACxD,GAAG9B,EAAIkB,MAAM,UAAW,OAAOY,EAAO1G,EAAMyG,EAAK7B,EAAIpN,OAASoN,EAAIlK,QAAQ,MAC1E,GAAI8L,EAAI5B,EAAIkB,MAAMoB,GAEjB,OADAnM,EAAIyM,EAAI3C,EAAK2B,EAAE,GAAGhP,QAAQW,QAAQ,aAAa,MAAMkP,EAAMb,EAAE,KAAKrO,QAAQ,MAAM,IAAIkP,EAAMb,EAAE,KAAKrO,QAAQ,YAAW,SAAS+N,EAAIC,GAAM,MAAO,IAAMA,EAAKlH,EAAK,IAAKoI,EAAMb,EAAE,IAAIhP,OAAO2O,EAAG3O,YAC3J,IAAvBoN,EAAIlK,QAAQ,MAAeK,EAAIA,EAAE5C,QAAQ,OAAO,KAGxD,GADAyM,EAAMA,EAAIzM,QAAQ,YAAa,MAC3BqO,EAAI5B,EAAIkB,MAAM,gBACjB,OAAOY,EAAOc,EAAIf,EAAMD,EAAE,GAAGhP,QAAQW,QAAQ,kBAAkB,OAAOA,QAAQ,YAAY,OAAOA,QAAQ,OAAOqO,EAAE,GAAGhP,OAAO,KAAK,KAElI,GAAIgP,EAAI5B,EAAIkB,MAAM,qBAAuB,OAAOY,EAAOxB,EAASlF,EAAMyG,EAAK,IAC3E,GAAID,EAAI5B,EAAIkB,MAAM,qBACjB,OAAOjB,EAAM,EAAI,IAAMgD,EAAclD,EAAMC,GAAMC,GAAOK,EAAS,IAAIvF,KAAKuB,MAAM2D,GAAO8C,EAAM9C,EAAK2B,EAAE,GAAGhP,UAAY,IAAM4H,EAAKsI,EAAI7C,EAAK2B,EAAE,GAAGhP,QAAQgP,EAAE,GAAGhP,QAE1J,GAAIgP,EAAI5B,EAAIkB,MAAM,YAAc,OAAO+B,EAAclD,EAAKC,EAAIzM,QAAQ,SAAS,IAAI0M,GACnF,GAAI2B,EAAI5B,EAAIkB,MAAM,2BAGjB,OAFA/K,EAAIiE,EAAQ6I,EAAclD,EAAMC,EAAIzM,QAAQ,SAAS,IAAK0M,IAC1DkD,EAAK,EACE/I,EAAQA,EAAQ4F,EAAIzM,QAAQ,MAAM,KAAKA,QAAQ,SAAQ,SAASyD,GAAG,OAAOmM,EAAGhN,EAAEvD,OAAOuD,EAAE4B,OAAOoL,KAAU,MAAJnM,EAAQ,IAAI,OAEzH,GAAGgJ,EAAIkB,MAAMsB,GAEZ,OADArM,EAAI8M,EAAclD,EAAM,aAAcE,GAC/B,IAAM9J,EAAEwJ,OAAO,EAAE,GAAK,KAAOxJ,EAAEwJ,OAAO,EAAG,GAAK,IAAMxJ,EAAEwJ,OAAO,GAErE,IAAI0D,EAAK,GACT,GAAIzB,EAAI5B,EAAIkB,MAAM,+BAUjB,OATAiC,EAAKpI,KAAKuI,IAAI1B,EAAE,GAAGhP,OAAO,GAC1BwQ,EAAK1H,EAAKmG,EAAM9G,KAAKI,IAAI,GAAGgI,GAAI,GAAG,GACnChN,EAAI,GAAK2L,EACTuB,EAAK3C,EAAU,IAAKkB,EAAE,GAAIwB,EAAG,IACA,KAA1BC,EAAGtL,OAAOsL,EAAGzQ,OAAO,KAAWyQ,EAAKA,EAAG1D,OAAO,EAAE0D,EAAGzQ,OAAO,GAAK,KAClEuD,GAAKkN,EAAKzB,EAAE,GAAK,IAAMA,EAAE,GACzByB,EAAKxI,EAAMuI,EAAG,GAAGD,GACdE,EAAGzQ,OAASgP,EAAE,GAAGhP,SAAQyQ,EAAKZ,EAAMb,EAAE,GAAGjC,OAAOiC,EAAE,GAAGhP,OAAOyQ,EAAGzQ,SAAWyQ,GAC7ElN,GAAKkN,EACElN,EAER,GAAIyL,EAAI5B,EAAIkB,MAAM,iCAGjB,OAFAiC,EAAKpI,KAAKuI,IAAIvI,KAAKwI,IAAI3B,EAAE,GAAGhP,OAAQgP,EAAE,GAAGhP,QAAQ,GACjDwQ,EAAK1H,EAAKmG,EAAM9G,KAAKI,IAAI,GAAGgI,GAAI,GAAG,GAC5BrB,GAAQsB,EAAG,KAAKA,EAAG,GAAK,GAAK,MAAQ,KAAOA,EAAG,GAAKxI,EAAKwI,EAAG,GAAGD,GAAMvB,EAAE,GAAK,IAAMA,EAAE,GAAK/G,EAAMuI,EAAG,GAAGD,GAAK9I,EAAK,IAAK,EAAE8I,EAAG,EAAIvB,EAAE,GAAGhP,OAASgP,EAAE,GAAGhP,SAExJ,GAAIgP,EAAI5B,EAAIkB,MAAM,YAEjB,OADA/K,EAAIiF,EAAM6E,EAAK,GACZD,EAAIpN,QAAUuD,EAAEvD,OAAeuD,EAC3BsM,EAAMzC,EAAIL,OAAO,EAAEK,EAAIpN,OAAOuD,EAAEvD,SAAWuD,EAEnD,GAAIyL,EAAI5B,EAAIkB,MAAM,uBAAyB,CAC1C/K,EAAI,GAAK8J,EAAId,QAAQpE,KAAKuI,IAAI1B,EAAE,GAAGhP,OAAO,KAAKW,QAAQ,YAAY,MACnE4P,EAAKhN,EAAEL,QAAQ,KACf,IAAI0N,EAAOxD,EAAIlK,QAAQ,KAAOqN,EAAIM,EAAOzD,EAAIpN,OAASuD,EAAEvD,OAAS4Q,EACjE,OAAOf,EAAMzC,EAAIL,OAAO,EAAE6D,GAAQrN,EAAI6J,EAAIL,OAAOK,EAAIpN,OAAO6Q,IAE7D,GAAI7B,EAAI5B,EAAIkB,MAAM,sBAEjB,OADAiC,EAAKL,EAAI7C,EAAK2B,EAAE,GAAGhP,QACZqN,EAAM,EAAI,IAAMgD,EAAclD,EAAMC,GAAMC,GAAOK,EAAS0C,EAAI/C,IAAM1M,QAAQ,aAAa,OAAOA,QAAQ,SAAQ,SAAS+N,GAAM,MAAO,OAASA,EAAG1O,OAAS,EAAI4H,EAAK,EAAE,EAAE8G,EAAG1O,QAAU,IAAM0O,KAAS,IAAM9G,EAAK2I,EAAGvB,EAAE,GAAGhP,QAE/N,OAAOoN,GACN,IAAK,aAAc,OAAOiD,EAAclD,EAAM,WAAYE,GAC1D,IAAK,UACL,IAAK,SACL,IAAK,QAAS,IAAIjJ,EAAIsJ,EAASlF,EAAMyG,EAAK,IAAK,MAAa,MAAN7K,EAAY8K,EAAO9K,EAAI,GAC7E,IAAK,aAAc,OAAOiM,EAAclD,EAAM,aAAaE,GAAK1M,QAAQ,OAAO,KAC/E,IAAK,WAAY,OAAO0P,EAAclD,EAAM,WAAWE,GAAK1M,QAAQ,OAAO,KAC3E,SAED,MAAM,IAAIqG,MAAM,uBAAyBoG,EAAM,KAEhD,SAAS0D,EAAc3D,EAAMC,EAAKC,GACjC,IAAIe,EAAMhB,EAAIpN,OAAS,EACvB,MAAgC,KAA1BoN,EAAI3J,WAAW2K,EAAI,KAAaA,EACtC,OAAON,EAAUX,EAAMC,EAAIL,OAAO,EAAEqB,GAAMf,EAAMlF,KAAKI,IAAI,GAAG,GAAG6E,EAAIpN,OAAOoO,KAE3E,SAAS2C,EAAe5D,EAAMC,EAAKC,GAClC,IAAIY,EAAOb,EAAIzM,QAAQoN,EAAK,IAAKG,EAAMd,EAAIpN,OAASiO,EAAKjO,OACzD,OAAO8N,EAAUX,EAAMc,EAAMZ,EAAMlF,KAAKI,IAAI,GAAG,EAAE2F,IAAQzG,EAAK,IAAIyG,GAEnE,SAAS8C,EAAe5D,EAAKC,GAC5B,IAAI9J,EACA6K,EAAMhB,EAAIlK,QAAQ,KAAOkK,EAAIlK,QAAQ,KAAO,EAChD,GAAGkK,EAAIkB,MAAM,eAAgB,CAC5B,GAAU,GAAPjB,EAAU,MAAO,SACf,GAAGA,EAAM,EAAG,MAAO,IAAM2D,EAAe5D,GAAMC,GACnD,IAAIkB,EAASnB,EAAIlK,QAAQ,MAAqB,IAAZqL,IAAeA,EAAOnB,EAAIlK,QAAQ,MACpE,IAAIsL,EAAKrG,KAAKuB,MAAMvB,KAAK0E,IAAIQ,GAAKlF,KAAK2E,QAAQyB,EAG/C,GAFGC,EAAK,IAAGA,GAAMD,GACjBhL,GAAK8J,EAAIlF,KAAKI,IAAI,GAAGiG,IAAKhC,YAAY4B,EAAI,GAAGG,EAAOC,GAAID,IACpDhL,EAAE+K,MAAM,QAAS,CACpB,IAAIG,EAAQtG,KAAKuB,MAAMvB,KAAK0E,IAAIQ,GAAKlF,KAAK2E,SACnB,IAApBvJ,EAAEL,QAAQ,KAAaK,EAAIA,EAAE4B,OAAO,GAAK,IAAM5B,EAAEwJ,OAAO,GAAK,MAAQ0B,EAAQlL,EAAEvD,OAAOwO,GACpFjL,GAAK,MAAQkL,EAAQD,GAC1BjL,EAAIA,EAAE5C,QAAQ,MAAM,KAErB4C,EAAIA,EAAE5C,QAAQ,4BAA2B,SAAS+N,EAAGC,EAAGC,EAAGC,GAAM,OAAOF,EAAKC,EAAKC,EAAG9B,OAAO,GAAGwB,EAAOC,GAAID,GAAU,IAAMM,EAAG9B,OAAOyB,GAAM,YACpIjL,EAAI8J,EAAIZ,cAAc2B,GAG7B,OAFGhB,EAAIkB,MAAM,WAAa/K,EAAE+K,MAAM,cAAa/K,EAAIA,EAAEwJ,OAAO,EAAExJ,EAAEvD,OAAO,GAAK,IAAMuD,EAAE4B,OAAO5B,EAAEvD,OAAO,IACjGoN,EAAIkB,MAAM,QAAU/K,EAAE+K,MAAM,SAAQ/K,EAAIA,EAAE5C,QAAQ,MAAM,MACpD4C,EAAE5C,QAAQ,IAAI,KAEtB,SAASsQ,EAAc9D,EAAMC,EAAKC,GACjC,GAA0B,KAAvBF,EAAK1J,WAAW,KAAc2J,EAAIkB,MAAMqB,GAAa,CACvD,IAAIW,EAAOlD,EAAIzM,QAAQ,OAAO,IAAIA,QAAQ,MAAM,IAAIA,QAAQ,KAAK,IACjE,OAAG0M,GAAO,EAAU4D,EAAc,IAAKX,EAAMjD,GACtC,IAAM4D,EAAc,IAAKX,GAAOjD,GAAO,IAE/C,GAAsC,KAAnCD,EAAI3J,WAAW2J,EAAIpN,OAAS,GAAW,OAAO8Q,EAAc3D,EAAMC,EAAKC,GAC1E,IAAyB,IAAtBD,EAAIlK,QAAQ,KAAa,OAAO6N,EAAe5D,EAAMC,EAAKC,GAC7D,IAAyB,IAAtBD,EAAIlK,QAAQ,KAAa,OAAO8N,EAAe5D,EAAKC,GACvD,GAAyB,KAAtBD,EAAI3J,WAAW,GAAW,MAAO,IAAIwN,EAAc9D,EAAKC,EAAIL,OAAsB,KAAfK,EAAIjI,OAAO,GAAQ,EAAE,GAAGkI,GAC9F,IAAI9J,EACAyL,EAAGuB,EAAIC,EAAIvB,EAAO9G,KAAKwC,IAAI0C,GAAM6B,EAAO7B,EAAM,EAAI,IAAM,GAC5D,GAAGD,EAAIkB,MAAM,SAAU,OAAOY,EAAOtH,EAAKqH,EAAK7B,EAAIpN,QACnD,GAAGoN,EAAIkB,MAAM,WAEZ,OADA/K,EAAK,GAAG8J,EAAiB,IAARA,IAAW9J,EAAI,IACzBA,EAAEvD,OAASoN,EAAIpN,OAASuD,EAAIsM,EAAMzC,EAAIL,OAAO,EAAEK,EAAIpN,OAAOuD,EAAEvD,SAAWuD,EAE/E,GAAIyL,EAAI5B,EAAIkB,MAAMQ,GAAS,OAAOW,EAAaT,EAAGC,EAAMC,GACxD,GAAG9B,EAAIkB,MAAM,UAAW,OAAOY,EAAOtH,EAAKqH,EAAK7B,EAAIpN,OAASoN,EAAIlK,QAAQ,MACzE,GAAI8L,EAAI5B,EAAIkB,MAAMoB,GAIjB,OAHFnM,GAAK,GAAG8J,GAAK1M,QAAQ,aAAa,MAAMkP,EAAMb,EAAE,KAAKrO,QAAQ,MAAM,IAAIkP,EAAMb,EAAE,KAC7EzL,EAAIA,EAAE5C,QAAQ,YAAW,SAAS+N,EAAIC,GACxC,MAAO,IAAMA,EAAKlH,EAAK,IAAKoI,EAAMb,EAAE,IAAIhP,OAAO2O,EAAG3O,YAClB,IAAvBoN,EAAIlK,QAAQ,MAAeK,EAAIA,EAAE5C,QAAQ,OAAO,KAGxD,GADAyM,EAAMA,EAAIzM,QAAQ,YAAa,MAC3BqO,EAAI5B,EAAIkB,MAAM,gBACjB,OAAOY,GAAQ,GAAGD,GAAMtO,QAAQ,kBAAkB,OAAOA,QAAQ,YAAY,OAAOA,QAAQ,OAAOqO,EAAE,GAAGhP,OAAO,KAAK,KAErH,GAAIgP,EAAI5B,EAAIkB,MAAM,qBAAuB,OAAOY,EAAOxB,EAAU,GAAGuB,GACpE,GAAID,EAAI5B,EAAIkB,MAAM,qBACjB,OAAOjB,EAAM,EAAI,IAAM4D,EAAc9D,EAAMC,GAAMC,GAAOK,EAAU,GAAGL,GAAQ,IAAM5F,EAAK,IAAIuH,EAAE,GAAGhP,QAElG,GAAIgP,EAAI5B,EAAIkB,MAAM,YAAc,OAAO2C,EAAc9D,EAAKC,EAAIzM,QAAQ,SAAS,IAAI0M,GACnF,GAAI2B,EAAI5B,EAAIkB,MAAM,2BAGjB,OAFA/K,EAAIiE,EAAQyJ,EAAc9D,EAAMC,EAAIzM,QAAQ,SAAS,IAAK0M,IAC1DkD,EAAK,EACE/I,EAAQA,EAAQ4F,EAAIzM,QAAQ,MAAM,KAAKA,QAAQ,SAAQ,SAASyD,GAAG,OAAOmM,EAAGhN,EAAEvD,OAAOuD,EAAE4B,OAAOoL,KAAU,MAAJnM,EAAQ,IAAI,OAEzH,GAAGgJ,EAAIkB,MAAMsB,GAEZ,OADArM,EAAI0N,EAAc9D,EAAM,aAAcE,GAC/B,IAAM9J,EAAEwJ,OAAO,EAAE,GAAK,KAAOxJ,EAAEwJ,OAAO,EAAG,GAAK,IAAMxJ,EAAEwJ,OAAO,GAErE,IAAI0D,EAAK,GACT,GAAIzB,EAAI5B,EAAIkB,MAAM,+BAUjB,OATAiC,EAAKpI,KAAKuI,IAAI1B,EAAE,GAAGhP,OAAO,GAC1BwQ,EAAK1H,EAAKmG,EAAM9G,KAAKI,IAAI,GAAGgI,GAAI,GAAG,GACnChN,EAAI,GAAK2L,EACTuB,EAAK3C,EAAU,IAAKkB,EAAE,GAAIwB,EAAG,IACA,KAA1BC,EAAGtL,OAAOsL,EAAGzQ,OAAO,KAAWyQ,EAAKA,EAAG1D,OAAO,EAAE0D,EAAGzQ,OAAO,GAAK,KAClEuD,GAAKkN,EAAKzB,EAAE,GAAK,IAAMA,EAAE,GACzByB,EAAKxI,EAAMuI,EAAG,GAAGD,GACdE,EAAGzQ,OAASgP,EAAE,GAAGhP,SAAQyQ,EAAKZ,EAAMb,EAAE,GAAGjC,OAAOiC,EAAE,GAAGhP,OAAOyQ,EAAGzQ,SAAWyQ,GAC7ElN,GAAKkN,EACElN,EAER,GAAIyL,EAAI5B,EAAIkB,MAAM,iCAGjB,OAFAiC,EAAKpI,KAAKuI,IAAIvI,KAAKwI,IAAI3B,EAAE,GAAGhP,OAAQgP,EAAE,GAAGhP,QAAQ,GACjDwQ,EAAK1H,EAAKmG,EAAM9G,KAAKI,IAAI,GAAGgI,GAAI,GAAG,GAC5BrB,GAAQsB,EAAG,KAAKA,EAAG,GAAK,GAAK,MAAQ,KAAOA,EAAG,GAAKxI,EAAKwI,EAAG,GAAGD,GAAMvB,EAAE,GAAK,IAAMA,EAAE,GAAK/G,EAAMuI,EAAG,GAAGD,GAAK9I,EAAK,IAAK,EAAE8I,EAAG,EAAIvB,EAAE,GAAGhP,OAASgP,EAAE,GAAGhP,SAExJ,GAAIgP,EAAI5B,EAAIkB,MAAM,YAEjB,OADA/K,EAAI,GAAK8J,EACND,EAAIpN,QAAUuD,EAAEvD,OAAeuD,EAC3BsM,EAAMzC,EAAIL,OAAO,EAAEK,EAAIpN,OAAOuD,EAAEvD,SAAWuD,EAEnD,GAAIyL,EAAI5B,EAAIkB,MAAM,sBAAwB,CACzC/K,EAAI,GAAK8J,EAAId,QAAQpE,KAAKuI,IAAI1B,EAAE,GAAGhP,OAAO,KAAKW,QAAQ,YAAY,MACnE4P,EAAKhN,EAAEL,QAAQ,KACf,IAAI0N,EAAOxD,EAAIlK,QAAQ,KAAOqN,EAAIM,EAAOzD,EAAIpN,OAASuD,EAAEvD,OAAS4Q,EACjE,OAAOf,EAAMzC,EAAIL,OAAO,EAAE6D,GAAQrN,EAAI6J,EAAIL,OAAOK,EAAIpN,OAAO6Q,IAE7D,GAAI7B,EAAI5B,EAAIkB,MAAM,sBACjB,OAAOjB,EAAM,EAAI,IAAM4D,EAAc9D,EAAMC,GAAMC,GAAOK,EAAS,GAAGL,GAAK1M,QAAQ,aAAa,OAAOA,QAAQ,SAAQ,SAAS+N,GAAM,MAAO,OAASA,EAAG1O,OAAS,EAAI4H,EAAK,EAAE,EAAE8G,EAAG1O,QAAU,IAAM0O,KAAS,IAAM9G,EAAK,EAAEoH,EAAE,GAAGhP,QAE5N,OAAOoN,GACN,IAAK,UACL,IAAK,SACL,IAAK,QAAS,IAAIhJ,EAAIsJ,EAAS,GAAGuB,GAAO,MAAa,MAAN7K,EAAY8K,EAAO9K,EAAI,GACvE,QACC,GAAGgJ,EAAIkB,MAAM,aAAc,OAAO2C,EAAc9D,EAAMC,EAAIlJ,MAAM,EAAEkJ,EAAI8D,YAAY,MAAO7D,GAAOwC,EAAMzC,EAAIlJ,MAAMkJ,EAAI8D,YAAY,OAElI,MAAM,IAAIlK,MAAM,uBAAyBoG,EAAM,KAEhD,OAAO,SAAmBD,EAAMC,EAAKC,GACpC,OAAY,EAAJA,KAAWA,EAAM4D,EAAc9D,EAAMC,EAAKC,GAAOgD,EAAclD,EAAMC,EAAKC,IAlRnE,GAoRhB,SAAS8D,EAAU/D,GAGlB,IAFA,IAAIjD,EAAM,GACNiH,GAAS,EACL1P,EAAI,EAAGiM,EAAI,EAAGjM,EAAI0L,EAAIpN,SAAU0B,EAAG,OAAe0L,EAAI3J,WAAW/B,IACxE,KAAK,GACJ0P,GAAUA,EAAQ,MACnB,KAAK,GAAI,KAAK,GAAI,KAAK,KACpB1P,EAAG,MACN,KAAK,GACJyI,EAAIA,EAAInK,QAAUoN,EAAIL,OAAOY,EAAEjM,EAAEiM,GACjCA,EAAIjM,EAAE,EAGR,GADAyI,EAAIA,EAAInK,QAAUoN,EAAIL,OAAOY,IACf,IAAXyD,EAAiB,MAAM,IAAIpK,MAAM,WAAaoG,EAAM,0BACvD,OAAOjD,EAER7C,EAAI+J,OAASF,EACb,IAAIG,EAAU,gBACd,SAASC,EAAYnE,GACpB,IAAI1L,EAAI,EAAegG,EAAI,GAAInE,EAAI,GACnC,MAAM7B,EAAI0L,EAAIpN,OACb,OAAQ0H,EAAI0F,EAAIjI,OAAOzD,IACtB,IAAK,IAAQ+G,EAAU2E,EAAK1L,KAAIA,GAAI,GAAGA,IAAK,MAC5C,IAAK,IAAK,KAAsC,KAAzB0L,EAAI3J,aAAa/B,IAAcA,EAAI0L,EAAIpN,UAAW0B,IAAKA,EAAG,MACjF,IAAK,KAAMA,GAAG,EAAG,MACjB,IAAK,IAAKA,GAAG,EAAG,MAChB,IAAK,MAAOA,EAAG,MACf,IAAK,IAAK,IAAK,IACd,GAAuB,MAApB0L,EAAIjI,OAAOzD,EAAE,IAAkC,MAApB0L,EAAIjI,OAAOzD,EAAE,GAAY,OAAO,EAE/D,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAEvD,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAAO,EAC7E,IAAK,IAAK,IAAK,IACd,GAAsC,QAAnC0L,EAAIL,OAAOrL,EAAG,GAAG8P,cAAyB,OAAO,EACpD,GAAsC,UAAnCpE,EAAIL,OAAOrL,EAAG,GAAG8P,cAA2B,OAAO,IACpD9P,EAAG,MACN,IAAK,IACJ6B,EAAImE,EACJ,MAA0B,MAApB0F,EAAIjI,OAAOzD,MAAgBA,EAAI0L,EAAIpN,OAAQuD,GAAK6J,EAAIjI,OAAOzD,GACjE,GAAG6B,EAAE+K,MAAMgD,GAAU,OAAO,EAC5B,MACD,IAAK,IAEL,IAAK,IAAK,IAAK,IACd,MAAM5P,EAAI0L,EAAIpN,SAAW,YAAYkD,QAAQwE,EAAE0F,EAAIjI,SAASzD,KAAO,GAAS,MAAHgG,GAA8B,KAAnB0F,EAAIjI,OAAOzD,EAAE,IAAa,KAAKwB,QAAQkK,EAAIjI,OAAOzD,EAAE,KAAK,IAC7I,MACD,IAAK,IAAK,MAAM0L,EAAIjI,SAASzD,KAAOgG,GAAgB,MACpD,IAAK,MAAOhG,EAAuB,KAAjB0L,EAAIjI,OAAOzD,IAA8B,KAAjB0L,EAAIjI,OAAOzD,MAAaA,EAAG,MACrE,IAAK,IAAK,IAAK,MAAOA,EAAG,MACzB,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACpF,MAAMA,EAAI0L,EAAIpN,QAAU,aAAakD,QAAQkK,EAAIjI,SAASzD,KAAO,GAAgB,MAClF,IAAK,MAAOA,EAAG,MACf,UAAWA,EAAG,MAGhB,OAAO,EAGR,SAAS+P,EAASrE,EAAKvF,EAAGgC,EAAM6H,GAC/B,IAA8CC,EAAIhE,EAAGoC,EAAjD5F,EAAM,GAAI5G,EAAI,GAAI7B,EAAI,EAAGgG,EAAI,GAAIkK,EAAI,IACrCC,EAAG,IAEP,MAAMnQ,EAAI0L,EAAIpN,OACb,OAAQ0H,EAAI0F,EAAIjI,OAAOzD,IACtB,IAAK,IACJ,IAAI+G,EAAU2E,EAAK1L,GAAI,MAAM,IAAIsF,MAAM,0BAA4BU,EAAI,OAAQ0F,GAC/EjD,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAKF,EAAE,WAAYnG,GAAG,EAAG,MAC/C,IAAK,IACJ,IAAI6B,EAAE,GAAgC,MAA5BwM,EAAG3C,EAAI3J,aAAa/B,KAAcA,EAAI0L,EAAIpN,QAASuD,GAAKI,OAAOC,aAAamM,GACtF5F,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAKF,EAAEtE,KAAM7B,EAAG,MACtC,IAAK,KAAM,IAAI2K,EAAIe,EAAIjI,SAASzD,GAAIqG,EAAW,MAANsE,GAAmB,MAANA,EAAaA,EAAI,IACtElC,EAAIA,EAAInK,QAAU,CAAC+H,EAAEA,EAAGF,EAAEwE,KAAM3K,EAAG,MACpC,IAAK,IAAKyI,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAKF,EAAE,KAAMnG,GAAG,EAAG,MAClD,IAAK,IACJyI,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAKF,EAAEA,KAAMnG,EAAG,MACtC,IAAK,IAAK,IAAK,IACd,GAAuB,MAApB0L,EAAIjI,OAAOzD,EAAE,IAAkC,MAApB0L,EAAIjI,OAAOzD,EAAE,GAAY,CACtD,GAAO,MAAJiQ,IAAYA,EAAG/H,EAAgB/B,EAAGgC,EAA0B,MAApBuD,EAAIjI,OAAOzD,EAAE,IAAoB,MAAJiQ,GAAU,MAAO,GACzFxH,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAKF,EAAEuF,EAAIL,OAAOrL,EAAE,IAAKkQ,EAAMlK,EAAGhG,GAAG,EAAG,MAG/D,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtDgG,EAAIA,EAAEpJ,cAEP,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChE,GAAGuJ,EAAI,EAAG,MAAO,GACjB,GAAO,MAAJ8J,IAAYA,EAAG/H,EAAgB/B,EAAGgC,GAAc,MAAJ8H,GAAU,MAAO,GAChEpO,EAAImE,EAAG,QAAQhG,EAAI0L,EAAIpN,QAAUoN,EAAIjI,OAAOzD,GAAGpD,gBAAkBoJ,EAAGnE,GAAGmE,EAC9D,MAANA,GAAmC,MAAtBkK,EAAItT,gBAAuBoJ,EAAI,KACtC,MAANA,IAAWA,EAAImK,GAClB1H,EAAIA,EAAInK,QAAU,CAAC+H,EAAEL,EAAGG,EAAEtE,GAAIqO,EAAMlK,EAAG,MACxC,IAAK,IAAK,IAAK,IACd,IAAIiC,EAAE,CAAC5B,EAAEL,EAAGG,EAAEH,GAKd,GAJO,MAAJiK,IAAUA,EAAG/H,EAAgB/B,EAAGgC,IACG,QAAnCuD,EAAIL,OAAOrL,EAAG,GAAG8P,eAAkC,MAAJG,IAAUhI,EAAE9B,EAAI8J,EAAGnH,GAAK,GAAK,IAAM,KAAKb,EAAE5B,EAAI,IAAK8J,EAAG,IAAInQ,GAAG,GACrE,UAAlC0L,EAAIL,OAAOrL,EAAE,GAAG8P,eAAoC,MAAJG,IAAUhI,EAAE9B,EAAI8J,EAAGnH,GAAK,GAAK,KAAO,MAAMb,EAAE5B,EAAI,IAAKrG,GAAG,EAAGmQ,EAAG,MAC/GlI,EAAE5B,EAAI,MAAOrG,GACb,MAAJiQ,GAAoB,MAARhI,EAAE5B,EAAW,MAAO,GACnCoC,EAAIA,EAAInK,QAAU2J,EAAGiI,EAAMlK,EAAG,MAC/B,IAAK,IACJnE,EAAImE,EACJ,MAA0B,MAApB0F,EAAIjI,OAAOzD,MAAgBA,EAAI0L,EAAIpN,OAAQuD,GAAK6J,EAAIjI,OAAOzD,GACjE,GAAmB,MAAhB6B,EAAEW,OAAO,GAAY,KAAM,4BAA8BX,EAAI,IAChE,GAAGA,EAAE+K,MAAMgD,GAAU,CACpB,GAAO,MAAJK,IAAYA,EAAG/H,EAAgB/B,EAAGgC,GAAc,MAAJ8H,GAAU,MAAO,GAChExH,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAKF,EAAEtE,EAAEjF,eAC9BsT,EAAMrO,EAAE4B,OAAO,QACN5B,EAAEL,QAAQ,MAAQ,IAC3BK,GAAKA,EAAE+K,MAAM,kBAAkB,IAAI,IAAI,IACnCiD,EAAYnE,KAAMjD,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAIF,EAAEtE,KAElD,MAED,IAAK,IACJ,GAAS,MAANoO,EAAY,CACdpO,EAAImE,EAAG,QAAQhG,EAAI0L,EAAIpN,QAAgC,OAArB0H,EAAE0F,EAAIjI,OAAOzD,IAAa6B,GAAKmE,EACjEyC,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAKF,EAAEtE,GAAI,MAGlC,IAAK,IAAK,IAAK,IACdA,EAAImE,EAAG,QAAShG,EAAI0L,EAAIpN,QAAU,YAAYkD,QAAQwE,EAAE0F,EAAIjI,OAAOzD,KAAO,GAAU,MAAHgG,GAA8B,KAAnB0F,EAAIjI,OAAOzD,EAAE,IAAaA,EAAI0L,EAAIpN,OAAS,GAAK,KAAKkD,QAAQkK,EAAIjI,OAAOzD,EAAE,KAAK,EAAI6B,GAAKmE,EACpLyC,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAKF,EAAEtE,GAAI,MACjC,IAAK,IACJA,EAAImE,EAAG,MAAM0F,EAAIjI,SAASzD,KAAOgG,EAAGnE,GAAGmE,EACvCyC,EAAIA,EAAInK,QAAU,CAAC+H,EAAEL,EAAGG,EAAEtE,GAAIqO,EAAMlK,EAAG,MACxC,IAAK,MAAOhG,EAAuB,KAAjB0L,EAAIjI,OAAOzD,IAA8B,KAAjB0L,EAAIjI,OAAOzD,MAAaA,EAAG,MACrE,IAAK,IAAK,IAAK,IAAKyI,EAAIA,EAAInK,QAAU,CAAC+H,EAAU,IAAP2J,EAAS,IAAIhK,EAAIG,EAAEH,KAAMhG,EAAG,MACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACpF6B,EAAImE,EAAG,MAAMhG,EAAI0L,EAAIpN,QAAU,aAAakD,QAAQkK,EAAIjI,SAASzD,KAAO,EAAG6B,GAAG6J,EAAIjI,OAAOzD,GACzFyI,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAKF,EAAEtE,GAAI,MACjC,IAAK,IAAK4G,EAAIA,EAAInK,QAAU,CAAC+H,EAAEL,EAAGG,EAAEH,KAAMhG,EAAG,MAC7C,QACC,IAA2D,IAAxD,wCAAwCwB,QAAQwE,GAAW,MAAM,IAAIV,MAAM,0BAA4BU,EAAI,OAAS0F,GACvHjD,EAAIA,EAAInK,QAAU,CAAC+H,EAAE,IAAKF,EAAEH,KAAMhG,EAAG,MAGxC,IAAqBoQ,EAAjBC,EAAK,EAAGzE,EAAM,EAClB,IAAI5L,EAAEyI,EAAInK,OAAO,EAAG4R,EAAI,IAAKlQ,GAAK,IAAKA,EACtC,OAAOyI,EAAIzI,GAAGqG,GACb,IAAK,IAAK,IAAK,IAAKoC,EAAIzI,GAAGqG,EAAI8J,EAAID,EAAI,IAAQG,EAAK,IAAGA,EAAK,GAAG,MAC/D,IAAK,KACAD,EAAI3H,EAAIzI,GAAGmG,EAAEyG,MAAM,YAAWhB,EAAInF,KAAKwI,IAAIrD,EAAIwE,EAAI,GAAG9R,OAAO,IAC9D+R,EAAK,IAAGA,EAAK,GAEjB,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKH,EAAIzH,EAAIzI,GAAGqG,EAAG,MACtD,IAAK,IAAgB,MAAR6J,IAAezH,EAAIzI,GAAGqG,EAAI,IAAQgK,EAAK,IAAGA,EAAK,IAAK,MACjE,IAAK,IACJ,MACD,IAAK,IACDA,EAAK,GAAK5H,EAAIzI,GAAGmG,EAAEyG,MAAM,UAASyD,EAAK,GACvCA,EAAK,GAAK5H,EAAIzI,GAAGmG,EAAEyG,MAAM,UAASyD,EAAK,GACvCA,EAAK,GAAK5H,EAAIzI,GAAGmG,EAAEyG,MAAM,UAASyD,EAAK,GAG7C,OAAOA,GACN,KAAK,EAAG,MACR,KAAK,EACJJ,EAAGtH,GAAK,KAAOsH,EAAGtH,EAAI,IAAKsH,EAAGjH,GAC3BiH,EAAGjH,GAAM,KAAMiH,EAAGjH,EAAI,IAAKiH,EAAGlH,GAC9BkH,EAAGlH,GAAM,KAAMkH,EAAGlH,EAAI,IAAKkH,EAAGnH,GACjC,MACD,KAAK,EACJmH,EAAGtH,GAAK,KAAOsH,EAAGtH,EAAI,IAAKsH,EAAGjH,GAC3BiH,EAAGjH,GAAM,KAAMiH,EAAGjH,EAAI,IAAKiH,EAAGlH,GACjC,MAGF,IAAeuH,EAAXC,EAAO,GACX,IAAIvQ,EAAE,EAAGA,EAAIyI,EAAInK,SAAU0B,EAC1B,OAAOyI,EAAIzI,GAAGqG,GACb,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MACxC,IAAK,IAAKoC,EAAIzI,GAAGmG,EAAI,GAAIsC,EAAIzI,GAAGqG,EAAI,IAAK,MACzC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAClGoC,EAAIzI,GAAGmG,EAAIqF,EAAW/C,EAAIzI,GAAGqG,EAAEtE,WAAW,GAAI0G,EAAIzI,GAAGmG,EAAG8J,EAAIrE,GACxDnD,EAAIzI,GAAGqG,EAAI,IAAK,MACjB,IAAK,IAAK,IAAK,IAAK,IAAK,IACxBiK,EAAKtQ,EAAE,EACP,MAAiB,MAAXyI,EAAI6H,KACS,OAAjBtK,EAAEyC,EAAI6H,GAAIjK,IAAoB,MAANL,IACjB,MAANA,GAAmB,MAANA,IAA2B,MAAbyC,EAAI6H,EAAG,KAA+B,MAAhB7H,EAAI6H,EAAG,GAAGjK,GAA6B,MAAhBoC,EAAI6H,EAAG,GAAGjK,GAA6B,MAAhBoC,EAAI6H,EAAG,GAAGnK,IAC7F,MAAbsC,EAAIzI,GAAGqG,IAAoB,MAANL,GAAmB,MAANA,GAAmB,MAANA,IACzC,MAANA,IAA4B,MAAdyC,EAAI6H,GAAInK,GAA2B,MAAdsC,EAAI6H,GAAInK,GAA0B,MAAbsC,EAAI6H,EAAG,IAA6B,KAAf7H,EAAI6H,EAAG,GAAGjK,IAExFoC,EAAIzI,GAAGmG,GAAKsC,EAAI6H,GAAInK,EACpBsC,EAAI6H,GAAM,CAACnK,EAAE,GAAIE,EAAE,OAAQiK,EAE5BC,GAAQ9H,EAAIzI,GAAGmG,EACfnG,EAAIsQ,EAAG,EAAG,MACX,IAAK,IAAK7H,EAAIzI,GAAGqG,EAAI,IAAKoC,EAAIzI,GAAGmG,EAAImF,EAAYnF,EAAEgC,GAAO,MAG5D,IAAaqI,EAAKC,EAAdC,EAAK,GACT,GAAGH,EAAKjS,OAAS,EAAG,CACM,IAAtBiS,EAAKxO,WAAW,IAClByO,EAAOrK,EAAE,GAA0B,KAAvBoK,EAAKxO,WAAW,IAAaoE,EAAIA,EAC7CsK,EAAOrE,EAAU,IAAKmE,EAAMC,KAE5BA,EAAOrK,EAAE,GAAK6J,EAAO,GAAK7J,EAAIA,EAC9BsK,EAAOrE,EAAU,IAAKmE,EAAMC,GACzBA,EAAM,GAAK/H,EAAI,IAAkB,KAAZA,EAAI,GAAGpC,IAC9BoK,EAAOA,EAAKpF,OAAO,GACnB5C,EAAI,GAAGtC,EAAI,IAAMsC,EAAI,GAAGtC,IAG1BmK,EAAGG,EAAKnS,OAAO,EACf,IAAIqS,EAAQlI,EAAInK,OAChB,IAAI0B,EAAE,EAAGA,EAAIyI,EAAInK,SAAU0B,EAAG,GAAa,MAAVyI,EAAIzI,IAA0B,KAAZyI,EAAIzI,GAAGqG,GAAYoC,EAAIzI,GAAGmG,EAAE3E,QAAQ,MAAQ,EAAG,CAAEmP,EAAQ3Q,EAAG,MAC/G,IAAI4Q,EAAMnI,EAAInK,OACd,GAAGqS,IAAUlI,EAAInK,SAAiC,IAAvBmS,EAAKjP,QAAQ,KAAa,CACpD,IAAIxB,EAAEyI,EAAInK,OAAO,EAAG0B,GAAI,IAAIA,EACd,MAAVyI,EAAIzI,KAA2C,IAA7B,MAAMwB,QAAQiH,EAAIzI,GAAGqG,KACvCiK,GAAI7H,EAAIzI,GAAGmG,EAAE7H,OAAO,GAAKgS,GAAM7H,EAAIzI,GAAGmG,EAAE7H,OAAQmK,EAAIzI,GAAGmG,EAAIsK,EAAKpF,OAAOiF,EAAG,EAAG7H,EAAIzI,GAAGmG,EAAE7H,SACjFgS,EAAK,EAAG7H,EAAIzI,GAAGmG,EAAI,IACpBsC,EAAIzI,GAAGmG,EAAIsK,EAAKpF,OAAO,EAAGiF,EAAG,GAAIA,GAAM,GAC9C7H,EAAIzI,GAAGqG,EAAI,IACXuK,EAAQ5Q,GAENsQ,GAAI,GAAKM,EAAMnI,EAAInK,SAAQmK,EAAImI,GAAOzK,EAAIsK,EAAKpF,OAAO,EAAEiF,EAAG,GAAK7H,EAAImI,GAAOzK,QAE1E,GAAGwK,IAAUlI,EAAInK,SAAiC,IAAvBmS,EAAKjP,QAAQ,KAAa,CAEzD,IADA8O,EAAKG,EAAKjP,QAAQ,KAAK,EACnBxB,EAAE2Q,EAAO3Q,GAAI,IAAKA,EACrB,GAAa,MAAVyI,EAAIzI,KAA2C,IAA7B,MAAMwB,QAAQiH,EAAIzI,GAAGqG,GAA1C,CAGA,IAFA4F,EAAExD,EAAIzI,GAAGmG,EAAE3E,QAAQ,MAAM,GAAGxB,IAAI2Q,EAAMlI,EAAIzI,GAAGmG,EAAE3E,QAAQ,KAAK,EAAEiH,EAAIzI,GAAGmG,EAAE7H,OAAO,EAC9EoS,EAAKjI,EAAIzI,GAAGmG,EAAEkF,OAAOY,EAAE,GACjBA,GAAG,IAAKA,EACVqE,GAAI,IAA6B,MAAvB7H,EAAIzI,GAAGmG,EAAE1C,OAAOwI,IAAqC,MAAvBxD,EAAIzI,GAAGmG,EAAE1C,OAAOwI,MAAayE,EAAKD,EAAKhN,OAAO6M,KAAQI,GAElGjI,EAAIzI,GAAGmG,EAAIuK,EACXjI,EAAIzI,GAAGqG,EAAI,IACXuK,EAAQ5Q,EAIT,IAFGsQ,GAAI,GAAKM,EAAMnI,EAAInK,SAAQmK,EAAImI,GAAOzK,EAAIsK,EAAKpF,OAAO,EAAEiF,EAAG,GAAK7H,EAAImI,GAAOzK,GAC9EmK,EAAKG,EAAKjP,QAAQ,KAAK,EACnBxB,EAAE2Q,EAAO3Q,EAAEyI,EAAInK,SAAU0B,EAC5B,GAAa,MAAVyI,EAAIzI,MAA4C,IAA7B,MAAMwB,QAAQiH,EAAIzI,GAAGqG,IAAarG,IAAM2Q,GAA9D,CAGA,IAFA1E,EAAExD,EAAIzI,GAAGmG,EAAE3E,QAAQ,MAAM,GAAGxB,IAAI2Q,EAAMlI,EAAIzI,GAAGmG,EAAE3E,QAAQ,KAAK,EAAE,EAC9DkP,EAAKjI,EAAIzI,GAAGmG,EAAEkF,OAAO,EAAEY,GACjBA,EAAExD,EAAIzI,GAAGmG,EAAE7H,SAAU2N,EACvBqE,EAAGG,EAAKnS,SAAQoS,GAAMD,EAAKhN,OAAO6M,MAEtC7H,EAAIzI,GAAGmG,EAAIuK,EACXjI,EAAIzI,GAAGqG,EAAI,IACXuK,EAAQ5Q,IAIX,IAAIA,EAAE,EAAGA,EAAEyI,EAAInK,SAAU0B,EAAgB,MAAVyI,EAAIzI,IAAc,MAAMwB,QAAQiH,EAAIzI,GAAGqG,IAAI,IACzEmK,EAAOR,EAAM,GAAK7J,EAAI,GAAKnG,EAAE,GAAoB,MAAfyI,EAAIzI,EAAE,GAAGmG,GAAaA,EAAEA,EAC1DsC,EAAIzI,GAAGmG,EAAIiG,EAAU3D,EAAIzI,GAAGqG,EAAGoC,EAAIzI,GAAGmG,EAAGqK,GACzC/H,EAAIzI,GAAGqG,EAAI,KAEZ,IAAIwK,EAAS,GACb,IAAI7Q,EAAE,EAAGA,IAAMyI,EAAInK,SAAU0B,EAAgB,MAAVyI,EAAIzI,KAAY6Q,GAAUpI,EAAIzI,GAAGmG,GACpE,OAAO0K,EArMRjL,EAAIkL,QAAUjB,EAuMdjK,EAAImL,MAAQhB,EACZ,IAAIiB,EAAU,UACVC,EAAW,wCACf,SAASC,EAAQ/K,EAAGwH,GACnB,GAAS,MAANA,EAAY,OAAO,EACtB,IAAIwD,EAASC,WAAWzD,EAAG,IAC3B,OAAOA,EAAG,IACT,IAAK,IAAM,GAAGxH,GAAKgL,EAAQ,OAAO,EAAM,MACxC,IAAK,IAAM,GAAGhL,EAAKgL,EAAQ,OAAO,EAAM,MACxC,IAAK,IAAM,GAAGhL,EAAKgL,EAAQ,OAAO,EAAM,MACxC,IAAK,KAAM,GAAGhL,GAAKgL,EAAQ,OAAO,EAAM,MACxC,IAAK,KAAM,GAAGhL,GAAKgL,EAAQ,OAAO,EAAM,MACxC,IAAK,KAAM,GAAGhL,GAAKgL,EAAQ,OAAO,EAAM,MAEzC,OAAO,EAER,SAASE,EAAWC,EAAGnL,GACtB,IAAIuF,EAAM+D,EAAU6B,GAChBrL,EAAIyF,EAAIpN,OAAQiT,EAAM7F,EAAIzF,EAAE,GAAGzE,QAAQ,KAE3C,GADGyE,EAAE,GAAKsL,GAAK,KAAKtL,EACjByF,EAAIpN,OAAS,EAAG,MAAM,IAAIgH,MAAM,iCAAmCoG,EAAIvJ,KAAK,KAAO,KACtF,GAAgB,kBAANgE,EAAgB,MAAO,CAAC,EAAkB,IAAfuF,EAAIpN,QAAgBiT,GAAK,EAAE7F,EAAIA,EAAIpN,OAAO,GAAG,KAClF,OAAOoN,EAAIpN,QACV,KAAK,EAAGoN,EAAM6F,GAAK,EAAI,CAAC,UAAW,UAAW,UAAW7F,EAAI,IAAM,CAACA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAI,KAAM,MAClG,KAAK,EAAGA,EAAM6F,GAAK,EAAI,CAAC7F,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAAM,CAACA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAI,KAAM,MACzF,KAAK,EAAGA,EAAM6F,GAAK,EAAI,CAAC7F,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAAM,CAACA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAI,KAAM,MACzF,KAAK,EAAG,MAET,IAAIoD,EAAK3I,EAAI,EAAIuF,EAAI,GAAKvF,EAAI,EAAIuF,EAAI,GAAKA,EAAI,GAC/C,IAA4B,IAAzBA,EAAI,GAAGlK,QAAQ,OAAwC,IAAzBkK,EAAI,GAAGlK,QAAQ,KAAa,MAAO,CAACyE,EAAG6I,GACxE,GAA4B,MAAzBpD,EAAI,GAAGkB,MAAMoE,IAA6C,MAAzBtF,EAAI,GAAGkB,MAAMoE,GAAkB,CAClE,IAAIQ,EAAK9F,EAAI,GAAGkB,MAAMqE,GAClBQ,EAAK/F,EAAI,GAAGkB,MAAMqE,GACtB,OAAOC,EAAQ/K,EAAGqL,GAAM,CAACvL,EAAGyF,EAAI,IAAMwF,EAAQ/K,EAAGsL,GAAM,CAACxL,EAAGyF,EAAI,IAAM,CAACzF,EAAGyF,EAAU,MAAN8F,GAAoB,MAANC,EAAa,EAAI,IAE7G,MAAO,CAACxL,EAAG6I,GAEZ,SAASvD,EAAOG,EAAIvF,EAAEtE,GACb,MAALA,IAAWA,EAAI,IAClB,IAAI0K,EAAO,GACX,cAAcb,GACb,IAAK,SAC4Ba,EAAtB,UAAPb,GAAmB7J,EAAE6P,OAAe7P,EAAE6P,OAC7BhG,EACZ,MACD,IAAK,SACsBa,EAAhB,IAAPb,GAAa7J,EAAE6P,OAAe7P,EAAE6P,QACX,MAAX7P,EAAE8P,MAAiB9P,EAAO,MAAIsF,GAAWuE,GACtD,MAEF,GAAG3E,EAAUwF,EAAK,GAAI,OAAOjB,EAAYnF,EAAGtE,GACzCsE,aAAagD,OAAMhD,EAAI2D,EAAc3D,EAAGtE,EAAEqH,WAC7C,IAAIoI,EAAID,EAAW9E,EAAMpG,GACzB,GAAGY,EAAUuK,EAAE,IAAK,OAAOhG,EAAYnF,EAAGtE,GAC1C,IAAS,IAANsE,EAAYA,EAAI,YAAa,IAAS,IAANA,EAAaA,EAAI,aAC/C,GAAS,KAANA,GAAiB,MAALA,EAAW,MAAO,GACtC,OAAO4J,EAASuB,EAAE,GAAInL,EAAGtE,EAAGyP,EAAE,IAE/B,SAASM,EAAWlG,EAAKgB,GACxB,GAAiB,iBAAPA,EAAiB,CAC1BA,GAAOA,IAAQ,EACjB,IAAI,IAAI1M,EAAI,EAAGA,EAAI,MAAUA,EAC7B,QAAmBlD,GAAhBqK,EAAUnH,IACV,GAAGmH,EAAUnH,IAAM0L,EAAK,CAAEgB,EAAM1M,EAAG,YADH0M,EAAM,IAAGA,EAAM1M,GAG/C0M,EAAM,IAAGA,EAAM,KAGjB,OADDvF,EAAUuF,GAAOhB,EACTgB,EAER9G,EAAIiM,KAAOD,EACXhM,EAAIkM,OAAS3K,EACbvB,EAAImM,UAAY,WAAuB,OAAO5K,GAC9CvB,EAAIoM,WAAa,SAAoBC,GACpC,IAAI,IAAIjS,EAAE,EAAM,KAAHA,IAAaA,OACXlD,IAAXmV,EAAIjS,IAAkB4R,EAAWK,EAAIjS,GAAIA,IAE9C4F,EAAIsB,WAAaA,EACjBtB,EAAI2F,OAASA,GAEb1F,EAASD,GAET,IAAIsM,EAAqC,CACxC,iBAAkB,UAClB,eAAgBtM,EAAIkM,OAAO,IAC3B,YAAa,sBACb,cAAelM,EAAIkM,OAAO,IAC1B,aAAclM,EAAIkM,OAAO,IACzB,YAAalM,EAAIkM,OAAO,IACxB,cAAelM,EAAIkM,OAAO,IAC1B,aAAclM,EAAIkM,OAAO,IACzB,SAAY,uCACZ,MAASlM,EAAIkM,OAAO,GACpB,SAAYlM,EAAIkM,OAAO,GACvB,QAAWlM,EAAIkM,OAAO,IACtB,WAAclM,EAAIkM,OAAO,IACzB,SAAU,qBACV,aAAc,0BACd,SAAU,sBAGPK,EAAmC,CACtC,EAAK,4BACL,EAAK,iCACL,EAAK,kCACL,EAAK,uCACL,GAAM,UAAW,GAAM,UAAW,GAAM,UAAW,GAAM,UACzD,GAAM,SAAU,GAAM,SAAU,GAAM,SAAU,GAAM,SAAU,GAAM,SACtE,GAAM,UAAW,GAAM,UAAW,GAAM,UAAW,GAAM,UACzD,GAAM,SACN,GAAM,0CACN,GAAM,mDACN,GAAM,kDACN,GAAM,2DACN,GAAM,SAAU,GAAM,SAAU,GAAM,SAAU,GAAM,SAAU,GAAM,SACtE,GAAM,SAAU,GAAM,SAAU,GAAM,SAAU,GAAM,SACtD,GAAM,IACN,GAAM,OACN,GAAM,QACN,GAAM,WACN,GAAM,4BACN,GAAM,iCACN,GAAM,kCACN,GAAM,uCACN,GAAM,KACN,GAAM,QACN,GAAM,QACN,GAAM,UACN,GAAM,SACN,GAAM,SACN,GAAM,WACN,GAAM,QACN,GAAM,SACN,GAAM,OACN,GAAM,UACN,GAAM,cACN,GAAM,QACN,GAAM,YACN,GAAM,UAIHC,EAAc,mCAClB,SAASC,EAAaX,GACrB,IAAIhG,EAAuB,iBAAVgG,EAAqB9L,EAAIkM,OAAOJ,GAAUA,EAE3D,OADAhG,EAAMA,EAAIzM,QAAQmT,EAAa,UACxB,IAAIE,OAAO,IAAM5G,EAAM,KAE/B,SAAS6G,EAAWnE,EAAKsD,EAAQ9E,GAChC,IAAI4F,GAAK,EAAG3J,GAAK,EAAGzC,GAAK,EAAG0C,GAAK,EAAGC,GAAK,EAAGC,GAAK,GAChD0I,EAAO9E,MAAMwF,IAAc,IAAI9U,SAAQ,SAASiH,EAAGvE,GACnD,IAAImG,EAAIuH,SAASd,EAAM5M,EAAE,GAAI,IAC7B,OAAOuE,EAAE3H,cAAc6G,OAAO,IAC7B,IAAK,IAAK+O,EAAIrM,EAAG,MAAO,IAAK,IAAKC,EAAID,EAAG,MACzC,IAAK,IAAK2C,EAAI3C,EAAG,MAAO,IAAK,IAAK6C,EAAI7C,EAAG,MACzC,IAAK,IAAQ2C,GAAK,EAAGC,EAAI5C,EAAQ0C,EAAI1C,EAAG,UAGvC6C,GAAK,IAAW,GAAND,GAAWF,GAAK,IAAKE,EAAIF,EAAGA,GAAK,GAC9C,IAAI4J,GAAY,IAAMD,GAAG,EAAEA,GAAG,IAAIrJ,MAAOG,gBAAgB9G,OAAO,GAAK,KAAO,MAAQqG,GAAG,EAAEA,EAAE,IAAIrG,OAAO,GAAK,KAAO,MAAQ4D,GAAG,EAAEA,EAAE,IAAI5D,OAAO,GACvH,GAAlBiQ,EAAQnU,SAAamU,EAAU,IAAMA,GACnB,GAAlBA,EAAQnU,SAAamU,EAAU,KAAOA,GACzC,IAAIC,GAAY,MAAQ5J,GAAG,EAAEA,EAAE,IAAItG,OAAO,GAAK,KAAO,MAAQuG,GAAG,EAAEA,EAAE,IAAIvG,OAAO,GAAK,KAAO,MAAQwG,GAAG,EAAEA,EAAE,IAAIxG,OAAO,GACtH,OAAS,GAANsG,IAAiB,GAANC,IAAiB,GAANC,EAAgByJ,GAChC,GAAND,IAAiB,GAAN3J,IAAiB,GAANzC,EAAgBsM,EAClCD,EAAU,IAAMC,EAGxB,IAUIC,EAVAC,GAAoB,GAWvB,SAAUC,GAGVA,EAAQF,EAAQ,KAHjB,EAME,SAASA,GAIX,SAASG,IAGR,IAFA,IAAI9M,EAAI,EAAG2L,EAAQ,IAAI1T,MAAM,KAErBsG,EAAG,EAAQ,KAALA,IAAYA,EACzByB,EAAIzB,EACJyB,EAAQ,EAAFA,GAAS,UAAaA,IAAM,EAAOA,IAAM,EAC/CA,EAAQ,EAAFA,GAAS,UAAaA,IAAM,EAAOA,IAAM,EAC/CA,EAAQ,EAAFA,GAAS,UAAaA,IAAM,EAAOA,IAAM,EAC/CA,EAAQ,EAAFA,GAAS,UAAaA,IAAM,EAAOA,IAAM,EAC/CA,EAAQ,EAAFA,GAAS,UAAaA,IAAM,EAAOA,IAAM,EAC/CA,EAAQ,EAAFA,GAAS,UAAaA,IAAM,EAAOA,IAAM,EAC/CA,EAAQ,EAAFA,GAAS,UAAaA,IAAM,EAAOA,IAAM,EAC/CA,EAAQ,EAAFA,GAAS,UAAaA,IAAM,EAAOA,IAAM,EAC/C2L,EAAMpN,GAAKyB,EAGZ,MAA6B,qBAAf+M,WAA6B,IAAIA,WAAWpB,GAASA,EAnBpEgB,EAAMlT,QAAU,QAsBhB,IAAIiJ,EAAIoK,IACR,SAASE,EAAWC,EAAMC,GAEzB,IADA,IAAIC,GAAY,EAARD,EAAWE,EAAIH,EAAK3U,OAAS,EAC7B0B,EAAI,EAAGA,EAAIoT,GAClBD,EAAKA,IAAI,EAAKzK,EAA2B,KAAxByK,EAAEF,EAAKlR,WAAW/B,OACnCmT,EAAKA,IAAI,EAAKzK,EAA2B,KAAxByK,EAAEF,EAAKlR,WAAW/B,OAGpC,OADGA,IAAMoT,IAAGD,EAAKA,IAAI,EAAKzK,EAA2B,KAAxByK,EAAIF,EAAKlR,WAAW/B,OACrC,EAALmT,EAGR,SAASE,EAAUlP,EAAK+O,GACvB,GAAG/O,EAAI7F,OAAS,IAAO,OAAOgV,EAAYnP,EAAK+O,GAE/C,IADA,IAAIC,GAAY,EAARD,EAAWE,EAAIjP,EAAI7F,OAAS,EAC5B0B,EAAI,EAAGA,EAAIoT,GAClBD,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACvBmT,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACvBmT,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACvBmT,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OAExB,MAAMA,EAAIoT,EAAE,EAAGD,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACtC,OAAY,EAALmT,EAGR,SAASG,EAAYnP,EAAK+O,GAEzB,IADA,IAAIC,GAAY,EAARD,EAAWE,EAAIjP,EAAI7F,OAAS,EAC5B0B,EAAI,EAAGA,EAAIoT,GAClBD,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACvBmT,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACvBmT,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACvBmT,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACvBmT,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACvBmT,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACvBmT,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACvBmT,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OAExB,MAAMA,EAAIoT,EAAE,EAAGD,EAAKA,IAAI,EAAKzK,EAAe,KAAZyK,EAAEhP,EAAInE,OACtC,OAAY,EAALmT,EAGR,SAASI,EAAUnF,EAAK8E,GAEvB,IADA,IAC6BlN,EAAGI,EAD5B+M,GAAY,EAARD,EACAlT,EAAI,EAAGoT,EAAEhF,EAAI9P,OAAc0B,EAAIoT,GACtCpN,EAAIoI,EAAIrM,WAAW/B,KAChBgG,EAAI,IACNmN,EAAKA,IAAI,EAAKzK,EAAU,KAAPyK,EAAInN,IACZA,EAAI,MACbmN,EAAKA,IAAI,EAAKzK,EAA0B,KAAvByK,GAAK,IAAMnN,GAAG,EAAG,MAClCmN,EAAKA,IAAI,EAAKzK,EAAqB,KAAlByK,GAAK,IAAO,GAAFnN,MAClBA,GAAK,OAAUA,EAAI,OAC5BA,EAAa,IAAN,KAAFA,GAAYI,EAAwB,KAApBgI,EAAIrM,WAAW/B,KACpCmT,EAAKA,IAAI,EAAKzK,EAAyB,KAAtByK,GAAK,IAAMnN,GAAG,EAAG,KAClCmN,EAAKA,IAAI,EAAKzK,EAA0B,KAAvByK,GAAK,IAAMnN,GAAG,EAAG,MAClCmN,EAAKA,IAAI,EAAKzK,EAAqC,KAAlCyK,GAAK,IAAM/M,GAAG,EAAG,IAAQ,EAAFJ,IAAM,KAC9CmN,EAAKA,IAAI,EAAKzK,EAAqB,KAAlByK,GAAK,IAAO,GAAF/M,OAE3B+M,EAAKA,IAAI,EAAKzK,EAA2B,KAAxByK,GAAK,IAAMnN,GAAG,GAAI,MACnCmN,EAAKA,IAAI,EAAKzK,EAA0B,KAAvByK,GAAK,IAAMnN,GAAG,EAAG,MAClCmN,EAAKA,IAAI,EAAKzK,EAAqB,KAAlByK,GAAK,IAAO,GAAFnN,MAG7B,OAAY,EAALmN,EAERR,EAAMhB,MAAQjJ,EACdiK,EAAMM,KAAOD,EACbL,EAAMxO,IAAMkP,EACZV,EAAMvE,IAAMmF,KAGZ,IAmzCIC,EAnzCAC,EAAM,WACV,IAuFIC,EAvFAtU,EAAU,GAGd,SAASuU,EAAQ1N,EAAGqH,GAEnB,IADA,IAAI8F,EAAInN,EAAEpB,MAAM,KAAM+O,EAAItG,EAAEzI,MAAM,KAC1B7E,EAAI,EAAGgG,EAAI,EAAG6N,EAAIpN,KAAKuI,IAAIoE,EAAE9U,OAAQsV,EAAEtV,QAAS0B,EAAI6T,IAAK7T,EAAG,CACnE,GAAIgG,EAAIoN,EAAEpT,GAAG1B,OAASsV,EAAE5T,GAAG1B,OAAS,OAAO0H,EAC3C,GAAGoN,EAAEpT,IAAM4T,EAAE5T,GAAI,OAAOoT,EAAEpT,GAAK4T,EAAE5T,IAAM,EAAI,EAE5C,OAAOoT,EAAE9U,OAASsV,EAAEtV,OAErB,SAASwV,EAAQC,GAChB,GAA6B,KAA1BA,EAAEtQ,OAAOsQ,EAAEzV,OAAS,GAAW,OAAwC,IAAhCyV,EAAEvR,MAAM,GAAG,GAAGhB,QAAQ,KAAeuS,EAAID,EAAQC,EAAEvR,MAAM,GAAI,IACvG,IAAIwD,EAAI+N,EAAEvE,YAAY,KACtB,OAAe,IAAPxJ,EAAY+N,EAAIA,EAAEvR,MAAM,EAAGwD,EAAE,GAGtC,SAASgO,EAASD,GACjB,GAA6B,KAA1BA,EAAEtQ,OAAOsQ,EAAEzV,OAAS,GAAW,OAAO0V,EAASD,EAAEvR,MAAM,GAAI,IAC9D,IAAIwD,EAAI+N,EAAEvE,YAAY,KACtB,OAAe,IAAPxJ,EAAY+N,EAAIA,EAAEvR,MAAMwD,EAAE,GAUnC,SAASiO,EAAe9P,EAAKkE,GACT,kBAATA,IAAmBA,EAAO,IAAIc,KAAKd,IAC7C,IAAI6L,EAAM7L,EAAK8L,WACfD,EAAMA,GAAO,EAAI7L,EAAK+L,aACtBF,EAAMA,GAAO,EAAK7L,EAAKgM,eAAe,EACtClQ,EAAImQ,YAAY,EAAGJ,GACnB,IAAIK,EAAOlM,EAAKiB,cAAgB,KAChCiL,EAAMA,GAAO,EAAKlM,EAAKkB,WAAW,EAClCgL,EAAMA,GAAO,EAAIlM,EAAKgB,UACtBlF,EAAImQ,YAAY,EAAGC,GAIpB,SAASC,EAAerQ,GACvB,IAAI+P,EAA0B,MAApB/P,EAAIsQ,WAAW,GACrBF,EAA0B,MAApBpQ,EAAIsQ,WAAW,GACrB9I,EAAM,IAAIxC,KACV/C,EAAU,GAANmO,EAAYA,KAAS,EAC7B,IAAI1L,EAAU,GAAN0L,EAAYA,KAAS,EAC7B5I,EAAI+I,gBAAgB,GACpB/I,EAAIgJ,YAAYJ,EAAM,MACtB5I,EAAIiJ,SAAS/L,EAAE,GACf8C,EAAIvC,QAAQhD,GACZ,IAAI4C,EAAU,GAANkL,EAAYA,KAAS,EAC7B,IAAInL,EAAU,GAANmL,EAIR,OAJoBA,KAAS,EAC7BvI,EAAIkJ,SAASX,GACbvI,EAAImJ,WAAW/L,GACf4C,EAAIoJ,WAAW/L,GAAG,GACX2C,EAER,SAASqJ,EAAkBC,GAC1BC,GAAUD,EAAM,GAChB,IAAIpT,EAAI,GACJsT,EAAQ,EACZ,MAAMF,EAAKhP,GAAKgP,EAAK3W,OAAS,EAAG,CAChC,IAAImN,EAAOwJ,EAAKR,WAAW,GACvBW,EAAKH,EAAKR,WAAW,GAAIY,EAAMJ,EAAKhP,EAAImP,EACxCrB,EAAI,GACR,OAAOtI,GAEN,KAAK,MACJ0J,EAAQF,EAAKR,WAAW,GACb,EAARU,IAAWpB,EAAEuB,MAAQL,EAAKR,WAAW,IAErCW,EAAK,IACI,EAARD,IAAWpB,EAAEwB,MAAQN,EAAKR,WAAW,IAC7B,EAARU,IAAWpB,EAAEyB,MAAQP,EAAKR,WAAW,KAEtCV,EAAEuB,QAAOvB,EAAE0B,GAAK,IAAItM,KAAa,IAAR4K,EAAEuB,QAE/B,MAEDL,EAAKhP,EAAIoP,EACTxT,EAAE4J,GAAQsI,EAEX,OAAOlS,EAGR,SAAS6T,IAAW,OAAOhC,IAAOA,EAAK,EAAQ,IAC/C,SAASiC,EAAMC,EAAMC,GACrB,GAAc,IAAXD,EAAK,IAAyB,IAAXA,EAAK,GAAY,OAAOE,GAAUF,EAAMC,GAC9D,GAAGD,EAAKtX,OAAS,IAAK,MAAM,IAAIgH,MAAM,iBAAmBsQ,EAAKtX,OAAS,UACvE,IAAIyX,EAAO,EACPC,EAAM,IACNC,EAAO,EACPC,EAAgB,EAChBC,EAAY,EACZC,EAAgB,EAChBC,EAAc,EAEdC,EAAY,GAGZrB,EAAOW,EAAKpT,MAAM,EAAE,KACxB0S,GAAUD,EAAM,GAGhB,IAAIsB,EAAKC,EAAevB,GAExB,OADAc,EAAOQ,EAAG,GACHR,GACN,KAAK,EAAGC,EAAM,IAAK,MAAO,KAAK,EAAGA,EAAM,KAAM,MAC9C,KAAK,EAAG,GAAY,GAATO,EAAG,GAAS,OAAOT,GAAUF,EAAMC,GAE9C,QAAS,MAAM,IAAIvQ,MAAM,sCAAwCyQ,GAIvD,MAARC,IAAef,EAAOW,EAAKpT,MAAM,EAAEwT,GAAMd,GAAUD,EAAM,KAE5D,IAAIwB,EAASb,EAAKpT,MAAM,EAAEwT,GAE1BU,EAAazB,EAAMc,GAGnB,IAAIY,EAAU1B,EAAKR,WAAW,EAAG,KACjC,GAAY,IAATsB,GAA0B,IAAZY,EAAe,MAAM,IAAIrR,MAAM,uCAAyCqR,GAGzF1B,EAAKhP,GAAK,EAGVkQ,EAAYlB,EAAKR,WAAW,EAAG,KAG/BQ,EAAKhP,GAAK,EAGVgP,EAAK2B,IAAI,WAAY,6BAGrBR,EAAgBnB,EAAKR,WAAW,EAAG,KAGnCwB,EAAOhB,EAAKR,WAAW,EAAG,KAG1B4B,EAAcpB,EAAKR,WAAW,EAAG,KAGjCyB,EAAgBjB,EAAKR,WAAW,EAAG,KAGnC,IAAI,IAAIxM,GAAK,EAAGgE,EAAI,EAAGA,EAAI,MAAOA,EAAG,CAEpC,GADAhE,EAAIgN,EAAKR,WAAW,EAAG,KACpBxM,EAAE,EAAG,MACRqO,EAAUrK,GAAKhE,EAIhB,IAAI4O,EAAUC,EAAUlB,EAAMI,GAE9Be,EAAWV,EAAaH,EAAeW,EAASb,EAAKM,GAGrD,IAAIU,EAAcC,EAAiBJ,EAASV,EAAWG,EAAWN,GAElEgB,EAAYb,GAAWe,KAAO,aAC3BjB,EAAO,GAAKG,IAAkBe,IAAYH,EAAYZ,GAAec,KAAO,YAC/EF,EAAYV,EAAU,IAAIY,KAAO,OACjCF,EAAYV,UAAYA,EACxBU,EAAYhB,IAAMA,EAGlB,IAAIoB,EAAQ,GAAIC,EAAQ,GAAIC,EAAY,GAAIC,EAAY,GACxDC,EAAerB,EAAWa,EAAaH,EAASQ,EAAOpB,EAAMmB,EAAOE,EAAWlB,GAE/EqB,EAAiBH,EAAWC,EAAWF,GACvCA,EAAM7Y,QAEN,IAAIqD,EAAI,CACPyV,UAAWA,EACXC,UAAWA,GAKZ,OADG1B,GAAWA,EAAQ6B,MAAK7V,EAAE6V,IAAM,CAACjB,OAAQA,EAAQI,QAASA,IACtDhV,EAIP,SAAS2U,EAAevB,GACvB,GAAmB,IAAhBA,EAAKA,EAAKhP,IAAkC,IAApBgP,EAAKA,EAAKhP,EAAI,GAAY,MAAO,CAAC,EAAG,GAEhEgP,EAAK2B,IAAIe,EAAkB,sBAI3B1C,EAAKhP,GAAK,GAGV,IAAI8P,EAAOd,EAAKR,WAAW,EAAG,KAE9B,MAAO,CAACQ,EAAKR,WAAW,EAAE,KAAMsB,GAEjC,SAASW,EAAazB,EAAMc,GAC3B,IAAIvX,EAAQ,EAOZ,OAHAyW,EAAKhP,GAAK,EAGFzH,EAAQyW,EAAKR,WAAW,IAC/B,KAAK,EAAM,GAAW,GAARsB,EAAW,MAAM,IAAIzQ,MAAM,gCAAkC9G,GAAQ,MACnF,KAAK,GAAM,GAAW,GAARuX,EAAW,MAAM,IAAIzQ,MAAM,iCAAmC9G,GAAQ,MACpF,QAAS,MAAM,IAAI8G,MAAM,sCAAwC9G,GAIlEyW,EAAK2B,IAAI,OAAQ,uBAGjB3B,EAAK2B,IAAI,eAAgB,cAI1B,SAASE,EAAUlB,EAAMI,GAGxB,IAFA,IAAI4B,EAAWnR,KAAKoR,KAAKjC,EAAKtX,OAAO0X,GAAK,EACtCa,EAAU,GACN7W,EAAE,EAAGA,EAAI4X,IAAY5X,EAAG6W,EAAQ7W,EAAE,GAAK4V,EAAKpT,MAAMxC,EAAEgW,GAAKhW,EAAE,GAAGgW,GAEtE,OADAa,EAAQe,EAAS,GAAKhC,EAAKpT,MAAMoV,EAAS5B,GACnCa,EAIR,SAASY,EAAiBK,EAAIC,EAAIV,GAIjC,IAHA,IAAIrX,EAAI,EAAGoT,EAAI,EAAGQ,EAAI,EAAGT,EAAI,EAAGlH,EAAI,EAAG+L,EAAKX,EAAM/Y,OAC9C2Z,EAAM,GAAIhQ,EAAI,GAEZjI,EAAIgY,IAAMhY,EAAKiY,EAAIjY,GAAGiI,EAAEjI,GAAGA,EAAG+X,EAAG/X,GAAGqX,EAAMrX,GAEhD,KAAMiM,EAAIhE,EAAE3J,SAAU2N,EACrBjM,EAAIiI,EAAEgE,GACNmH,EAAI0E,EAAG9X,GAAGoT,EAAGQ,EAAIkE,EAAG9X,GAAG4T,EAAGT,EAAI2E,EAAG9X,GAAGmT,EACjC8E,EAAIjY,KAAOA,KACH,IAAPoT,GAAyB6E,EAAI7E,KAAOA,IAAG6E,EAAIjY,GAAKiY,EAAI7E,KAC7C,IAAPQ,GAAYqE,EAAIrE,KAAOA,IAAGqE,EAAIjY,GAAKiY,EAAIrE,MAEjC,IAAPT,IAAuB8E,EAAI9E,GAAKnT,IACzB,IAAPoT,GAAYpT,GAAKiY,EAAIjY,KAAMiY,EAAI7E,GAAK6E,EAAIjY,GAAOiI,EAAEuH,YAAY4D,GAAKnH,GAAGhE,EAAElK,KAAKqV,KACrE,IAAPQ,GAAY5T,GAAKiY,EAAIjY,KAAMiY,EAAIrE,GAAKqE,EAAIjY,GAAOiI,EAAEuH,YAAYoE,GAAK3H,GAAGhE,EAAElK,KAAK6V,IAEhF,IAAI5T,EAAE,EAAGA,EAAIgY,IAAMhY,EAAMiY,EAAIjY,KAAOA,KACzB,IAAP4T,GAAyBqE,EAAIrE,KAAOA,EAAGqE,EAAIjY,GAAKiY,EAAIrE,IACxC,IAAPR,GAAY6E,EAAI7E,KAAOA,IAAG6E,EAAIjY,GAAKiY,EAAI7E,KAGhD,IAAIpT,EAAE,EAAGA,EAAIgY,IAAMhY,EAClB,GAAkB,IAAf8X,EAAG9X,GAAGyL,KAAT,CAEA,GADAQ,EAAIjM,EACDiM,GAAKgM,EAAIhM,GAAI,GACfA,EAAIgM,EAAIhM,GACR8L,EAAG/X,GAAK+X,EAAG9L,GAAK,IAAM8L,EAAG/X,SACX,IAANiM,IAAY,IAAMgM,EAAIhM,IAAMA,GAAKgM,EAAIhM,IAC9CgM,EAAIjY,IAAM,EAIX,IADA+X,EAAG,IAAM,IACL/X,EAAE,EAAGA,EAAIgY,IAAMhY,EACA,IAAf8X,EAAG9X,GAAGyL,OAAyBsM,EAAG/X,IAAM,KAI7C,SAASkY,EAAeC,EAAOC,EAASC,GACvC,IAAIC,EAAQH,EAAMG,MAAOC,EAAOJ,EAAMI,KAElC1W,EAAI,GACJ6K,EAAM4L,EACV,MAAMD,GAAQE,EAAO,GAAK7L,GAAO,EAChC7K,EAAE9D,KAAKqa,EAAQ5V,MAAMkK,EAAM8L,EAAM9L,EAAM8L,EAAOA,IAC9CD,GAAQC,EACR9L,EAAM+L,GAAcJ,EAAY,EAAN3L,GAE3B,OAAgB,IAAb7K,EAAEvD,OAAsBoa,GAAQ,GAC3BlT,EAAQ3D,GAAGW,MAAM,EAAG2V,EAAMI,MAKnC,SAASxB,EAAWrK,EAAKiM,EAAK9B,EAASb,EAAKM,GAC3C,IAAIrO,EAAIkP,EACR,GAAGzK,IAAQyK,GACV,GAAW,IAARwB,EAAW,MAAM,IAAIrT,MAAM,0CACxB,IAAY,IAAToH,EAAyB,CAClC,IAAIkM,EAAS/B,EAAQnK,GAAM7D,GAAKmN,IAAM,GAAG,EACzC,IAAI4C,EAAQ,OACZ,IAAI,IAAI5Y,EAAI,EAAGA,EAAI6I,IAAK7I,EAAG,CAC1B,IAAIiI,EAAIwQ,GAAcG,EAAS,EAAF5Y,MAAUmX,EAAY,MACnDb,EAAUvY,KAAKkK,GAEhB8O,EAAW0B,GAAcG,EAAO5C,EAAI,GAAG2C,EAAM,EAAG9B,EAASb,EAAKM,IAKhE,SAASuC,EAAgBhC,EAASyB,EAAOhC,EAAWN,EAAK8C,GACxD,IAAI3U,EAAM,GAAI4U,EAAY,GACtBD,IAAMA,EAAO,IACjB,IAAIE,EAAUhD,EAAM,EAAG/J,EAAI,EAAGqE,EAAK,EACnC,IAAIrE,EAAEqM,EAAOrM,GAAG,GAAI,CACnB6M,EAAK7M,IAAK,EACV9H,EAAIA,EAAI7F,QAAU2N,EAClB8M,EAAUhb,KAAK8Y,EAAQ5K,IACvB,IAAIgN,EAAO3C,EAAU7P,KAAKuB,MAAQ,EAAFiE,EAAI+J,IAEpC,GADA1F,EAAS,EAAFrE,EAAO+M,EACXhD,EAAM,EAAI1F,EAAI,MAAM,IAAIhL,MAAM,yBAA2B2G,EAAI,MAAM+J,GACtE,IAAIa,EAAQoC,GAAO,MACnBhN,EAAIwM,GAAc5B,EAAQoC,GAAO3I,GAElC,MAAO,CAAC4I,MAAO/U,EAAKjF,KAAKia,GAAW,CAACJ,KAItC,SAAS9B,EAAiBJ,EAASV,EAAWG,EAAWN,GACxD,IAAIoD,EAAKvC,EAAQvY,OAAQ0Y,EAAc,GACnC8B,EAAO,GAAI3U,EAAM,GAAI4U,EAAY,GACjCC,EAAUhD,EAAM,EAAGhW,EAAE,EAAGiM,EAAE,EAAGoN,EAAE,EAAG/I,EAAG,EACzC,IAAItQ,EAAE,EAAGA,EAAIoZ,IAAMpZ,EAGlB,GAFAmE,EAAM,GACNkV,EAAKrZ,EAAImW,EAAekD,GAAKD,IAAIC,GAAGD,IACjCN,EAAKO,GAAR,CAEA,IADAN,EAAY,GACR9M,EAAEoN,EAAGpN,GAAG,GAAI,CACf6M,EAAK7M,IAAK,EACV9H,EAAIA,EAAI7F,QAAU2N,EAClB8M,EAAUhb,KAAK8Y,EAAQ5K,IACvB,IAAIgN,EAAO3C,EAAU7P,KAAKuB,MAAQ,EAAFiE,EAAI+J,IAEpC,GADA1F,EAAS,EAAFrE,EAAO+M,EACXhD,EAAM,EAAI1F,EAAI,MAAM,IAAIhL,MAAM,yBAA2B2G,EAAI,MAAM+J,GACtE,IAAIa,EAAQoC,GAAO,MACnBhN,EAAIwM,GAAc5B,EAAQoC,GAAO3I,GAElC0G,EAAYqC,GAAK,CAAEH,MAAO/U,EAAKjF,KAAKia,GAAW,CAACJ,KAEjD,OAAO/B,EAIR,SAASQ,EAAerB,EAAWa,EAAaH,EAASQ,EAAOpB,EAAMmB,EAAOE,EAAWe,GAIvF,IAHA,IAEwBnB,EAFpBoC,EAAgB,EAAGtB,EAAMX,EAAM/Y,OAAO,EAAE,EACxCsa,EAAS5B,EAAYb,GAAWjX,KAChCc,EAAI,EAAGuZ,EAAU,EACfvZ,EAAI4Y,EAAOta,OAAQ0B,GAAI,IAAK,CACjC,IAAIiV,EAAO2D,EAAOpW,MAAMxC,EAAGA,EAAE,KAC7BkV,GAAUD,EAAM,IAChBsE,EAAUtE,EAAKR,WAAW,GAC1ByC,EAAOsC,GAAUvE,EAAK,EAAEsE,EAAQvB,GAChCX,EAAMtZ,KAAKmZ,GACX,IAAIrV,EAAI,CACPqV,KAAOA,EACPzL,KAAOwJ,EAAKR,WAAW,GACvBgF,MAAOxE,EAAKR,WAAW,GACvBrB,EAAO6B,EAAKR,WAAW,EAAG,KAC1Bb,EAAOqB,EAAKR,WAAW,EAAG,KAC1BtB,EAAO8B,EAAKR,WAAW,EAAG,KAC1BiF,MAAOzE,EAAKR,WAAW,IACvBkF,MAAO1E,EAAKR,WAAW,EAAG,KAC1B6D,MAAO,EACPC,KAAM,GAEH/C,EAAQP,EAAKR,WAAW,GAAKQ,EAAKR,WAAW,GAAKQ,EAAKR,WAAW,GAAKQ,EAAKR,WAAW,GAC9E,IAAVe,IAAa3T,EAAE+X,GAAKC,EAAU5E,EAAMA,EAAKhP,EAAE,IAC9C,IAAIqP,EAAQL,EAAKR,WAAW,GAAKQ,EAAKR,WAAW,GAAKQ,EAAKR,WAAW,GAAKQ,EAAKR,WAAW,GAC9E,IAAVa,IAAazT,EAAE4T,GAAKoE,EAAU5E,EAAMA,EAAKhP,EAAE,IAC9CpE,EAAEyW,MAAQrD,EAAKR,WAAW,EAAG,KAC7B5S,EAAE0W,KAAOtD,EAAKR,WAAW,EAAG,KACzB5S,EAAE0W,KAAO,GAAK1W,EAAEyW,MAAQ,IAAKzW,EAAE0W,KAAO1W,EAAE4J,KAAO,EAAG5J,EAAEyW,MAAQnB,EAAYtV,EAAEqV,KAAO,IACtE,IAAXrV,EAAE4J,MACJ6N,EAAgBzX,EAAEyW,MACfrC,EAAO,GAAKqD,IAAkBnC,IAAYH,EAAYsC,GAAepC,KAAO,gBAEtErV,EAAE0W,MAAQ,MACnB1W,EAAEiY,QAAU,WACgBhd,IAAzBka,EAAYnV,EAAEyW,SAAsBtB,EAAYnV,EAAEyW,OAASO,EAAgBhC,EAAShV,EAAEyW,MAAOtB,EAAYV,UAAWU,EAAYhB,MACnIgB,EAAYnV,EAAEyW,OAAOpB,KAAOrV,EAAEqV,KAC9BrV,EAAEkY,QAAW/C,EAAYnV,EAAEyW,OAAOpZ,KAAKsD,MAAM,EAAEX,EAAE0W,QAEjD1W,EAAEiY,QAAU,UACTjY,EAAE0W,KAAO,EAAG1W,EAAE0W,KAAO,EAChBe,IAAkBnC,GAActV,EAAEyW,QAAUnB,GAAcH,EAAYsC,KAC7EzX,EAAEkY,QAAU7B,EAAerW,EAAGmV,EAAYsC,GAAepa,MAAO8X,EAAYqB,IAAO,IAAInZ,QAGtF2C,EAAEkY,SAAS7E,GAAUrT,EAAEkY,QAAS,GACnC3C,EAAMF,GAAQrV,EACdyV,EAAUvZ,KAAK8D,IAIjB,SAASgY,EAAU5E,EAAM+E,GACxB,OAAO,IAAI7Q,KAA6G,KAAnG8Q,GAAehF,EAAK+E,EAAO,GAAG,IAAKvT,KAAKI,IAAI,EAAE,IAAIoT,GAAehF,EAAK+E,GAAQ,IAAQ,cAG5G,SAASE,EAAUlG,EAAU6B,GAE5B,OADAH,IACOC,EAAMjC,EAAGyG,aAAanG,GAAW6B,GAGzC,SAASuE,EAAKnF,EAAMY,GACnB,OAAOA,GAAWA,EAAQpK,MAAQ,UACjC,IAAK,OAAQ,OAAOyO,EAAUjF,EAAMY,GACpC,IAAK,SAAU,OAAOF,EAAMhR,EAAI5B,EAAOH,OAAOqS,IAAQY,GACtD,IAAK,SAAU,OAAOF,EAAMhR,EAAIsQ,GAAOY,GAExC,OAAOF,EAAMV,EAAMY,GAGpB,SAASwE,EAASC,EAAKnS,GACtB,IAAItG,EAAIsG,GAAQ,GAAIoS,EAAO1Y,EAAE0Y,MAAQ,aAGrC,GAFID,EAAI/C,YAAW+C,EAAI/C,UAAY,IAC/B+C,EAAIhD,YAAWgD,EAAIhD,UAAY,IAChCgD,EAAI/C,UAAUjZ,SAAWgc,EAAIhD,UAAUhZ,OAAQ,MAAM,IAAIgH,MAAM,8BACtC,IAAzBgV,EAAI/C,UAAUjZ,SAChBgc,EAAI/C,UAAU,GAAKgD,EAAO,IAC1BD,EAAIhD,UAAU,GAAK,CAAGJ,KAAMqD,EAAM9O,KAAM,IAEtC5J,EAAE2Y,QAAOF,EAAIhD,UAAU,GAAGoC,MAAQ7X,EAAE2Y,OACvCC,EAASH,GAEV,SAASG,EAASH,GACjB,IAAII,EAAK,WACT,IAAGjH,EAAIkH,KAAKL,EAAK,IAAMI,GAAvB,CACA,IAAI3G,EAAI2E,GAAQ,GAAI3E,EAAE,GAAK,GAAIA,EAAE,GAAKA,EAAE,GAAK,GAAIA,EAAE,GAAK,GACxDuG,EAAIhD,UAAUvZ,KAAK,CAAGmZ,KAAMwD,EAAIjP,KAAM,EAAGsO,QAAQhG,EAAGwE,KAAK,EAAGnF,EAAE,GAAIQ,EAAE,GAAIT,EAAE,KAC1EmH,EAAI/C,UAAUxZ,KAAKuc,EAAI/C,UAAU,GAAKmD,GACtCE,EAAYN,IAEb,SAASM,EAAYN,EAAKhJ,GACzB+I,EAASC,GAET,IADA,IAAIO,GAAK,EAAOjW,GAAI,EACZ5E,EAAIsa,EAAI/C,UAAUjZ,OAAS,EAAG0B,GAAK,IAAKA,EAAG,CAClD,IAAI8a,EAAQR,EAAIhD,UAAUtX,GAC1B,OAAO8a,EAAMrP,MACZ,KAAK,EACD7G,EAAGiW,GAAK,GACJP,EAAIhD,UAAUyD,MAAOT,EAAI/C,UAAUwD,OAC1C,MACD,KAAK,EAAG,KAAK,EAAG,KAAK,EACpBnW,GAAI,EACDpB,MAAMsX,EAAMlH,EAAIkH,EAAM1H,EAAI0H,EAAM3H,KAAI0H,GAAK,GACzCC,EAAMlH,GAAK,GAAKkH,EAAM1H,GAAK,GAAK0H,EAAMlH,GAAKkH,EAAM1H,IAAGyH,GAAK,GAC5D,MACD,QAASA,GAAK,EAAM,OAGtB,GAAIA,GAAOvJ,EAAX,CAEA,IAAI0J,EAAM,IAAI7R,KAAK,KAAM,EAAG,IAAK8C,EAAI,EACjC/M,EAAO,GACX,IAAIc,EAAI,EAAGA,EAAIsa,EAAI/C,UAAUjZ,SAAU0B,EACT,IAA1Bsa,EAAIhD,UAAUtX,GAAGyL,MACpBvM,EAAKnB,KAAK,CAACuc,EAAI/C,UAAUvX,GAAIsa,EAAIhD,UAAUtX,KAE5C,IAAIA,EAAI,EAAGA,EAAId,EAAKZ,SAAU0B,EAAG,CAChC,IAAIiY,EAAMnE,EAAQ5U,EAAKc,GAAG,IAE1B,IADA4E,GAAI,EACAqH,EAAI,EAAGA,EAAI/M,EAAKZ,SAAU2N,EAAM/M,EAAK+M,GAAG,KAAOgM,IAAKrT,GAAI,GACxDA,GAAG1F,EAAKnB,KAAK,CAACka,EAAK,CACtBf,KAAMlD,EAASiE,GAAKhZ,QAAQ,IAAI,IAChCwM,KAAM,EACNiO,MAAOuB,EACPrB,GAAIoB,EAAKvF,GAAIuF,EACbjB,QAAS,QAMX,IAFA7a,EAAKgc,MAAK,SAASxY,EAAEkG,GAAK,OAAO+K,EAAQjR,EAAE,GAAIkG,EAAE,OACjD0R,EAAI/C,UAAY,GAAI+C,EAAIhD,UAAY,GAChCtX,EAAI,EAAGA,EAAId,EAAKZ,SAAU0B,EAAKsa,EAAI/C,UAAUvX,GAAKd,EAAKc,GAAG,GAAIsa,EAAIhD,UAAUtX,GAAKd,EAAKc,GAAG,GAC7F,IAAIA,EAAI,EAAGA,EAAId,EAAKZ,SAAU0B,EAAG,CAChC,IAAImb,EAAMb,EAAIhD,UAAUtX,GACpB0a,EAAKJ,EAAI/C,UAAUvX,GAOvB,GALAmb,EAAIjE,KAAQlD,EAAS0G,GAAIzb,QAAQ,IAAI,IACrCkc,EAAI/H,EAAI+H,EAAIvH,EAAIuH,EAAIhI,IAAMgI,EAAI1B,MAAQ,GACtC0B,EAAI5C,KAAO4C,EAAIpB,QAAUoB,EAAIpB,QAAQzb,OAAS,EAC9C6c,EAAI7C,MAAQ,EACZ6C,EAAIzB,MAASyB,EAAIzB,OAASuB,EACjB,IAANjb,EACFmb,EAAIhI,EAAIjU,EAAKZ,OAAS,EAAI,GAAK,EAC/B6c,EAAI5C,KAAO,EACX4C,EAAI1P,KAAO,OACL,GAAmB,KAAhBiP,EAAGlY,OAAO,GAAW,CAC9B,IAAIyJ,EAAEjM,EAAE,EAAEiM,EAAI/M,EAAKZ,SAAU2N,EAAG,GAAG6H,EAAQwG,EAAI/C,UAAUtL,KAAKyO,EAAI,MAElE,IADAS,EAAIhI,EAAIlH,GAAK/M,EAAKZ,QAAU,EAAI2N,EAC5BA,EAAEjM,EAAE,EAAEiM,EAAI/M,EAAKZ,SAAU2N,EAAG,GAAG6H,EAAQwG,EAAI/C,UAAUtL,KAAK6H,EAAQ4G,GAAK,MAC3ES,EAAIvH,EAAI3H,GAAK/M,EAAKZ,QAAU,EAAI2N,EAChCkP,EAAI1P,KAAO,OAERqI,EAAQwG,EAAI/C,UAAUvX,EAAE,IAAI,KAAO8T,EAAQ4G,KAAKS,EAAIvH,EAAI5T,EAAI,GAC/Dmb,EAAI1P,KAAO,IAMd,SAAS2P,EAAOd,EAAKzE,GACpB,IAAIwF,EAAQxF,GAAW,GAEvB,GADA+E,EAAYN,GACS,OAAlBe,EAAMC,SAAmB,OAAOC,GAAUjB,EAAKe,GAClD,IAAIjI,EAAI,SAAUkH,GAEjB,IADA,IAAIkB,EAAY,EAAGC,EAAW,EACtBzb,EAAI,EAAGA,EAAIsa,EAAIhD,UAAUhZ,SAAU0B,EAAG,CAC7C,IAAI4V,EAAO0E,EAAIhD,UAAUtX,GACzB,GAAI4V,EAAKmE,QAAT,CACH,IAAI/J,EAAO4F,EAAKmE,QAAQzb,OAClB0R,EAAO,IACNA,EAAO,KAAQwL,GAAcxL,EAAO,IAAS,EAC3CyL,GAAazL,EAAO,KAAW,IAGtC,IAAI2G,EAAW2D,EAAI/C,UAAUjZ,OAAQ,GAAM,EACvCod,EAAYF,EAAY,GAAM,EAC9BG,EAAYH,EAAY,KAAS,EACjCI,EAAWF,EAAWD,EAAW9E,EAAUgF,EAC3CE,EAAWD,EAAW,KAAS,EAC/BE,EAAYD,GAAW,IAAM,EAAIpV,KAAKoR,MAAMgE,EAAQ,KAAK,KAC7D,MAAQD,EAAWC,EAAUC,EAAY,KAAS,EAAKD,EAASC,IAAcD,GAAW,IAAM,EAAIpV,KAAKoR,MAAMgE,EAAQ,KAAK,KAC3H,IAAIzI,EAAK,CAAC,EAAG0I,EAAWD,EAASF,EAAUhF,EAAS8E,EAAUD,EAAW,GAGzE,OAFAlB,EAAIhD,UAAU,GAAGiB,KAAOiD,GAAa,EACrCpI,EAAE,IAAMkH,EAAIhD,UAAU,GAAGgB,MAAMlF,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,KAAMA,EAAE,GAAG,GAAM,GACpEA,EArBA,CAsBLkH,GACCzY,EAAI6W,GAAQtF,EAAE,IAAM,GACpBpT,EAAI,EAAG0I,EAAI,EAEd,IAAI1I,EAAI,EAAGA,EAAI,IAAKA,EAAG6B,EAAEyS,YAAY,EAAGyH,EAAW/b,IACnD,IAAIA,EAAI,EAAGA,EAAI,IAAKA,EAAG6B,EAAEyS,YAAY,EAAG,GAMxC,IALAzS,EAAEyS,YAAY,EAAG,IACjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,OACjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,GACbtU,EAAI,EAAGA,EAAI,IAAKA,EAAG6B,EAAEyS,YAAY,EAAG,GAUxC,IATAzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAGlB,EAAE,IACnBvR,EAAEyS,YAAY,EAAGlB,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAK,GAC7CvR,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,MACjBzS,EAAEyS,YAAY,EAAGlB,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAK,EAAG+D,GAChDtV,EAAEyS,YAAY,EAAGlB,EAAE,IACnBvR,EAAEyS,aAAa,EAAGlB,EAAE,GAAKA,EAAE,GAAK,EAAG+D,GACnCtV,EAAEyS,YAAY,EAAGlB,EAAE,IACfpT,EAAI,EAAGA,EAAI,MAAOA,EAAG6B,EAAEyS,aAAa,EAAGtU,EAAIoT,EAAE,GAAKA,EAAE,GAAKpT,GAAK,GAEnE,GAAGoT,EAAE,GACJ,IAAI1K,EAAI,EAAGA,EAAI0K,EAAE,KAAM1K,EAAG,CACzB,KAAM1I,EAAI,IAAU,IAAJ0I,IAAW1I,EAAG6B,EAAEyS,aAAa,EAAGtU,EAAIoT,EAAE,GAAKA,EAAE,GAAKpT,GAAK,GACvE6B,EAAEyS,aAAa,EAAG5L,IAAM0K,EAAE,GAAK,EAAI+D,EAAazO,EAAI,GAGtD,IAAIsT,EAAU,SAASrR,GACtB,IAAIjC,GAAKiC,EAAG3K,EAAE0I,EAAE,IAAK1I,EAAG6B,EAAEyS,aAAa,EAAGtU,EAAE,GACzC2K,MAAO3K,EAAG6B,EAAEyS,aAAa,EAAG6C,KAGhC,IADAzO,EAAI1I,EAAI,EACJ0I,GAAG0K,EAAE,GAAIpT,EAAE0I,IAAK1I,EAAG6B,EAAEyS,aAAa,EAAG2H,EAAOC,SAChD,IAAIxT,GAAG0K,EAAE,GAAIpT,EAAE0I,IAAK1I,EAAG6B,EAAEyS,aAAa,EAAG2H,EAAOE,SAChDH,EAAQ5I,EAAE,IACV4I,EAAQ5I,EAAE,IAGV,IAFA,IAAInH,EAAI,EAAG+D,EAAO,EACd4F,EAAO0E,EAAIhD,UAAU,GACnBrL,EAAIqO,EAAIhD,UAAUhZ,SAAU2N,EACjC2J,EAAO0E,EAAIhD,UAAUrL,GACjB2J,EAAKmE,UACX/J,EAAO4F,EAAKmE,QAAQzb,OACf0R,EAAO,OACV4F,EAAK0C,MAAQ5P,EACbsT,EAAShM,EAAO,KAAW,KAE5BgM,EAAS5I,EAAE,GAAK,GAAM,GACtB,MAAY,IAANvR,EAAEoE,EAAWpE,EAAEyS,aAAa,EAAG2H,EAAO9E,YAE5C,IADAzO,EAAI1I,EAAI,EACJiM,EAAI,EAAGA,EAAIqO,EAAIhD,UAAUhZ,SAAU2N,EACtC2J,EAAO0E,EAAIhD,UAAUrL,GACjB2J,EAAKmE,UACX/J,EAAO4F,EAAKmE,QAAQzb,QACd0R,GAAQA,GAAQ,OACpB4F,EAAK0C,MAAQ5P,EACbsT,EAAShM,EAAO,IAAS,KAE1B,MAAY,IAANnO,EAAEoE,EAAWpE,EAAEyS,aAAa,EAAG2H,EAAO9E,YAC5C,IAAInX,EAAI,EAAGA,EAAIoT,EAAE,IAAI,IAAKpT,EAAG,CAC5B,IAAI0a,EAAKJ,EAAI/C,UAAUvX,GACvB,GAAI0a,GAAoB,IAAdA,EAAGpc,OAAb,CAMAsX,EAAO0E,EAAIhD,UAAUtX,GACZ,IAANA,IAAS4V,EAAK0C,MAAQ1C,EAAK2C,KAAO3C,EAAK0C,MAAQ,EAAInB,GACtD,IAAIiF,EAAa,IAANpc,GAAWqb,EAAMd,MAAS3E,EAAKsB,KAS1C,GARAlH,EAAO,GAAGoM,EAAI9d,OAAO,GACrBuD,EAAEyS,YAAY,GAAI8H,EAAK,WACvBva,EAAEyS,YAAY,EAAGtE,GACjBnO,EAAEyS,YAAY,EAAGsB,EAAKnK,MACtB5J,EAAEyS,YAAY,EAAGsB,EAAK6D,OACtB5X,EAAEyS,aAAa,EAAGsB,EAAKxC,GACvBvR,EAAEyS,aAAa,EAAGsB,EAAKhC,GACvB/R,EAAEyS,aAAa,EAAGsB,EAAKzC,GACnByC,EAAK8D,MACJ7X,EAAEyS,YAAY,GAAIsB,EAAK8D,MAAO,YADnB,IAAIzN,EAAI,EAAGA,EAAI,IAAKA,EAAGpK,EAAEyS,YAAY,EAAG,GAExDzS,EAAEyS,YAAY,EAAGsB,EAAK+D,OAAS,GAC/B9X,EAAEyS,YAAY,EAAG,GAAIzS,EAAEyS,YAAY,EAAG,GACtCzS,EAAEyS,YAAY,EAAG,GAAIzS,EAAEyS,YAAY,EAAG,GACtCzS,EAAEyS,YAAY,EAAGsB,EAAK0C,OACtBzW,EAAEyS,YAAY,EAAGsB,EAAK2C,MAAO1W,EAAEyS,YAAY,EAAG,OAvB9C,CACC,IAAIrI,EAAI,EAAGA,EAAI,KAAMA,EAAGpK,EAAEyS,YAAY,EAAG,GACzC,IAAIrI,EAAI,EAAGA,EAAI,IAAKA,EAAGpK,EAAEyS,YAAY,GAAI,GACzC,IAAIrI,EAAI,EAAGA,EAAI,KAAMA,EAAGpK,EAAEyS,YAAY,EAAG,IAsB3C,IAAItU,EAAI,EAAGA,EAAIsa,EAAIhD,UAAUhZ,SAAU0B,EAExC,GADE4V,EAAO0E,EAAIhD,UAAUtX,GACpB4V,EAAK2C,MAAQ,KAAQ,CAErB,IADA1W,EAAEoE,EAAK2P,EAAK0C,MAAM,GAAM,EACpBrM,EAAI,EAAGA,EAAI2J,EAAK2C,OAAQtM,EAAGpK,EAAEyS,YAAY,EAAGsB,EAAKmE,QAAQ9N,IAC7D,KAAU,IAAJA,IAAaA,EAAGpK,EAAEyS,YAAY,EAAG,GAGzC,IAAItU,EAAI,EAAGA,EAAIsa,EAAIhD,UAAUhZ,SAAU0B,EAExC,GADE4V,EAAO0E,EAAIhD,UAAUtX,GACpB4V,EAAK2C,KAAO,GAAK3C,EAAK2C,KAAO,KAAQ,CACrC,IAAItM,EAAI,EAAGA,EAAI2J,EAAK2C,OAAQtM,EAAGpK,EAAEyS,YAAY,EAAGsB,EAAKmE,QAAQ9N,IAC7D,KAAU,GAAJA,IAAYA,EAAGpK,EAAEyS,YAAY,EAAG,GAGxC,MAAMzS,EAAEoE,EAAIpE,EAAEvD,OAAQuD,EAAEyS,YAAY,EAAG,GACvC,OAAOzS,EAGR,SAAS8Y,EAAKL,EAAK+B,GAClB,IAAIC,EAAchC,EAAI/C,UAAUvU,KAAI,SAASN,GAAK,OAAOA,EAAEoN,iBACvDyM,EAAUD,EAAYtZ,KAAI,SAASN,GAAK,IAAIkG,EAAIlG,EAAEmC,MAAM,KAAM,OAAO+D,EAAEA,EAAEtK,QAAyB,KAAfoE,EAAEF,OAAO,GAAY,EAAI,OAC5G6W,GAAI,EACkB,KAAvBgD,EAAKta,WAAW,IAAuBsX,GAAI,EAAMgD,EAAOC,EAAY,GAAG9Z,MAAM,GAAI,GAAK6Z,GACpFhD,GAA2B,IAAvBgD,EAAK7a,QAAQ,KACtB,IAAIgb,EAASH,EAAKvM,cACdnF,GAAU,IAAN0O,EAAaiD,EAAY9a,QAAQgb,GAAUD,EAAQ/a,QAAQgb,GACnE,IAAU,IAAP7R,EAAU,OAAO2P,EAAIhD,UAAU3M,GAElC,IAAI9B,GAAK2T,EAAO5P,MAAMjH,GAGtB,IAFA6W,EAASA,EAAOvd,QAAQyG,EAAK,IAC1BmD,IAAG2T,EAASA,EAAOvd,QAAQ0G,EAAK,MAC/BgF,EAAI,EAAGA,EAAI2R,EAAYhe,SAAUqM,EAAG,CACvC,IAAI9B,EAAIyT,EAAY3R,GAAG1L,QAAQ0G,EAAK,KAAO2W,EAAY3R,IAAI1L,QAAQyG,EAAK,KAAO8W,EAAQ,OAAOlC,EAAIhD,UAAU3M,GAC5G,IAAI9B,EAAI0T,EAAQ5R,GAAG1L,QAAQ0G,EAAK,KAAO4W,EAAQ5R,IAAI1L,QAAQyG,EAAK,KAAO8W,EAAQ,OAAOlC,EAAIhD,UAAU3M,GAErG,OAAO,KA9oBRvL,EAAQK,QAAU,QAipBlB,IA+CIgd,EA/CAjE,EAAO,GAGPrB,GAAc,EAEdQ,EAAmB,mBACnBoE,EAAa,CAAC,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,KACxDd,EAAe,mCACfgB,EAAS,CAEZS,YAAa,EACbR,SAAU,EACVC,SAAU,EACVhF,WAAYA,EACZwF,UAAW,EAEXhF,iBAAkBA,EAClBiF,qBAAsB,OACtBC,WAAY,EACZC,UAAW,EACX7B,aAAcA,EAEd8B,WAAY,CAAC,UAAU,UAAU,SAAS,YAAY,WAAW,SAGlE,SAASC,EAAW1C,EAAKtG,EAAU6B,GAClCH,IACA,IAAI7T,EAAIuZ,EAAOd,EAAKzE,GACrBnC,EAAGuJ,cAAcjJ,EAAUnS,GAG3B,SAASqD,EAAIrD,GAEZ,IADA,IAAI4G,EAAM,IAAIxK,MAAM4D,EAAEvD,QACd0B,EAAI,EAAGA,EAAI6B,EAAEvD,SAAU0B,EAAGyI,EAAIzI,GAAKiC,OAAOC,aAAaL,EAAE7B,IACjE,OAAOyI,EAAItG,KAAK,IAGjB,SAAS+a,EAAM5C,EAAKzE,GACnB,IAAIhU,EAAIuZ,EAAOd,EAAKzE,GACpB,OAAOA,GAAWA,EAAQpK,MACzB,IAAK,OAA2D,OAAnDiK,IAAUhC,EAAGuJ,cAAcpH,EAAQ7B,SAAU,GAAanS,EACvE,IAAK,SAAU,OAAOqD,EAAIrD,GAC1B,IAAK,SAAU,OAAOkB,EAAOE,OAAOiC,EAAIrD,IAEzC,OAAOA,EAIR,SAASsb,EAASC,GAAQ,IACzB,IAAIC,EAAaD,EAAKC,WAClBC,EAAU,IAAID,EAElB,GADAC,EAAQC,cAAc,IAAItY,WAAW,CAAC,EAAG,IAAKqY,EAAQE,mBACnDF,EAAQG,UACN,MAAM,IAAInY,MAAM,kCADCmX,EAAQW,EAE7B,MAAMlZ,IAAIwZ,QAAQ9e,MAAM,4BAA8BsF,GAAEyZ,SAAWzZ,MAErE,SAAS0Z,EAAgBxF,EAASyF,GACjC,IAAIpB,EAAO,OAAOqB,GAAS1F,EAASyF,GACpC,IAAIR,EAAaZ,EAAMY,WACnBC,EAAU,IAAID,EACd5U,EAAM6U,EAAQC,cAAcnF,EAAQ5V,MAAM4V,EAAQnS,GAAIqX,EAAQE,kBAElE,OADApF,EAAQnS,GAAKqX,EAAQG,UACdhV,EAGR,SAASsV,EAAgB3F,GACxB,OAAOqE,EAAQA,EAAMuB,eAAe5F,GAAW6F,GAAS7F,GAEzD,IAAI8F,EAAa,CAAE,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAG7EC,EAAS,CAAI,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAI,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAGvJC,EAAS,CAAG,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,OAE7J,SAASC,GAAW9Z,GAAK,IAAI8B,EAA0B,QAAjB9B,GAAG,EAAIA,GAAG,IAAsC,QAAjBA,GAAG,EAAIA,GAAG,IAAmB,OAA6B,KAApB8B,GAAG,GAAOA,GAAG,EAAIA,GAK5H,IAHA,IAAIiY,GAAyC,qBAAfrZ,WAE1BsZ,GAAWD,GAAmB,IAAIrZ,WAAW,KAAQ,GACjDgD,GAAI,EAAGA,GAAI,MAAUA,GAAGsW,GAAStW,IAAKoW,GAAWpW,IAEzD,SAASuW,GAAWja,EAAGka,GACtB,IAAIC,EAAMH,GAAa,IAAJha,GACnB,OAAGka,GAAK,EAAUC,IAAS,EAAED,GAC7BC,EAAOA,GAAO,EAAKH,GAAUha,GAAG,EAAG,KAChCka,GAAK,GAAWC,IAAS,GAAGD,GAC/BC,EAAOA,GAAO,EAAKH,GAAUha,GAAG,GAAI,KAC7Bma,IAAS,GAAGD,IAIpB,SAASE,GAAYxa,EAAKya,GAAM,IAAIjU,EAAQ,EAAHiU,EAAOC,EAAKD,IAAK,EAAI,OAASza,EAAI0a,IAAIlU,GAAK,EAAI,EAAIxG,EAAI0a,EAAE,IAAI,MAAMlU,EAAI,EAChH,SAASmU,GAAY3a,EAAKya,GAAM,IAAIjU,EAAQ,EAAHiU,EAAOC,EAAKD,IAAK,EAAI,OAASza,EAAI0a,IAAIlU,GAAK,EAAI,EAAIxG,EAAI0a,EAAE,IAAI,MAAMlU,EAAI,EAChH,SAASoU,GAAY5a,EAAKya,GAAM,IAAIjU,EAAQ,EAAHiU,EAAOC,EAAKD,IAAK,EAAI,OAASza,EAAI0a,IAAIlU,GAAK,EAAI,EAAIxG,EAAI0a,EAAE,IAAI,MAAMlU,EAAI,GAChH,SAASqU,GAAY7a,EAAKya,GAAM,IAAIjU,EAAQ,EAAHiU,EAAOC,EAAKD,IAAK,EAAI,OAASza,EAAI0a,IAAIlU,GAAK,EAAI,EAAIxG,EAAI0a,EAAE,IAAI,MAAMlU,EAAI,GAChH,SAASsU,GAAY9a,EAAKya,GAAM,IAAIjU,EAAQ,EAAHiU,EAAOC,EAAKD,IAAK,EAAI,OAASza,EAAI0a,IAAIlU,GAAK,EAAI,EAAIxG,EAAI0a,EAAE,IAAI,MAAMlU,EAAI,IAGhH,SAASuU,GAAY/a,EAAKya,EAAIra,GAC7B,IAAIoG,EAAQ,EAAHiU,EAAOC,EAAKD,IAAK,EAAItN,GAAM,GAAG/M,GAAG,EACtC4B,EAAIhC,EAAI0a,KAAOlU,EACnB,OAAGpG,EAAI,EAAIoG,EAAUxE,EAAImL,GACzBnL,GAAKhC,EAAI0a,EAAE,IAAK,EAAElU,EACfpG,EAAI,GAAKoG,EAAUxE,EAAImL,GAC1BnL,GAAKhC,EAAI0a,EAAE,IAAK,GAAGlU,EAChBpG,EAAI,GAAKoG,IACZxE,GAAKhC,EAAI0a,EAAE,IAAK,GAAGlU,GADGxE,EAAImL,IAM3B,SAAS6N,GAAQV,EAAGrJ,GACnB,IAAIhC,EAAIqL,EAAEngB,OAAQyK,EAAI,EAAEqK,EAAIgC,EAAK,EAAEhC,EAAIgC,EAAK,EAAGpV,EAAI,EACnD,GAAGoT,GAAKgC,EAAI,OAAOqJ,EACnB,GAAG/a,EAAS,CACX,IAAI7B,EAAI6C,EAAeqE,GAEvB,GAAG0V,EAAEW,KAAMX,EAAEW,KAAKvd,QACb,KAAM7B,EAAIye,EAAEngB,SAAU0B,EAAG6B,EAAE7B,GAAKye,EAAEze,GACvC,OAAO6B,EACD,GAAGyc,GAAkB,CAC3B,IAAIe,EAAI,IAAIpa,WAAW8D,GACvB,GAAGsW,EAAEC,IAAKD,EAAEC,IAAIb,QACX,KAAMze,EAAIye,EAAEngB,SAAU0B,EAAGqf,EAAErf,GAAKye,EAAEze,GACvC,OAAOqf,EAGR,OADAZ,EAAEngB,OAASyK,EACJ0V,EAIR,SAASc,GAAgBhb,GAExB,IADA,IAAI1C,EAAI,IAAI5D,MAAMsG,GACVvE,EAAI,EAAGA,EAAIuE,IAAKvE,EAAG6B,EAAE7B,GAAK,EAClC,OAAO6B,EACP,IAAIoc,GAAW,WAChB,IAAIuB,EAAc,WACjB,OAAO,SAAoBtgB,EAAMuJ,GAChC,IAAIgX,EAAO,EACX,MAAMA,EAAOvgB,EAAKZ,OAAQ,CACzB,IAAI8U,EAAI3M,KAAKuI,IAAI,MAAQ9P,EAAKZ,OAASmhB,GACnCZ,EAAIY,EAAOrM,GAAKlU,EAAKZ,OAEzBmK,EAAI6L,YAAY,GAAIuK,GACpBpW,EAAI6L,YAAY,EAAGlB,GACnB3K,EAAI6L,YAAY,EAAU,OAALlB,GACrB,MAAMA,KAAM,EAAG3K,EAAIA,EAAIxC,KAAO/G,EAAKugB,KAEpC,OAAOhX,EAAIxC,GAZK,GAgBlB,OAAO,SAAS/G,GACf,IAAIiF,EAAMuU,GAAQ,GAAGjS,KAAKuB,MAAkB,IAAZ9I,EAAKZ,SACjCohB,EAAMF,EAAYtgB,EAAMiF,GAC5B,OAAOA,EAAI3B,MAAM,EAAGkd,IApBL,GA0BhB,SAASC,GAAWC,EAAOC,EAAMC,GAChC,IAAIC,EAAS,EAAGpV,EAAI,EAAG3K,EAAI,EAAGiM,EAAI,EAAG+T,EAAQ,EAAG5M,EAAIwM,EAAMthB,OAEtD2hB,EAAY3B,GAAmB,IAAI4B,YAAY,IAAMX,GAAgB,IACzE,IAAIvf,EAAI,EAAGA,EAAI,KAAMA,EAAGigB,EAASjgB,GAAK,EAEtC,IAAIA,EAAIoT,EAAGpT,EAAI8f,IAAO9f,EAAG4f,EAAM5f,GAAK,EACpCoT,EAAIwM,EAAMthB,OAEV,IAAI6hB,EAAQ7B,GAAmB,IAAI4B,YAAY9M,GAAKmM,GAAgBnM,GAGpE,IAAIpT,EAAI,EAAGA,EAAIoT,IAAKpT,EACnBigB,EAAUtV,EAAIiV,EAAM5f,MACjB+f,EAASpV,IAAGoV,EAASpV,GACxBwV,EAAMngB,GAAK,EAGZ,IADAigB,EAAS,GAAK,EACVjgB,EAAI,EAAGA,GAAK+f,IAAU/f,EAAGigB,EAASjgB,EAAE,IAAOggB,EAASA,EAAQC,EAASjgB,EAAE,IAAK,EAChF,IAAIA,EAAI,EAAGA,EAAIoT,IAAKpT,EACnBggB,EAAQJ,EAAM5f,GACF,GAATggB,IAAYG,EAAMngB,GAAKigB,EAASD,EAAM,OAI1C,IAAII,EAAQ,EACZ,IAAIpgB,EAAI,EAAGA,EAAIoT,IAAKpT,EAEnB,GADAogB,EAAQR,EAAM5f,GACF,GAATogB,EAEF,IADAJ,EAAQxB,GAAW2B,EAAMngB,GAAI+f,IAAUA,EAAOK,EAC1CnU,GAAK,GAAI8T,EAAS,EAAIK,GAAU,EAAGnU,GAAG,IAAKA,EAC9C4T,EAAKG,EAAO/T,GAAGmU,GAAiB,GAANA,EAAapgB,GAAG,EAG7C,OAAO+f,EAGR,IAAIM,GAAW/B,GAAmB,IAAI4B,YAAY,KAAOX,GAAgB,KACrEe,GAAWhC,GAAmB,IAAI4B,YAAY,IAAOX,GAAgB,IACzE,IAAIjB,GAAkB,CACrB,IAAI,IAAIte,GAAI,EAAGA,GAAI,MAAOA,GAAGqgB,GAASrgB,IAAK,EAC3C,IAAIA,GAAI,EAAGA,GAAI,KAAMA,GAAGsgB,GAAStgB,IAAK,GAEvC,WAGC,IAFA,IAAIugB,EAAQ,GACRvgB,EAAI,EACHA,EAAE,GAAIA,IAAKugB,EAAMxiB,KAAK,GAC3B4hB,GAAWY,EAAOD,GAAU,IAE5B,IAAIV,EAAQ,GAEZ,IADA5f,EAAI,EACEA,GAAG,IAAKA,IAAK4f,EAAM7hB,KAAK,GAC9B,KAAMiC,GAAG,IAAKA,IAAK4f,EAAM7hB,KAAK,GAC9B,KAAMiC,GAAG,IAAKA,IAAK4f,EAAM7hB,KAAK,GAC9B,KAAMiC,GAAG,IAAKA,IAAK4f,EAAM7hB,KAAK,GAC9B4hB,GAAWC,EAAOS,GAAU,MAZ7B,GAeA,IAAIG,GAAWlC,GAAmB,IAAI4B,YAAY,OAASX,GAAgB,OACvEkB,GAAWnC,GAAmB,IAAI4B,YAAY,OAASX,GAAgB,OACvEmB,GAAWpC,GAAmB,IAAI4B,YAAY,KAASX,GAAgB,KACvEoB,GAAY,EAAGC,GAAY,EAG/B,SAASC,GAAI3hB,EAAMugB,GAElB,IAAIqB,EAAQ9B,GAAY9f,EAAMugB,GAAQ,IAAKA,GAAQ,EACnD,IAAIsB,EAAS/B,GAAY9f,EAAMugB,GAAQ,EAAGA,GAAQ,EAClD,IAAIuB,EAASjC,GAAY7f,EAAMugB,GAAQ,EAAGA,GAAQ,EAUlD,IATA,IAAI9U,EAAI,EAGJiV,EAAQtB,GAAmB,IAAIrZ,WAAW,IAAMsa,GAAgB,IAChEY,EAAQ,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAChEJ,EAAS,EACTE,EAAY3B,GAAmB,IAAIrZ,WAAW,GAAKsa,GAAgB,GACnE0B,EAAY3C,GAAmB,IAAIrZ,WAAW,GAAKsa,GAAgB,GACnEnM,EAAIwM,EAAMthB,OACN0B,EAAI,EAAGA,EAAIghB,IAAUhhB,EAC5B4f,EAAM1B,EAAWle,IAAM2K,EAAImU,GAAY5f,EAAMugB,GAC1CM,EAASpV,IAAGoV,EAASpV,GACxBsV,EAAStV,KACT8U,GAAQ,EAIT,IAAIO,EAAQ,EAEZ,IADAC,EAAS,GAAK,EACVjgB,EAAI,EAAGA,GAAK+f,IAAU/f,EAAGihB,EAAUjhB,GAAKggB,EAASA,EAAQC,EAASjgB,EAAE,IAAK,EAC7E,IAAIA,EAAI,EAAGA,EAAIoT,IAAKpT,EAA4B,IAArBggB,EAAQJ,EAAM5f,MAAUmgB,EAAMngB,GAAKihB,EAAUjB,MAExE,IAAII,EAAQ,EACZ,IAAIpgB,EAAI,EAAGA,EAAIoT,IAAKpT,EAEnB,GADAogB,EAAQR,EAAM5f,GACF,GAATogB,EAAY,CACdJ,EAAQzB,GAAS4B,EAAMngB,KAAM,EAAEogB,EAC/B,IAAI,IAAInU,GAAK,GAAI,EAAEmU,GAAQ,EAAGnU,GAAG,IAAKA,EAAGyU,GAASV,EAAO/T,GAAGmU,GAAiB,EAANA,EAAYpgB,GAAG,EAKxF,IAAIkhB,EAAS,GAEb,IADAnB,EAAS,EACHmB,EAAO5iB,OAASwiB,EAAQC,GAG7B,OAFAf,EAAQU,GAASzB,GAAY/f,EAAMugB,IACnCA,GAAgB,EAARO,EACAA,KAAW,GAClB,KAAK,GACJrV,EAAI,EAAIgU,GAAYzf,EAAMugB,GAAOA,GAAQ,EACzCO,EAAQkB,EAAOA,EAAO5iB,OAAS,GAC/B,MAAMqM,KAAM,EAAGuW,EAAOnjB,KAAKiiB,GAC3B,MACD,KAAK,GACJrV,EAAI,EAAImU,GAAY5f,EAAMugB,GAAOA,GAAQ,EACzC,MAAM9U,KAAM,EAAGuW,EAAOnjB,KAAK,GAC3B,MACD,KAAK,GACJ4M,EAAI,GAAKsU,GAAY/f,EAAMugB,GAAOA,GAAQ,EAC1C,MAAM9U,KAAO,EAAGuW,EAAOnjB,KAAK,GAC5B,MACD,QACCmjB,EAAOnjB,KAAKiiB,GACTD,EAASC,IAAOD,EAASC,GAC5B,MAKH,IAAImB,EAAKD,EAAO1e,MAAM,EAAGse,GAAQM,EAAKF,EAAO1e,MAAMse,GACnD,IAAI9gB,EAAI8gB,EAAO9gB,EAAI,MAAOA,EAAGmhB,EAAGnhB,GAAK,EACrC,IAAIA,EAAI+gB,EAAQ/gB,EAAI,KAAMA,EAAGohB,EAAGphB,GAAK,EAGrC,OAFA2gB,GAAYhB,GAAWwB,EAAIX,GAAU,KACrCI,GAAYjB,GAAWyB,EAAIX,GAAU,IAC9BhB,EAIR,SAAS4B,GAAQniB,EAAM2e,GAEtB,GAAc,GAAX3e,EAAK,MAAuB,EAAVA,EAAK,IAAa,MAAO,CAACuF,EAAYoZ,GAAM,GAGjE,IAAI4B,EAAO,EAGPhJ,EAAS,EAET6K,EAAS5c,EAAemZ,GAAa,GAAG,IACxC0D,EAAO,EACPC,EAAKF,EAAOhjB,SAAS,EACrBmjB,EAAY,EAAGC,EAAY,EAE/B,MAAoB,IAAN,EAAPjL,GAEN,GADAA,EAASqI,GAAY5f,EAAMugB,GAAOA,GAAQ,EACtChJ,IAAW,GAAM,EAuBrB,IATWA,IAAW,GAAM,GAE3BgL,EAAY,EAAGC,EAAY,IAG3BjC,EAAOoB,GAAI3hB,EAAMugB,GACjBgC,EAAYd,GAAWe,EAAYd,KAEhC/C,GAAQ2D,EAAKD,EAAO,QAAUD,EAASnC,GAAQmC,EAAQC,EAAO,OAAQC,EAAKF,EAAOhjB,UAC9E,CAEP,IAAIqjB,EAAOzC,GAAYhgB,EAAMugB,EAAMgC,GAC/BG,EAAQnL,IAAS,GAAM,EAAI4J,GAASsB,GAAQnB,GAASmB,GAGzD,GAFAlC,GAAe,GAAPmC,EAAWA,KAAU,EAEJ,KAApBA,IAAO,EAAG,KAAaN,EAAOC,KAAUK,MACxC,IAAW,KAARA,EAAa,MAEpBA,GAAQ,IACR,IAAIC,EAAUD,EAAO,EAAK,EAAMA,EAAK,GAAI,EAAOC,EAAS,IAAGA,EAAS,GACrE,IAAIxM,EAAMkM,EAAOpD,EAAOyD,GAErBC,EAAS,IACXxM,GAAO6J,GAAYhgB,EAAMugB,EAAMoC,GAC/BpC,GAAQoC,GAITF,EAAOzC,GAAYhgB,EAAMugB,EAAMiC,GAC/BE,EAAQnL,IAAS,GAAM,EAAI6J,GAASqB,GAAQlB,GAASkB,GACrDlC,GAAe,GAAPmC,EAAWA,KAAU,EAC7B,IAAIE,EAAUF,EAAO,EAAI,EAAKA,EAAK,GAAI,EACnCG,EAAM3D,EAAOwD,GAEdE,EAAS,IACXC,GAAO7C,GAAYhgB,EAAMugB,EAAMqC,GAC/BrC,GAAQqC,IAILjE,GAAO2D,EAAKnM,IAAOiM,EAASnC,GAAQmC,EAAQjM,GAAMmM,EAAKF,EAAOhjB,QAClE,MAAMijB,EAAOlM,EAAOiM,EAAOC,GAAQD,EAAOC,EAAOQ,KAAQR,OAvD3D,CAEW,EAAP9B,IAAUA,GAAQ,GAAU,EAALA,IAE1B,IAAIrK,EAAKlW,EAAKugB,IAAO,GAAKvgB,EAAgB,GAAVugB,IAAO,KAAO,EAI9C,GAHAA,GAAQ,IAEJ5B,GAAO2D,EAAKD,EAAOnM,IAAMkM,EAASnC,GAAQmC,EAAQC,EAAOnM,GAAKoM,EAAKF,EAAOhjB,QACtD,oBAAdY,EAAKkgB,KAEdlgB,EAAKkgB,KAAKkC,EAAQC,EAAM9B,IAAO,GAAIA,IAAO,GAAGrK,GAC7CmM,GAAQnM,EAAIqK,GAAQ,EAAErK,OAChB,MAAMA,KAAO,EAAKkM,EAAOC,KAAUriB,EAAKugB,IAAO,GAAIA,GAAQ,EA+CpE,MAAO,CAAC5B,EAAMyD,EAASA,EAAO9e,MAAM,EAAG+e,GAAQ9B,EAAK,IAAK,GAG1D,SAAS3B,GAAS1F,EAASyF,GAC1B,IAAI3e,EAAOkZ,EAAQ5V,MAAM4V,EAAQnS,GAAG,GAChCwC,EAAM4Y,GAAQniB,EAAM2e,GAExB,OADAzF,EAAQnS,GAAKwC,EAAI,GACVA,EAAI,GAGZ,SAASuZ,GAAcC,EAAKC,GAC3B,IAAGD,EACE,MAAM,IAAI3c,MAAM4c,GADW,qBAAZxE,SAAyBA,QAAQ9e,MAAMsjB,GAI5D,SAASpM,GAAUF,EAAMC,GACxB,IAAIZ,EAAOW,EACXV,GAAUD,EAAM,GAEhB,IAAIqC,EAAY,GAAIC,EAAY,GAC5B1V,EAAI,CACPyV,UAAWA,EACXC,UAAWA,GAEZ8C,EAASxY,EAAG,CAAE0Y,KAAM1E,EAAQ0E,OAG5B,IAAIva,EAAIiV,EAAK3W,OAAS,EACtB,OAAkB,IAAX2W,EAAKjV,IAA2B,IAAbiV,EAAKjV,EAAE,IAA2B,GAAbiV,EAAKjV,EAAE,IAA2B,GAAbiV,EAAKjV,EAAE,KAAeA,GAAK,IAAKA,EACpGiV,EAAKhP,EAAIjG,EAAI,EAGbiV,EAAKhP,GAAK,EACV,IAAIkc,EAAOlN,EAAKR,WAAW,GAC3BQ,EAAKhP,GAAK,EACV,IAAImc,EAAWnN,EAAKR,WAAW,GAK/B,IAFAQ,EAAKhP,EAAImc,EAELpiB,EAAI,EAAGA,EAAImiB,IAAQniB,EAAG,CAEzBiV,EAAKhP,GAAK,GACV,IAAIoc,EAAMpN,EAAKR,WAAW,GACtBoJ,EAAM5I,EAAKR,WAAW,GACtB8E,EAAUtE,EAAKR,WAAW,GAC1B6N,EAAOrN,EAAKR,WAAW,GACvB8N,EAAOtN,EAAKR,WAAW,GAC3BQ,EAAKhP,GAAK,EACV,IAAI+T,EAAS/E,EAAKR,WAAW,GACzB+N,EAAKxN,EAAkBC,EAAKzS,MAAMyS,EAAKhP,EAAEsT,EAAStE,EAAKhP,EAAEsT,EAAQ+I,IACrErN,EAAKhP,GAAKsT,EAAU+I,EAAOC,EAE3B,IAAInP,EAAI6B,EAAKhP,EACbgP,EAAKhP,EAAI+T,EAAS,EAClByI,GAAiBxN,EAAMoN,EAAKxE,EAAKhc,EAAG2gB,GACpCvN,EAAKhP,EAAImN,EAGV,OAAOvR,EAKR,SAAS4gB,GAAiBxN,EAAMoN,EAAKxE,EAAKhc,EAAG2gB,GAE5CvN,EAAKhP,GAAK,EACV,IAAIkP,EAAQF,EAAKR,WAAW,GACxBiO,EAAOzN,EAAKR,WAAW,GACvBpM,EAAOmM,EAAeS,GAE1B,GAAW,KAARE,EAAgB,MAAM,IAAI7P,MAAM,8BASpB,IARf,IAAIqd,EAAQ1N,EAAKR,WAAW,GACxBmO,EAAO3N,EAAKR,WAAW,GACvBoO,EAAO5N,EAAKR,WAAW,GAEvB8E,EAAUtE,EAAKR,WAAW,GAC1B6N,EAAOrN,EAAKR,WAAW,GAGvByC,EAAO,GAAYlX,EAAI,EAAGA,EAAIuZ,IAAWvZ,EAAGkX,GAAQjV,OAAOC,aAAa+S,EAAKA,EAAKhP,MACtF,GAAGqc,EAAM,CACR,IAAIQ,EAAK9N,EAAkBC,EAAKzS,MAAMyS,EAAKhP,EAAGgP,EAAKhP,EAAIqc,KACnDQ,EAAG,QAAS,IAAIrN,KAAIpN,EAAOya,EAAG,OAAQrN,MACrC+M,GAAI,IAAI,QAAS,IAAI/M,KAAIpN,EAAOma,EAAG,OAAQ/M,IAEjDR,EAAKhP,GAAKqc,EAKV,IAAIpjB,EAAO+V,EAAKzS,MAAMyS,EAAKhP,EAAGgP,EAAKhP,EAAI2c,GACvC,OAAOF,GACN,KAAK,EAAGxjB,EAAO0e,EAAgB3I,EAAM4N,GAAO,MAC5C,KAAK,EAAG,MACR,QAAS,MAAM,IAAIvd,MAAM,sCAAwCod,GAIlE,IAAIT,GAAM,EACC,EAAR9M,IACFwN,EAAQ1N,EAAKR,WAAW,GACZ,WAATkO,IAAuBA,EAAQ1N,EAAKR,WAAW,GAAIwN,GAAM,GAC5DW,EAAO3N,EAAKR,WAAW,GACvBoO,EAAO5N,EAAKR,WAAW,IAGrBmO,GAAQP,GAAKL,GAAcC,EAAK,wBAA0BI,EAAM,OAASO,GACzEC,GAAQhF,GAAKmE,GAAcC,EAAK,0BAA4BpE,EAAM,OAASgF,GAC9E,IAAIE,EAASpQ,EAAMxO,IAAIjF,EAAM,GAC1ByjB,GAASI,GAAQf,GAAcC,EAAK,uBAAyBU,EAAQ,OAASI,GACjFC,GAAQnhB,EAAGqV,EAAMhY,EAAM,CAAC+jB,QAAQ,EAAMxN,GAAIpN,IAE3C,SAASkT,GAAUjB,EAAKzE,GACvB,IAAIwF,EAAQxF,GAAW,GACnBpN,EAAM,GAAIya,EAAQ,GAClBrhB,EAAI6W,GAAQ,GACZ/b,EAAU0e,EAAM8H,YAAc,EAAI,EAAIhO,EAAQ,EAC9CiO,GAAO,EACRA,IAAMjO,GAAS,GAClB,IAAInV,EAAI,EAAGiM,EAAI,EAEXmW,EAAW,EAAGD,EAAO,EACrB5H,EAAOD,EAAI/C,UAAU,GAAI8L,EAAK9I,EAAM+I,EAAKhJ,EAAIhD,UAAU,GACvDiM,EAAO,GACPC,EAAQ,EAEZ,IAAIxjB,EAAI,EAAGA,EAAIsa,EAAI/C,UAAUjZ,SAAU0B,EAEtC,GADAqjB,EAAK/I,EAAI/C,UAAUvX,GAAGwC,MAAM+X,EAAKjc,QAASglB,EAAKhJ,EAAIhD,UAAUtX,GACzDsjB,EAAG/K,MAAS+K,EAAGvJ,SAAiB,YAANsJ,EAA9B,CACA,IAAI/K,EAAQ8J,EAGRqB,EAAU/K,GAAQ2K,EAAG/kB,QACzB,IAAI2N,EAAI,EAAGA,EAAIoX,EAAG/kB,SAAU2N,EAAGwX,EAAQnP,YAAY,EAAsB,IAAnB+O,EAAGthB,WAAWkK,IACpEwX,EAAUA,EAAQjhB,MAAM,EAAGihB,EAAQxd,GACnCsd,EAAKpB,GAAQxP,EAAMxO,IAAImf,EAAGvJ,QAAS,GAEnC,IAAIuH,EAASgC,EAAGvJ,QACH,GAAVpd,IAAa2kB,EAASvD,EAAgBuD,IAGzCzf,EAAI6W,GAAQ,IACZ7W,EAAEyS,YAAY,EAAG,UACjBzS,EAAEyS,YAAY,EAAG,IACjBzS,EAAEyS,YAAY,EAAGa,GACjBtT,EAAEyS,YAAY,EAAG3X,GAEd2mB,EAAG7N,GAAIxB,EAAepS,EAAGyhB,EAAG7N,IAC1B5T,EAAEyS,YAAY,EAAG,GACtBzS,EAAEyS,aAAa,EAAY,EAARa,EAAa,EAAIoO,EAAKpB,IACzCtgB,EAAEyS,YAAY,EAAa,EAARa,EAAa,EAAImM,EAAOhjB,QAC3CuD,EAAEyS,YAAY,EAAa,EAARa,EAAa,EAAImO,EAAGvJ,QAAQzb,QAC/CuD,EAAEyS,YAAY,EAAGmP,EAAQnlB,QACzBuD,EAAEyS,YAAY,EAAG,GAEjB8N,GAAYvgB,EAAEvD,OACdmK,EAAI1K,KAAK8D,GACTugB,GAAYqB,EAAQnlB,OACpBmK,EAAI1K,KAAK0lB,GAGTrB,GAAYd,EAAOhjB,OACnBmK,EAAI1K,KAAKujB,GAGE,EAARnM,IACFtT,EAAI6W,GAAQ,IACZ7W,EAAEyS,aAAa,EAAGiP,EAAKpB,IACvBtgB,EAAEyS,YAAY,EAAGgN,EAAOhjB,QACxBuD,EAAEyS,YAAY,EAAGgP,EAAGvJ,QAAQzb,QAC5B8jB,GAAYvgB,EAAEoE,EACdwC,EAAI1K,KAAK8D,IAIVA,EAAI6W,GAAQ,IACZ7W,EAAEyS,YAAY,EAAG,UACjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,IACjBzS,EAAEyS,YAAY,EAAGa,GACjBtT,EAAEyS,YAAY,EAAG3X,GACjBkF,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,aAAa,EAAGiP,EAAKpB,IAEvBtgB,EAAEyS,YAAY,EAAGgN,EAAOhjB,QACxBuD,EAAEyS,YAAY,EAAGgP,EAAGvJ,QAAQzb,QAC5BuD,EAAEyS,YAAY,EAAGmP,EAAQnlB,QACzBuD,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAGgE,GAEjBkL,GAAS3hB,EAAEoE,EACXid,EAAMnlB,KAAK8D,GACX2hB,GAASC,EAAQnlB,OACjB4kB,EAAMnlB,KAAK0lB,KACTtB,EAcH,OAVAtgB,EAAI6W,GAAQ,IACZ7W,EAAEyS,YAAY,EAAG,WACjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG6N,GACjBtgB,EAAEyS,YAAY,EAAG6N,GACjBtgB,EAAEyS,YAAY,EAAGkP,GACjB3hB,EAAEyS,YAAY,EAAG8N,GACjBvgB,EAAEyS,YAAY,EAAG,GAEV9O,EAAQ,CAAEA,EAAQ,GAAQA,EAAQ0d,GAAQrhB,IAElD,SAAS6hB,GAAQvb,GAChB,IAAItG,EAAI,GAER,OADAwY,EAASxY,EAAGsG,GACLtG,EAGR,SAASmhB,GAAQ1I,EAAKpD,EAAM6C,EAAS5R,GACpC,IAAI8a,EAAS9a,GAAQA,EAAK8a,OACtBA,GAAQ5I,EAASC,GACrB,IAAI1E,GAAQqN,GAAUxP,EAAIkH,KAAKL,EAAKpD,GACpC,IAAItB,EAAM,CACT,IAAI+N,EAAQrJ,EAAI/C,UAAU,GACvBL,EAAK1U,MAAM,EAAGmhB,EAAMrlB,SAAWqlB,EAAOA,EAAQzM,GAE1B,KAAnByM,EAAMnhB,OAAO,KAAWmhB,GAAS,KACpCA,GAASA,EAAQzM,GAAMjY,QAAQ,KAAK,MAErC2W,EAAO,CAAEsB,KAAMlD,EAASkD,GAAOzL,KAAM,GACrC6O,EAAIhD,UAAUvZ,KAAK6X,GACnB0E,EAAI/C,UAAUxZ,KAAK4lB,GACfV,GAAQxP,EAAIhY,MAAMmoB,OAAOtJ,GAS9B,OAPD1E,EAAKmE,QAAU,EACdnE,EAAK2C,KAAOwB,EAAUA,EAAQzb,OAAS,EACpC6J,IACCA,EAAKqS,QAAO5E,EAAK8D,MAAQvR,EAAKqS,OAC9BrS,EAAKsN,KAAIG,EAAKH,GAAKtN,EAAKsN,IACxBtN,EAAKyR,KAAIhE,EAAKgE,GAAKzR,EAAKyR,KAErBhE,EAGR,SAASiO,GAAQvJ,EAAKpD,GACrBmD,EAASC,GACT,IAAI1E,EAAOnC,EAAIkH,KAAKL,EAAKpD,GACzB,GAAGtB,EAAM,IAAI,IAAI3J,EAAI,EAAGA,EAAIqO,EAAIhD,UAAUhZ,SAAU2N,EAAG,GAAGqO,EAAIhD,UAAUrL,IAAM2J,EAG7E,OAFA0E,EAAIhD,UAAUwM,OAAO7X,EAAG,GACxBqO,EAAI/C,UAAUuM,OAAO7X,EAAG,IACjB,EAER,OAAO,EAGR,SAAS8X,GAAQzJ,EAAK0J,EAAUC,GAC/B5J,EAASC,GACT,IAAI1E,EAAOnC,EAAIkH,KAAKL,EAAK0J,GACzB,GAAGpO,EAAM,IAAI,IAAI3J,EAAI,EAAGA,EAAIqO,EAAIhD,UAAUhZ,SAAU2N,EAAG,GAAGqO,EAAIhD,UAAUrL,IAAM2J,EAG7E,OAFA0E,EAAIhD,UAAUrL,GAAGiL,KAAOlD,EAASiQ,GACjC3J,EAAI/C,UAAUtL,GAAKgY,GACZ,EAER,OAAO,EAGR,SAASL,GAAOtJ,GAAOM,EAAYN,GAAK,GAuBxC,OArBAlb,EAAQub,KAAOA,EACfvb,EAAQgb,KAAOA,EACfhb,EAAQuW,MAAQA,EAChBvW,EAAQ8d,MAAQA,EAChB9d,EAAQ8kB,UAAYlH,EACpB5d,EAAQ3D,MAAQ,CACfioB,QAASA,GACTV,QAASA,GACTa,QAASA,GACTE,QAASA,GACTH,OAAQA,GACRO,UAAWA,GACXC,WAAYA,GACZlP,UAAWA,GACX1P,QAASA,EACT2X,SAAUA,EACVqC,YAAavB,GACboG,YAAavG,GACb7B,OAAQA,GAGF7c,EA/yCG,GAkzCyF,qBAAtBwT,IAAqCzT,EAAOC,QAAUqU,GAEhG,IAAMD,EAAM,EAAQ,GAAS,MAAMtP,KAGtE,SAASogB,EAAQplB,GAChB,MAAmB,kBAATA,EAA0B4F,EAAK5F,GACtCjB,MAAMkH,QAAQjG,GAAcmG,EAAInG,GAC5BA,EAGR,SAASqlB,EAASC,EAAOpM,EAAShU,GAEjC,GAAkB,qBAARoP,GAAuBA,EAAIyJ,cAAe,OAAO7Y,EAAMoP,EAAIyJ,cAAcuH,EAAOpM,EAAShU,GAAOoP,EAAIyJ,cAAcuH,EAAOpM,GACnI,IAAIlZ,EAAe,QAAPkF,EAAiBqgB,GAAUrM,GAAWA,EACnD,GAA0B,qBAAhBsM,YAA6B,OAAOA,YAAYxlB,EAAMslB,GAC/D,GAAmB,qBAATG,KAAsB,CAC/B,IAAI1P,EAAO,IAAI0P,KAAK,CAACL,EAAQplB,IAAQ,CAACuM,KAAK,6BAC7C,GAAwB,qBAAdmZ,WAA6BA,UAAUC,WAAY,OAAOD,UAAUC,WAAW5P,EAAMuP,GAC/F,GAAqB,qBAAXM,OAAwB,OAAOA,OAAO7P,EAAMuP,GACpD,GAAkB,qBAARO,KAA2C,qBAAbC,UAA4BA,SAASC,eAAiBF,IAAIG,gBAAiB,CAClH,IAAIxoB,EAAMqoB,IAAIG,gBAAgBjQ,GACjC,GAAqB,kBAAXkQ,QAAiE,mBAAlCA,OAAOC,WAAW,IAAIC,SAE3D,OADGN,IAAIO,iBAAyC,qBAAfC,YAA4BA,YAAW,WAAaR,IAAIO,gBAAgB5oB,KAAS,KAC3GyoB,OAAOC,UAAUC,SAAS,CAAE3oB,IAAKA,EAAKsX,SAAUwQ,EAAOM,QAAQ,IAEvE,IAAIzF,EAAI2F,SAASC,cAAc,KAC/B,GAAiB,MAAd5F,EAAEgG,SAIJ,OAHJhG,EAAEgG,SAAWb,EAAOnF,EAAEmG,KAAO9oB,EAAKsoB,SAASS,KAAKC,YAAYrG,GAAIA,EAAEsG,QAClEX,SAASS,KAAKG,YAAYvG,GACnB0F,IAAIO,iBAAyC,qBAAfC,YAA4BA,YAAW,WAAaR,IAAIO,gBAAgB5oB,KAAS,KAC3GA,GAKV,GAAgB,qBAANmpB,GAAqC,qBAATC,MAA0C,qBAAXC,OAAwB,IAE5F,IAAItd,EAAMqd,KAAKtB,GAEkB,OAFV/b,EAAIud,KAAK,KAAMvd,EAAIwd,SAAW,SAClDhoB,MAAMkH,QAAQiT,KAAUA,EAAUlT,EAAIkT,IACzC3P,EAAIyU,MAAM9E,GAAU3P,EAAIyd,QAAgB9N,EACvC,MAAMlU,IAAK,IAAIA,GAAEyZ,UAAYzZ,GAAEyZ,QAAQ/Q,MAAM,YAAa,MAAM1I,GAClE,MAAM,IAAIoB,MAAM,oBAAsBkf,GAIvC,SAAS2B,EAAY9J,GACpB,GAAkB,qBAAR7I,EAAqB,OAAOA,EAAI2G,aAAakC,GAEvD,GAAgB,qBAANwJ,GAAqC,qBAATC,MAA0C,qBAAXC,OAAwB,IAE5F,IAAIK,EAASN,KAAKzJ,GAAO+J,EAAOJ,KAAK,KAAMI,EAAOH,SAAW,SAC7D,IAAI/mB,EAAOknB,EAAOhM,OAClB,OAD0BgM,EAAOF,QAC1BhnB,EACN,MAAMgF,IAAK,IAAIA,GAAEyZ,UAAYzZ,GAAEyZ,QAAQ/Q,MAAM,YAAa,MAAM1I,GAClE,MAAM,IAAIoB,MAAM,sBAAwB+W,GAEzC,SAASgK,EAAKxkB,GAEb,IADA,IAAIykB,EAAKC,OAAOF,KAAKxkB,GAAI2kB,EAAK,GACtBxmB,EAAI,EAAGA,EAAIsmB,EAAGhoB,SAAU0B,EAAM6B,EAAE4kB,eAAeH,EAAGtmB,KAAKwmB,EAAGzoB,KAAKuoB,EAAGtmB,IAC1E,OAAOwmB,EAGR,SAASE,EAAUC,EAAKC,GAEvB,IADA,IAAI/kB,EAAI,GAAMglB,EAAIR,EAAKM,GACf3mB,EAAI,EAAGA,IAAM6mB,EAAEvoB,SAAU0B,EAA2B,MAArB6B,EAAE8kB,EAAIE,EAAE7mB,IAAI4mB,MAAe/kB,EAAE8kB,EAAIE,EAAE7mB,IAAI4mB,IAAQC,EAAE7mB,IACxF,OAAO6B,EAGR,SAASilB,GAAMH,GAEd,IADA,IAAI9kB,EAAI,GAAMglB,EAAIR,EAAKM,GACf3mB,EAAI,EAAGA,IAAM6mB,EAAEvoB,SAAU0B,EAAG6B,EAAE8kB,EAAIE,EAAE7mB,KAAO6mB,EAAE7mB,GACrD,OAAO6B,EAGR,SAASklB,GAAUJ,GAElB,IADA,IAAI9kB,EAAI,GAAMglB,EAAIR,EAAKM,GACf3mB,EAAI,EAAGA,IAAM6mB,EAAEvoB,SAAU0B,EAAG6B,EAAE8kB,EAAIE,EAAE7mB,KAAO0N,SAASmZ,EAAE7mB,GAAG,IACjE,OAAO6B,EAGR,SAASmlB,GAAUL,GAElB,IADA,IAAI9kB,EAAI,GAAMglB,EAAIR,EAAKM,GACf3mB,EAAI,EAAGA,IAAM6mB,EAAEvoB,SAAU0B,EACb,MAAhB6B,EAAE8kB,EAAIE,EAAE7mB,OAAc6B,EAAE8kB,EAAIE,EAAE7mB,KAAO,IACxC6B,EAAE8kB,EAAIE,EAAE7mB,KAAKjC,KAAK8oB,EAAE7mB,IAErB,OAAO6B,EAGR,IAAI6H,GAAW,IAAIP,KAAK,KAAM,GAAI,GAAI,EAAG,EAAG,GACxCQ,GAAWD,GAASE,UAA8E,MAAjE,IAAIT,MAAOa,oBAAsBN,GAASM,qBAC/E,SAASid,GAAQ9gB,EAAG+C,GACnB,IAAIa,EAAQ5D,EAAEyD,UAEd,OADGV,IAAUa,GAAS,YACdA,EAAQJ,IAAY,MAE7B,SAASud,GAAQ/gB,GAChB,IAAIsC,EAAM,IAAIU,KAEd,OADAV,EAAI0e,QAAY,GAAJhhB,EAAS,GAAK,GAAK,IAAOwD,IAC/BlB,EAIR,SAAS2e,GAAaxiB,GACrB,IAAIyiB,EAAM,EAAG5R,EAAK,EAAGnN,GAAO,EACxBO,EAAIjE,EAAEgI,MAAM,8EAChB,IAAI/D,EAAG,MAAM,IAAIvD,MAAM,IAAMV,EAAI,gCACjC,IAAI,IAAI5E,EAAI,EAAGA,GAAK6I,EAAEvK,SAAU0B,EAC/B,GAAI6I,EAAE7I,GAAN,CAGA,OAFAyV,EAAK,EACFzV,EAAI,IAAGsI,GAAO,GACVO,EAAE7I,GAAGwC,MAAMqG,EAAE7I,GAAG1B,OAAO,IAC7B,IAAK,IACJ,MAAM,IAAIgH,MAAM,mCAAqCuD,EAAE7I,GAAGwC,MAAMqG,EAAE7I,GAAG1B,OAAO,IAC7E,IAAK,IAAKmX,GAAM,GAEhB,IAAK,IAAKA,GAAM,GAEhB,IAAK,IACJ,IAAInN,EAAM,MAAM,IAAIhD,MAAM,qCACrBmQ,GAAM,GAEZ,IAAK,IAAK,MAEX4R,GAAO5R,EAAK/H,SAAS7E,EAAE7I,GAAI,IAE5B,OAAOqnB,EAGR,IAAIC,GAAe,IAAIne,KAAK,4BACzB3F,MAAM8jB,GAAahe,iBAAgBge,GAAe,IAAIne,KAAK,YAC9D,IAAIoe,GAAwC,MAA9BD,GAAahe,cAE3B,SAASke,GAAUpZ,EAAKqZ,GACvB,IAAIrhB,EAAI,IAAI+C,KAAKiF,GACjB,GAAGmZ,GAGF,OAFCE,EAAU,EAAGrhB,EAAE+gB,QAAQ/gB,EAAEwD,UAAoC,GAAxBxD,EAAE4D,oBAA2B,KAC3Dyd,EAAU,GAAGrhB,EAAE+gB,QAAQ/gB,EAAEwD,UAAoC,GAAxBxD,EAAE4D,oBAA2B,KACnE5D,EAER,GAAGgI,aAAejF,KAAM,OAAOiF,EAC/B,GAAiC,MAA9BkZ,GAAahe,gBAA0B9F,MAAM4C,EAAEkD,eAAgB,CACjE,IAAI1E,EAAIwB,EAAEkD,cACV,OAAG8E,EAAI5M,QAAQ,GAAKoD,IAAM,GAC1BwB,EAAEuO,YAAYvO,EAAEkD,cAAgB,KADIlD,EAGrC,IAAI7B,EAAI6J,EAAIxB,MAAM,SAAS,CAAC,OAAO,IAAI,KAAK,IAAI,IAAI,KAChDnE,EAAM,IAAIU,MAAM5E,EAAE,IAAKA,EAAE,GAAK,GAAIA,EAAE,IAAMA,EAAE,IAAI,GAAMA,EAAE,IAAI,GAAMA,EAAE,IAAI,GAE5E,OADG6J,EAAI5M,QAAQ,MAAQ,IAAGiH,EAAM,IAAIU,KAAKV,EAAImB,UAAsC,GAA1BnB,EAAIuB,oBAA2B,MACjFvB,EAGR,SAASif,GAAOpoB,GAEf,IADA,IAAIuC,EAAI,GACA7B,EAAI,EAAGA,GAAKV,EAAIhB,SAAU0B,EAAG6B,GAAKI,OAAOC,aAAa5C,EAAIU,IAClE,OAAO6B,EAGR,SAAS8lB,GAAI9lB,GACZ,GAAkB,oBAAR+lB,OAAwB3pB,MAAMkH,QAAQtD,GAAI,OAAO+lB,KAAKjS,MAAMiS,KAAKC,UAAUhmB,IACrF,GAAe,iBAALA,GAAsB,MAALA,EAAW,OAAOA,EAC7C,GAAGA,aAAasH,KAAM,OAAO,IAAIA,KAAKtH,EAAE+H,WACxC,IAAInB,EAAM,GACV,IAAI,IAAI4Q,KAAKxX,EAAMA,EAAE4kB,eAAepN,KAAI5Q,EAAI4Q,GAAKsO,GAAI9lB,EAAEwX,KACvD,OAAO5Q,EAGR,SAAS1C,GAAKC,EAAEC,GAAK,IAAIpE,EAAI,GAAI,MAAMA,EAAEvD,OAAS2H,EAAGpE,GAAGmE,EAAG,OAAOnE,EAGlE,SAASimB,GAASljB,GACjB,IAAIuB,EAAI4hB,OAAOnjB,GACf,IAAIpB,MAAM2C,GAAI,OAAOA,EACrB,IAAI6hB,EAAK,EACLnc,EAAKjH,EAAE3F,QAAQ,iBAAiB,QAAQA,QAAQ,OAAO,IAAIA,QAAQ,QAAQ,WAAwB,OAAX+oB,GAAM,IAAY,MAC9G,OAAIxkB,MAAM2C,EAAI4hB,OAAOlc,KACrBA,EAAKA,EAAG5M,QAAQ,cAAa,SAAS+N,EAAIC,GAAgB,OAAV+a,GAAMA,EAAW/a,KAC7DzJ,MAAM2C,EAAI4hB,OAAOlc,IACd1F,EAD2BA,EAAI6hB,GAFJ7hB,EAAI6hB,EAKvC,SAASC,GAAUrjB,GAClB,IAAI/C,EAAI,IAAIsH,KAAKvE,GAAIL,EAAI,IAAI4E,KAAK+e,KAC9Btf,EAAI/G,EAAEsmB,UAAWtf,EAAIhH,EAAE0H,WAAYnD,EAAIvE,EAAEwH,UAC7C,OAAG7F,MAAM4C,IACNwC,EAAI,GAAKA,EAAI,KADIrE,GAEhBsE,EAAI,GAAKzC,EAAI,IAAW,KAALwC,GACpBhE,EAAEhI,cAAcgQ,MAAM,mDADe/K,EAErC+C,EAAEgI,MAAM,iBAAyBrI,EAC7B1C,EAGR,IAkEIumB,GAlEAC,GAAuD,GAApC,UAAUxjB,MAAM,UAAUvG,OACjD,SAASgqB,GAAYla,EAAKma,EAAIC,GAC7B,GAAGH,IAAiC,iBAANE,EAAgB,OAAOna,EAAIvJ,MAAM0jB,GAE/D,IADA,IAAIxU,EAAI3F,EAAIvJ,MAAM0jB,GAAK1mB,EAAI,CAACkS,EAAE,IACtB/T,EAAI,EAAGA,EAAI+T,EAAEzV,SAAU0B,EAAK6B,EAAE9D,KAAKyqB,GAAM3mB,EAAE9D,KAAKgW,EAAE/T,IAC1D,OAAO6B,EAER,SAAS4mB,GAAWvpB,GACnB,OAAIA,EACDA,EAAKA,KAAamD,EAAMnD,EAAKA,MAC7BA,EAAKwpB,cAAgBhlB,EAAgBrB,EAAMnD,EAAKwpB,eAAexe,SAAS,WACxEhL,EAAKypB,SAAiBtmB,EAAMnD,EAAKypB,YACjCzpB,EAAK0pB,OAAS1pB,EAAK0pB,MAAMC,WAAmBxmB,EAAMqlB,GAAOzpB,MAAM1B,UAAUiG,MAAMsmB,KAAK5pB,EAAK0pB,MAAMC,aAAa,KACxG,KALU,KAQlB,SAASE,GAAW7pB,GACnB,IAAIA,EAAM,OAAO,KACjB,GAAGA,EAAKA,KAAM,OAAO0C,EAAW1C,EAAKA,MACrC,GAAGA,EAAKwpB,cAAgBhlB,EAAS,OAAOxE,EAAKwpB,eAC7C,GAAGxpB,EAAK0pB,OAAS1pB,EAAK0pB,MAAMC,WAAY,CACvC,IAAIhnB,EAAI3C,EAAK0pB,MAAMC,aACnB,MAAe,iBAALhnB,EAAsBD,EAAWC,GACpC5D,MAAM1B,UAAUiG,MAAMsmB,KAAKjnB,GAEnC,OAAO,KAGR,SAASmnB,GAAQ9pB,GAAQ,OAAQA,GAAgC,SAAxBA,EAAKgY,KAAK1U,OAAO,GAAiBumB,GAAW7pB,GAAQupB,GAAWvpB,GAIzG,SAAS+pB,GAAeC,EAAKtT,GAG5B,IAFA,IAAIyD,EAAIgN,EAAK6C,EAAI9R,OACb9F,EAAIsE,EAAKhZ,cAAeusB,EAAI7X,EAAErS,QAAQ,MAAM,MACxCe,EAAE,EAAGA,EAAEqZ,EAAE/a,SAAU0B,EAAG,CAC7B,IAAIuE,EAAI8U,EAAErZ,GAAGpD,cACb,GAAG0U,GAAK/M,GAAK4kB,GAAK5kB,EAAG,OAAO2kB,EAAI9R,MAAMiC,EAAErZ,IAEzC,OAAO,KAGR,SAASopB,GAAWF,EAAKtT,GACxB,IAAI/T,EAAIonB,GAAeC,EAAKtT,GAC5B,GAAQ,MAAL/T,EAAW,MAAM,IAAIyD,MAAM,oBAAsBsQ,EAAO,WAC3D,OAAO/T,EAGR,SAASwnB,GAAWH,EAAKtT,EAAM0T,GAC9B,IAAIA,EAAM,OAAON,GAAQI,GAAWF,EAAKtT,IACzC,IAAIA,EAAM,OAAO,KACjB,IAAM,OAAOyT,GAAWH,EAAKtT,GAAS,MAAM1R,IAAK,OAAO,MAGzD,SAASqlB,GAAUL,EAAKtT,EAAM0T,GAC7B,IAAIA,EAAM,OAAOb,GAAWW,GAAWF,EAAKtT,IAC5C,IAAIA,EAAM,OAAO,KACjB,IAAM,OAAO2T,GAAUL,EAAKtT,GAAS,MAAM1R,IAAK,OAAO,MAGxD,SAASslB,GAAWN,GAEnB,IADA,IAAI7P,EAAIgN,EAAK6C,EAAI9R,OAAQvV,EAAI,GACrB7B,EAAI,EAAGA,EAAIqZ,EAAE/a,SAAU0B,EAAwB,KAAlBqZ,EAAErZ,GAAGwC,OAAO,IAAWX,EAAE9D,KAAKsb,EAAErZ,IACrE,OAAO6B,EAAEqZ,OAYV,SAASuO,GAAapN,EAAMzO,GAC3B,IAAI8b,EAAS9b,EAAK/I,MAAM,KACH,KAAlB+I,EAAKpL,OAAO,IAAWknB,EAAO3O,MACjC,IAAI4O,EAAStN,EAAKxX,MAAM,KACxB,MAAyB,IAAlB8kB,EAAOrrB,OAAc,CAC3B,IAAIsrB,EAAOD,EAAOnrB,QACL,OAATorB,EAAeF,EAAO3O,MACR,MAAT6O,GAAcF,EAAO3rB,KAAK6rB,GAEpC,OAAOF,EAAOvnB,KAAK,KAhBI,qBAAd0nB,YAA2BzB,GAAQyB,WAER1qB,EAAOC,SACtB,qBAAVgpB,KAAuBA,GAAQ,EAAQ,SAenD,IAAI0B,GAAa,8DACbC,GAAU,yEACVC,GAAS,4FACRF,GAAWld,MAAMod,MAAYA,GAAW,YAC7C,IAAIC,GAAQ,QAASC,GAAW,aAChC,SAASC,GAAYC,EAAKC,GAGzB,IAFA,IAAIC,EAAI,GACJC,EAAK,EAAGvkB,EAAI,EACVukB,IAAOH,EAAI9rB,SAAUisB,EAAI,GAAgC,MAA5BvkB,EAAIokB,EAAIroB,WAAWwoB,KAAqB,KAANvkB,GAAkB,KAANA,EAAU,MAE3F,GADIqkB,IAAWC,EAAE,GAAKF,EAAI5nB,MAAM,EAAG+nB,IAChCA,IAAOH,EAAI9rB,OAAQ,OAAOgsB,EAC7B,IAAIzhB,EAAIuhB,EAAIxd,MAAMmd,IAAY9d,EAAE,EAAG9F,EAAE,GAAInG,EAAE,EAAGiI,EAAE,GAAIoG,EAAG,GAAImc,EAAO,EAClE,GAAG3hB,EAAG,IAAI7I,EAAI,EAAGA,GAAK6I,EAAEvK,SAAU0B,EAAG,CAEpC,IADAqO,EAAKxF,EAAE7I,GACHgG,EAAE,EAAGA,GAAKqI,EAAG/P,SAAU0H,EAAG,GAAwB,KAArBqI,EAAGtM,WAAWiE,GAAW,MAC1DiC,EAAIoG,EAAG7L,MAAM,EAAEwD,GAAGykB,OAClB,MAA4B,IAAtBpc,EAAGtM,WAAWiE,EAAE,KAAYA,EAGlC,IAFAwkB,EAAmC,KAA1BD,EAAGlc,EAAGtM,WAAWiE,EAAE,KAAmB,IAANukB,EAAY,EAAI,EACzDpkB,EAAIkI,EAAG7L,MAAMwD,EAAE,EAAEwkB,EAAMnc,EAAG/P,OAAOksB,GAC7Bve,EAAE,EAAEA,GAAGhE,EAAE3J,SAAS2N,EAAG,GAAuB,KAApBhE,EAAElG,WAAWkK,GAAW,MACpD,GAAGA,IAAIhE,EAAE3J,OACL2J,EAAEzG,QAAQ,KAAO,IAAGyG,EAAIA,EAAEzF,MAAM,EAAGyF,EAAEzG,QAAQ,OAChD8oB,EAAEriB,GAAK9B,EACPmkB,EAAEriB,EAAErL,eAAiBuJ,MAEjB,CACJ,IAAIkT,GAAS,IAAJpN,GAAwB,UAAfhE,EAAEzF,MAAM,EAAE,GAAa,QAAQ,IAAIyF,EAAEzF,MAAMyJ,EAAE,GAC/D,GAAGqe,EAAEjR,IAAwB,OAAlBpR,EAAEzF,MAAMyJ,EAAE,EAAEA,GAAa,SACpCqe,EAAEjR,GAAKlT,EACPmkB,EAAEjR,EAAEzc,eAAiBuJ,GAGvB,OAAOmkB,EAER,SAASI,GAAShoB,GAAK,OAAOA,EAAEzD,QAAQirB,GAAU,OAElD,IAAIS,GAAY,CACf,SAAU,IACV,SAAU,IACV,OAAQ,IACR,OAAQ,IACR,QAAS,KAENC,GAAY9D,GAAM6D,IAIlBE,GAAc,WAEjB,IAAIC,EAAW,8CAA+CC,EAAY,sBAC1E,OAAO,SAASF,EAAYG,GAC3B,IAAIpmB,EAAIomB,EAAO,GAAIhrB,EAAI4E,EAAEpD,QAAQ,aACjC,IAAS,GAANxB,EAAS,OAAO4E,EAAE3F,QAAQ6rB,GAAU,SAAS9d,EAAIC,GAAM,OAAO0d,GAAU3d,IAAK/K,OAAOC,aAAawL,SAAST,EAAGD,EAAGxL,QAAQ,MAAM,EAAE,GAAG,MAAMwL,KAAO/N,QAAQ8rB,GAAU,SAASliB,EAAE7C,GAAI,OAAO/D,OAAOC,aAAawL,SAAS1H,EAAE,QAC1N,IAAIiG,EAAIrH,EAAEpD,QAAQ,OAClB,OAAOqpB,EAAYjmB,EAAEpC,MAAM,EAAGxC,IAAM4E,EAAEpC,MAAMxC,EAAE,EAAEiM,GAAK4e,EAAYjmB,EAAEpC,MAAMyJ,EAAE,KAP3D,GAWdgf,GAAS,WAAYC,GAAW,gCACpC,SAASC,GAAUH,GAClB,IAAIpmB,EAAIomB,EAAO,GACf,OAAOpmB,EAAE3F,QAAQgsB,IAAU,SAASriB,GAAK,OAAOgiB,GAAUhiB,MAAO3J,QAAQisB,IAAS,SAAStmB,GAAK,MAAO,MAAQ,MAAMA,EAAE7C,WAAW,GAAGmI,SAAS,KAAK1H,OAAO,GAAK,OAEhK,SAAS4oB,GAAaJ,GAAO,OAAOG,GAAUH,GAAM/rB,QAAQ,KAAK,WAEjE,IAAIosB,GAAe,mBACnB,SAASC,GAAWN,GACnB,IAAIpmB,EAAIomB,EAAO,GACf,OAAOpmB,EAAE3F,QAAQgsB,IAAU,SAASriB,GAAK,OAAOgiB,GAAUhiB,MAAO3J,QAAQ,MAAO,SAASA,QAAQosB,IAAa,SAASzmB,GAAK,MAAO,OAAS,MAAMA,EAAE7C,WAAW,GAAGmI,SAAS,KAAK1H,OAAO,GAAK,OAG7L,SAAS+oB,GAAWP,GACnB,IAAIpmB,EAAIomB,EAAO,GACf,OAAOpmB,EAAE3F,QAAQgsB,IAAU,SAASriB,GAAK,OAAOgiB,GAAUhiB,MAAO3J,QAAQosB,IAAa,SAASzmB,GAAK,MAAO,MAASA,EAAE7C,WAAW,GAAGmI,SAAS,IAAK4F,cAAgB,OAInK,IAAI0b,GAAc,WACjB,IAAIC,EAAW,YACf,SAASC,EAAQ1e,EAAGC,GAAM,OAAOhL,OAAOC,aAAawL,SAAST,EAAG,KACjE,OAAO,SAAqBmB,GAAO,OAAOA,EAAInP,QAAQwsB,EAASC,IAH9C,GAKdC,GAAgB,WACnB,OAAO,SAAuBvd,GAAO,OAAOA,EAAInP,QAAQ,iBAAiB,UADtD,GAIpB,SAAS2sB,GAAaC,GACrB,OAAOA,GACN,KAAK,EAAG,KAAK,EAAM,IAAK,IAAK,IAAK,OAAQ,IAAK,OAAQ,OAAO,EAE9D,QAAS,OAAO,GAIlB,IAAIC,GAAW,SAAmBC,GACjC,IAAItjB,EAAM,GAAIzI,EAAI,EAAGgG,EAAI,EAAGI,EAAI,EAAGlC,EAAI,EAAGoN,EAAI,EAAG3G,EAAI,EACrD,MAAO3K,EAAI+rB,EAAKztB,OACf0H,EAAI+lB,EAAKhqB,WAAW/B,KAChBgG,EAAI,IAAOyC,GAAOxG,OAAOC,aAAa8D,IAC1CI,EAAI2lB,EAAKhqB,WAAW/B,KAChBgG,EAAE,KAAOA,EAAE,KAAOsL,GAAU,GAAJtL,IAAW,EAAIsL,GAAU,GAAJlL,EAASqC,GAAOxG,OAAOC,aAAaoP,KACrFpN,EAAI6nB,EAAKhqB,WAAW/B,KAChBgG,EAAI,IAAOyC,GAAOxG,OAAOC,cAAmB,GAAJ8D,IAAW,IAAY,GAAJI,IAAW,EAAU,GAAJlC,IAChFoN,EAAIya,EAAKhqB,WAAW/B,KACpB2K,IAAW,EAAJ3E,IAAU,IAAY,GAAJI,IAAW,IAAY,GAAJlC,IAAW,EAAU,GAAJoN,GAAS,MACtE7I,GAAOxG,OAAOC,aAAa,OAAWyI,IAAI,GAAI,OAC9ClC,GAAOxG,OAAOC,aAAa,OAAY,KAAFyI,OAEtC,OAAOlC,GAGJgc,GAAY,SAASsH,GACxB,IAAItjB,EAAM,GAAIzI,EAAI,EAAGgG,EAAI,EAAGI,EAAI,EAChC,MAAMpG,EAAI+rB,EAAKztB,OAEd,OADA0H,EAAI+lB,EAAKhqB,WAAW/B,MACb,GACN,KAAKgG,EAAI,IAAKyC,EAAI1K,KAAKkE,OAAOC,aAAa8D,IAAK,MAChD,KAAKA,EAAI,KACRyC,EAAI1K,KAAKkE,OAAOC,aAAa,KAAO8D,GAAK,KACzCyC,EAAI1K,KAAKkE,OAAOC,aAAa,KAAW,GAAJ8D,KACpC,MACD,KAAKA,GAAK,OAASA,EAAI,MACtBA,GAAK,MAAOI,EAAI2lB,EAAKhqB,WAAW/B,KAAO,OAASgG,GAAG,IACnDyC,EAAI1K,KAAKkE,OAAOC,aAAa,KAAQkE,GAAI,GAAM,KAC/CqC,EAAI1K,KAAKkE,OAAOC,aAAa,KAAQkE,GAAI,GAAM,MAC/CqC,EAAI1K,KAAKkE,OAAOC,aAAa,KAAQkE,GAAK,EAAK,MAC/CqC,EAAI1K,KAAKkE,OAAOC,aAAa,KAAW,GAAJkE,KACpC,MACD,QACCqC,EAAI1K,KAAKkE,OAAOC,aAAa,KAAO8D,GAAK,MACzCyC,EAAI1K,KAAKkE,OAAOC,aAAa,KAAQ8D,GAAK,EAAK,MAC/CyC,EAAI1K,KAAKkE,OAAOC,aAAa,KAAW,GAAJ8D,KAGvC,OAAOyC,EAAItG,KAAK,KAGjB,GAAGuB,EAAS,CACX,IAAIsoB,GAAY,SAAmB9sB,GAClC,IAAuCyL,EAAG3K,EAAuBgG,EAA7DyC,EAAM9E,EAAOW,MAAM,EAAEpF,EAAKZ,QAAe2N,EAAI,EAAGoN,EAAI,EAAG4S,EAAG,EAC9D,IAAIjsB,EAAI,EAAGA,EAAId,EAAKZ,OAAQ0B,GAAGiM,EAC9BA,EAAI,GACAjG,EAAE9G,EAAK6C,WAAW/B,IAAM,IAAK2K,EAAI3E,EAC7BA,EAAI,KAAO2E,EAAW,IAAJ,GAAF3E,IAA+B,GAArB9G,EAAK6C,WAAW/B,EAAE,IAAQiM,EAAE,GACtDjG,EAAI,KAAO2E,EAAS,MAAJ,GAAF3E,GAAqC,IAAJ,GAArB9G,EAAK6C,WAAW/B,EAAE,KAAgC,GAArBd,EAAK6C,WAAW/B,EAAE,IAAQiM,EAAE,IACpFA,EAAI,EACVtB,EAAY,QAAH,EAAJ3E,GAAwC,MAAJ,GAArB9G,EAAK6C,WAAW/B,EAAE,IAAsC,IAAJ,GAArBd,EAAK6C,WAAW/B,EAAE,KAAgC,GAArBd,EAAK6C,WAAW/B,EAAE,IAClG2K,GAAK,MAAOshB,EAAK,OAAWthB,IAAI,GAAI,MAAOA,EAAI,OAAY,KAAFA,IAEhD,IAAPshB,IAAYxjB,EAAI4Q,KAAU,IAAH4S,EAAQxjB,EAAI4Q,KAAO4S,IAAK,EAAGA,EAAK,GAC1DxjB,EAAI4Q,KAAO1O,EAAE,IAAKlC,EAAI4Q,KAAO1O,IAAI,EAElC,OAAOlC,EAAIjG,MAAM,EAAE6W,GAAGnP,SAAS,SAE5BgiB,GAAS,qBACVJ,GAASI,KAAWF,GAAUE,MAASJ,GAAWE,IAErD,IAAIG,GAAY,SAAmBjtB,GAAQ,OAAO6E,EAAY7E,EAAM,UAAUgL,SAAS,SACpF4hB,GAASI,KAAWC,GAAUD,MAASJ,GAAWK,IAGrD1H,GAAY,SAASvlB,GAAQ,OAAO6E,EAAY7E,EAAM,QAAQgL,SAAS,WAIxE,IAAIkiB,GAAW,WACd,IAAIC,EAAU,GACd,OAAO,SAAkB/a,EAAE6X,GAC1B,IAAI9iB,EAAIiL,EAAE,KAAK6X,GAAG,IAClB,OAAGkD,EAAQhmB,GAAWgmB,EAAQhmB,GACtBgmB,EAAQhmB,GAAK,IAAIiM,OAAO,cAAchB,EAAE,+DAA+DA,EAAE,IAAM6X,GAAG,KAL7G,GASXmD,GAAa,WAChB,IAAIC,EAAW,CACd,CAAC,OAAQ,KAAM,CAAC,SAAU,KAC1B,CAAC,OAAQ,KAAM,CAAC,OAAQ,KAAM,CAAC,KAAQ,KAAM,CAAC,KAAQ,KAAM,CAAC,MAAQ,MACpEvpB,KAAI,SAASN,GAAK,MAAO,CAAC,IAAI4P,OAAO,IAAM5P,EAAE,GAAK,IAAK,KAAMA,EAAE,OACjE,OAAO,SAAoB0L,GAE1B,IADA,IAAIvM,EAAIuM,EAAInP,QAAQ,cAAe,IAAIA,QAAQ,cAAc,IAAIA,QAAQ,cAAe,KAAKA,QAAQ,uBAAuB,MAAMA,QAAQ,WAAW,IAC7Ie,EAAI,EAAGA,EAAIusB,EAASjuB,SAAU0B,EAAG6B,EAAIA,EAAE5C,QAAQstB,EAASvsB,GAAG,GAAIusB,EAASvsB,GAAG,IACnF,OAAO6B,GARQ,GAYb2qB,GAAU,WAAa,IAAIC,EAAW,GACzC,OAAO,SAAkBpc,GACxB,YAAoBvT,IAAjB2vB,EAASpc,GAA0Boc,EAASpc,GACvCoc,EAASpc,GAAM,IAAIiC,OAAO,YAAcjC,EAAK,0BAA4BA,EAAK,IAAK,MAH/E,GAKVqc,GAAW,wBAAyBC,GAAW,6BACnD,SAASC,GAAY1tB,EAAMiJ,GAC1B,IAAI0W,EAAIsL,GAAYjrB,GAEhB2tB,EAAU3tB,EAAK0N,MAAM4f,GAAQ3N,EAAEiO,YAAY,GAC3CC,EAAM,GACV,GAAGF,EAAQvuB,QAAUugB,EAAEtG,KAAM,CAC5B,GAAGpQ,EAAK6kB,IAAK,MAAM,IAAI1nB,MAAM,4BAA8BunB,EAAQvuB,OAAS,OAASugB,EAAEtG,MACvF,OAAOwU,EAMR,OAJAF,EAAQvvB,SAAQ,SAASoF,GACxB,IAAIyD,EAAIzD,EAAEzD,QAAQytB,GAAS,IAAI9f,MAAM+f,IAClCxmB,GAAG4mB,EAAIhvB,KAAK,CAACoI,EAAE2lB,GAAS3lB,EAAE,IAAKE,EAAEF,EAAE,QAEhC4mB,EAGR,IAAIE,GAAU,eACd,SAASC,GAAS5b,EAAE6X,GAAK,MAAO,IAAM7X,GAAK6X,EAAEvc,MAAMqgB,IAAS,wBAA0B,IAAM,IAAM9D,EAAI,KAAO7X,EAAI,IAEjH,SAAS6b,GAAWtO,GAAK,OAAOwH,EAAKxH,GAAG7b,KAAI,SAASqW,GAAK,MAAO,IAAMA,EAAI,KAAOwF,EAAExF,GAAK,OAAOlX,KAAK,IACrG,SAASirB,GAAU9b,EAAE6X,EAAEtK,GAAK,MAAO,IAAMvN,GAAW,MAALuN,EAAasO,GAAWtO,GAAK,KAAa,MAALsK,GAAcA,EAAEvc,MAAMqgB,IAAS,wBAA0B,IAAM,IAAM9D,EAAI,KAAO7X,EAAI,KAAO,IAE/K,SAAS+b,GAAajnB,EAAGC,GAAK,IAAM,OAAOD,EAAEknB,cAAcruB,QAAQ,QAAQ,IAAO,MAAMiF,IAAK,GAAGmC,EAAG,MAAMnC,GAAK,MAAO,GAErH,SAASqpB,GAAS3oB,GACjB,cAAcA,GACb,IAAK,SAAU,OAAOwoB,GAAU,YAAaxoB,GAC7C,IAAK,SAAU,OAAOwoB,IAAa,EAAFxoB,IAAMA,EAAE,QAAQ,QAAS3C,OAAO2C,IACjE,IAAK,UAAW,OAAOwoB,GAAU,UAAUxoB,EAAE,OAAO,SAErD,GAAGA,aAAauE,KAAM,OAAOikB,GAAU,cAAeC,GAAazoB,IACnE,MAAM,IAAIU,MAAM,uBAAyBV,GAG1C,IAAI4oB,GAAQ,CACX,GAAM,mCACN,QAAW,4BACX,SAAY,+BACZ,GAAM,0DACN,EAAK,sEACL,IAAO,yEACP,GAAM,uEACN,IAAO,4CACP,IAAO,mCAGR,KAAa,CACZ,4DACA,gDACA,sDACA,qDAGGC,GAAS,CACZ,EAAQ,0CACR,EAAQ,yCACR,GAAQ,+CACR,GAAQ,4CACR,GAAQ,yBACR,EAAQ,gCACR,KAAQ,mCAET,SAASC,GAAejP,EAAG/R,GAI1B,IAHA,IAAI9H,EAAI,EAAI,GAAK6Z,EAAE/R,EAAM,KAAO,GAC5BxI,IAAmB,IAAbua,EAAE/R,EAAM,KAAc,IAAO+R,EAAE/R,EAAM,KAAO,EAAK,IACvD7D,EAAc,GAAT4V,EAAE/R,EAAI,GACP1M,EAAI,EAAGA,GAAK,IAAKA,EAAG6I,EAAQ,IAAJA,EAAU4V,EAAE/R,EAAM1M,GAClD,OAAQ,MAALkE,EAAwB,GAAL2E,EAAUjE,GAAI+oB,KAAYzF,KACxC,GAALhkB,EAAQA,GAAK,MACTA,GAAK,KAAM2E,GAAKpC,KAAKI,IAAI,EAAE,KAC3BjC,EAAI6B,KAAKI,IAAI,EAAG3C,EAAI,IAAM2E,GAGlC,SAAS+kB,GAAgBnP,EAAGtY,EAAGuG,GAC9B,IAAImhB,GAAS1nB,EAAI,GAAO,EAAEA,IAAMwnB,IAAa,EAAI,IAAM,EAAIzpB,EAAI,EAAG2E,EAAI,EAClEilB,EAAKD,GAAO1nB,EAAKA,EACjB4nB,SAASD,GACC,GAANA,EAAS5pB,EAAI2E,EAAI,GAExB3E,EAAIuC,KAAKuB,MAAMvB,KAAK0E,IAAI2iB,GAAMrnB,KAAKunB,KACnCnlB,EAAIilB,EAAKrnB,KAAKI,IAAI,EAAG,GAAK3C,GACtBA,IAAM,QAAW6pB,SAASllB,IAAOA,EAAIpC,KAAKI,IAAI,EAAE,KAAS3C,GAAK,MAC3D2E,GAAKpC,KAAKI,IAAI,EAAE,IAAK3C,GAAG,QANZA,EAAI,KAAO2E,EAAIrF,MAAM2C,GAAK,MAAS,GAQvD,IAAI,IAAInG,EAAI,EAAGA,GAAK,IAAKA,EAAG6I,GAAG,IAAK4V,EAAE/R,EAAM1M,GAAS,IAAJ6I,EACjD4V,EAAE/R,EAAM,IAAW,GAAJxI,IAAa,EAAU,GAAJ2E,EAClC4V,EAAE/R,EAAM,GAAMxI,GAAK,EAAK2pB,EAGzB,IAcII,GAAQC,GAdR/U,GAAa,SAAS1T,GAA0B,IAAlB,IAAI/C,EAAE,GAAGiI,EAAE,MAAe3K,EAAE,EAAEA,EAAEyF,EAAK,GAAGnH,SAAS0B,EAAG,GAAGyF,EAAK,GAAGzF,GAAI,IAAI,IAAIiM,EAAE,EAAEmH,EAAE3N,EAAK,GAAGzF,GAAG1B,OAAO2N,EAAEmH,EAAEnH,GAAGtB,EAAGjI,EAAE3E,KAAKG,MAAMwE,EAAG+C,EAAK,GAAGzF,GAAGwC,MAAMyJ,EAAEA,EAAEtB,IAAK,OAAOjI,GAC5LyrB,GAAchV,GACdK,GAAY,SAASiF,EAAE7Z,EAAEV,GAAgB,IAAX,IAAI2H,EAAG,GAAY7L,EAAE4E,EAAG5E,EAAEkE,EAAGlE,GAAG,EAAG6L,EAAG9N,KAAKkE,OAAOC,aAAaksB,GAAe3P,EAAEze,KAAM,OAAO6L,EAAG1J,KAAK,IAAIlD,QAAQyG,EAAK,KACpJ2oB,GAAa7U,GACb8U,GAAY,SAAS7P,EAAE7Z,EAAEqB,GAAgB,IAAX,IAAI4F,EAAG,GAAY7L,EAAE4E,EAAG5E,EAAE4E,EAAEqB,IAAKjG,EAAG6L,EAAG9N,MAAM,IAAM0gB,EAAEze,GAAGkK,SAAS,KAAK1H,OAAO,IAAK,OAAOqJ,EAAG1J,KAAK,KAC/HosB,GAAaD,GACbE,GAAS,SAAS/P,EAAE7Z,EAAEV,GAAgB,IAAX,IAAI2H,EAAG,GAAY7L,EAAE4E,EAAG5E,EAAEkE,EAAGlE,IAAK6L,EAAG9N,KAAKkE,OAAOC,aAAausB,GAAYhQ,EAAEze,KAAM,OAAO6L,EAAG1J,KAAK,KAC5HusB,GAAUF,GACVG,GAAU,SAASlQ,EAAEze,GAAK,IAAI8B,EAAMmY,GAAewE,EAAEze,GAAI,OAAO8B,EAAM,EAAI0sB,GAAO/P,EAAGze,EAAE,EAAEA,EAAE,EAAE8B,EAAI,GAAK,IACrG8sB,GAAWD,GACXE,GAAU,SAASpQ,EAAEze,GAAK,IAAI8B,EAAMmY,GAAewE,EAAEze,GAAI,OAAO8B,EAAM,EAAI0sB,GAAO/P,EAAGze,EAAE,EAAEA,EAAE,EAAE8B,EAAI,GAAK,IACrGgtB,GAAWD,GACXE,GAAW,SAAStQ,EAAEze,GAAK,IAAI8B,EAAM,EAAEmY,GAAewE,EAAEze,GAAI,OAAO8B,EAAM,EAAI0sB,GAAO/P,EAAGze,EAAE,EAAEA,EAAE,EAAE8B,EAAI,GAAK,IACxGktB,GAAYD,GAEhBd,GAASC,GAAU,SAAezP,EAAEze,GAAK,IAAI8B,EAAMmY,GAAewE,EAAEze,GAAI,OAAO8B,EAAM,EAAI0X,GAAUiF,EAAGze,EAAE,EAAEA,EAAE,EAAE8B,GAAO,IACrH,IAEImtB,GAAUC,GAFVC,GAAU,SAAS1Q,EAAEze,GAAK,IAAI8B,EAAMmY,GAAewE,EAAEze,GAAI,OAAO8B,EAAM,EAAI0sB,GAAO/P,EAAGze,EAAE,EAAEA,EAAE,EAAE8B,GAAO,IACnGstB,GAAWD,GAEfF,GAAWC,GAAY,SAASzQ,EAAG/R,GAAO,OAAOghB,GAAejP,EAAG/R,IACnE,IAAI2iB,GAAS,SAAkBhQ,GAAK,OAAOphB,MAAMkH,QAAQka,IAEtD3b,IACF8V,GAAY,SAASiF,EAAE7Z,EAAEV,GAAK,OAAIP,EAAO2rB,SAAS7Q,GAAqCA,EAAEvU,SAAS,UAAUtF,EAAEV,GAAGjF,QAAQyG,EAAK,IAAjE2oB,GAAW5P,EAAE7Z,EAAEV,IAC5EoqB,GAAY,SAAS7P,EAAE7Z,EAAEqB,GAAK,OAAOtC,EAAO2rB,SAAS7Q,GAAKA,EAAEvU,SAAS,MAAMtF,EAAEA,EAAEqB,GAAKsoB,GAAW9P,EAAE7Z,EAAEqB,IACnG0oB,GAAU,SAAiBlQ,EAAGze,GAAK,IAAI2D,EAAO2rB,SAAS7Q,GAAI,OAAOmQ,GAASnQ,EAAGze,GAAI,IAAI8B,EAAM2c,EAAE8Q,aAAavvB,GAAI,OAAO8B,EAAM,EAAI2c,EAAEvU,SAAS,OAAOlK,EAAE,EAAEA,EAAE,EAAE8B,EAAI,GAAK,IACnK+sB,GAAU,SAAiBpQ,EAAGze,GAAK,IAAI2D,EAAO2rB,SAAS7Q,GAAI,OAAOqQ,GAASrQ,EAAGze,GAAI,IAAI8B,EAAM2c,EAAE8Q,aAAavvB,GAAI,OAAO8B,EAAM,EAAI2c,EAAEvU,SAAS,OAAOlK,EAAE,EAAEA,EAAE,EAAE8B,EAAI,GAAK,IACnKitB,GAAW,SAAkBtQ,EAAGze,GAAK,IAAI2D,EAAO2rB,SAAS7Q,GAAI,OAAOuQ,GAAUvQ,EAAGze,GAAI,IAAI8B,EAAM,EAAE2c,EAAE8Q,aAAavvB,GAAI,OAAOye,EAAEvU,SAAS,UAAUlK,EAAE,EAAEA,EAAE,EAAE8B,EAAI,IAC5JmsB,GAAS,SAAgBxP,EAAGze,GAAK,IAAI2D,EAAO2rB,SAAS7Q,GAAI,OAAOyP,GAAQzP,EAAGze,GAAI,IAAI8B,EAAM2c,EAAE8Q,aAAavvB,GAAI,OAAOye,EAAEvU,SAAS,UAAUlK,EAAE,EAAEA,EAAE,EAAE8B,IAChJqtB,GAAU,SAAiB1Q,EAAGze,GAAK,IAAI2D,EAAO2rB,SAAS7Q,GAAI,OAAO2Q,GAAS3Q,EAAGze,GAAI,IAAI8B,EAAM2c,EAAE8Q,aAAavvB,GAAI,OAAOye,EAAEvU,SAAS,OAAOlK,EAAE,EAAEA,EAAE,EAAE8B,IAChJ0sB,GAAS,SAAgB/P,EAAG7Z,EAAGV,GAAK,OAAQP,EAAO2rB,SAAS7Q,GAAMA,EAAEvU,SAAS,OAAOtF,EAAEV,GAAKwqB,GAAQjQ,EAAE7Z,EAAEV,IACvGiV,GAAa,SAAS1T,GAAQ,OAAQA,EAAK,GAAGnH,OAAS,GAAKqF,EAAO2rB,SAAS7pB,EAAK,GAAG,IAAO9B,EAAOxF,OAAOsH,EAAK,IAAM0oB,GAAY1oB,IAChID,EAAU,SAASC,GAAQ,OAAO9B,EAAO2rB,SAAS7pB,EAAK,IAAM9B,EAAOxF,OAAOsH,GAAQ,GAAGtH,OAAOD,MAAM,GAAIuH,IACvGwpB,GAAW,SAAiBxQ,EAAGze,GAAK,OAAG2D,EAAO2rB,SAAS7Q,GAAWA,EAAE+Q,aAAaxvB,GAAWkvB,GAAUzQ,EAAEze,IACxGqvB,GAAS,SAAkBhQ,GAAK,OAAO1b,EAAO2rB,SAASjQ,IAAMphB,MAAMkH,QAAQka,KAItD,qBAAZzf,UACT4Z,GAAY,SAASiF,EAAE7Z,EAAEV,GAAK,OAAOtE,QAAQnE,MAAMmH,OAAO,KAAM6b,EAAEjc,MAAMoC,EAAEV,IAAIjF,QAAQyG,EAAM,KAC5F8oB,GAAS,SAAS/P,EAAE7Z,EAAEV,GAAK,OAAOtE,QAAQnE,MAAMmH,OAAO,MAAO6b,EAAEjc,MAAMoC,EAAEV,KACxEyqB,GAAU,SAASlQ,EAAEze,GAAK,IAAI8B,EAAMmY,GAAewE,EAAEze,GAAI,OAAO8B,EAAM,EAAIlC,QAAQnE,MAAMmH,OAAOjD,EAAc8e,EAAEjc,MAAMxC,EAAE,EAAGA,EAAE,EAAE8B,EAAI,IAAM,IACxI+sB,GAAU,SAASpQ,EAAEze,GAAK,IAAI8B,EAAMmY,GAAewE,EAAEze,GAAI,OAAO8B,EAAM,EAAIlC,QAAQnE,MAAMmH,OAAOlD,EAAkB+e,EAAEjc,MAAMxC,EAAE,EAAGA,EAAE,EAAE8B,EAAI,IAAM,IAC5IitB,GAAW,SAAStQ,EAAEze,GAAK,IAAI8B,EAAM,EAAEmY,GAAewE,EAAEze,GAAI,OAAO8B,EAAM,EAAIlC,QAAQnE,MAAMmH,OAAO,KAAM6b,EAAEjc,MAAMxC,EAAE,EAAEA,EAAE,EAAE8B,EAAI,IAAM,IAClImsB,GAAS,SAASxP,EAAEze,GAAK,IAAI8B,EAAMmY,GAAewE,EAAEze,GAAI,OAAO8B,EAAM,EAAIlC,QAAQnE,MAAMmH,OAAO,KAAM6b,EAAEjc,MAAMxC,EAAE,EAAEA,EAAE,EAAE8B,IAAQ,IAC5HqtB,GAAU,SAAS1Q,EAAEze,GAAK,IAAI8B,EAAMmY,GAAewE,EAAEze,GAAI,OAAO8B,EAAM,EAAIlC,QAAQnE,MAAMmH,OAAO,MAAO6b,EAAEjc,MAAMxC,EAAE,EAAEA,EAAE,EAAE8B,IAAQ,KAG/H,IAAI2sB,GAAc,SAAShQ,EAAG/R,GAAO,OAAO+R,EAAE/R,IAC1C0hB,GAAiB,SAAS3P,EAAG/R,GAAO,OAAiB,IAAT+R,EAAE/R,EAAI,GAAW+R,EAAE/R,IAC/D+iB,GAAgB,SAAShR,EAAG/R,GAAO,IAAI/D,EAAc,IAAT8V,EAAE/R,EAAI,GAAW+R,EAAE/R,GAAM,OAAQ/D,EAAI,MAAUA,GAAyB,GAAnB,MAASA,EAAI,IAC9GsR,GAAiB,SAASwE,EAAG/R,GAAO,OAAO+R,EAAE/R,EAAI,IAAI,GAAG,KAAK+R,EAAE/R,EAAI,IAAI,KAAK+R,EAAE/R,EAAI,IAAI,GAAG+R,EAAE/R,IAC3F+L,GAAgB,SAASgG,EAAG/R,GAAO,OAAQ+R,EAAE/R,EAAI,IAAI,GAAK+R,EAAE/R,EAAI,IAAI,GAAK+R,EAAE/R,EAAI,IAAI,EAAG+R,EAAE/R,IACxFgjB,GAAgB,SAASjR,EAAG/R,GAAO,OAAQ+R,EAAE/R,IAAM,GAAK+R,EAAE/R,EAAI,IAAI,GAAK+R,EAAE/R,EAAI,IAAI,EAAG+R,EAAE/R,EAAI,IAE9F,SAASyX,GAAU5L,EAAMlS,GACxB,IAAUspB,EAAIC,EAAWjlB,EAAG+F,EAAI1Q,EAAG6vB,EAA/BhuB,EAAE,GAAYiuB,EAAG,GACrB,OAAOzpB,GACN,IAAK,OAEJ,GADAwpB,EAAM3zB,KAAK+J,EACRvC,GAAWC,EAAO2rB,SAASpzB,MAAO2F,EAAI3F,KAAKsG,MAAMtG,KAAK+J,EAAG/J,KAAK+J,EAAE,EAAEsS,GAAMrO,SAAS,gBAC/E,IAAIlK,EAAI,EAAGA,EAAIuY,IAAQvY,EAAK6B,GAAGI,OAAOC,aAAaksB,GAAelyB,KAAM2zB,IAAOA,GAAK,EACzFtX,GAAQ,EACR,MAED,IAAK,OAAQ1W,EAAI2sB,GAAOtyB,KAAMA,KAAK+J,EAAG/J,KAAK+J,EAAIsS,GAAO,MACtD,IAAK,UAAWA,GAAQ,EAAG1W,EAAI2X,GAAUtd,KAAMA,KAAK+J,EAAG/J,KAAK+J,EAAIsS,GAAO,MAEvE,IAAK,OACJ,GAAsB,qBAAZ3Y,QACL,OAAOukB,GAAU2E,KAAK5sB,KAAMqc,EAAM,QADJ1W,EAAIjC,QAAQnE,MAAMmH,OAAOlD,EAAkBxD,KAAKsG,MAAMtG,KAAK+J,EAAG/J,KAAK+J,EAAE,EAAEsS,IAE1GA,GAAO,EAAU,MAGlB,IAAK,aAAc1W,EAAI8sB,GAAQzyB,KAAMA,KAAK+J,GAAIsS,EAAO,EAAI0B,GAAe/d,KAAMA,KAAK+J,GAAI,MACvF,IAAK,WAAYpE,EAAIgtB,GAAQ3yB,KAAMA,KAAK+J,GAAIsS,EAAO,EAAI0B,GAAe/d,KAAMA,KAAK+J,GAAI,MAErF,IAAK,SAAUpE,EAAIktB,GAAS7yB,KAAMA,KAAK+J,GAAIsS,EAAO,EAAI,EAAI0B,GAAe/d,KAAMA,KAAK+J,GAAI,MAExF,IAAK,OAAQsS,EAAO,EAAK0B,GAAe/d,KAAMA,KAAK+J,GAAIpE,EAAIosB,GAAO/xB,KAAMA,KAAK+J,GAAc,EAAPsS,IAAaA,GAAQ,GAAG,MAE5G,IAAK,QAASA,EAAO,EAAK0B,GAAe/d,KAAMA,KAAK+J,GAAIpE,EAAIstB,GAAQjzB,KAAMA,KAAK+J,GAAc,EAAPsS,IAAaA,GAAQ,GAAY,EAAPA,IAAc,MAE9H,IAAK,OAAQA,EAAO,EAAG1W,EAAI,GAC1B,MAA+C,KAAxC8I,EAAE8jB,GAAYvyB,KAAMA,KAAK+J,EAAIsS,MAAcuX,EAAG/xB,KAAK0E,EAASkI,IACnE9I,EAAIiuB,EAAG3tB,KAAK,IAAK,MAClB,IAAK,QAASoW,EAAO,EAAG1W,EAAI,GAC3B,MAA8C,KAAvC8I,EAAEyjB,GAAelyB,KAAKA,KAAK+J,EAAGsS,IAAYuX,EAAG/xB,KAAK0E,EAASkI,IAAI4N,GAAM,EAC5EA,GAAM,EAAG1W,EAAIiuB,EAAG3tB,KAAK,IAAK,MAG3B,IAAK,YACJ,IADiBN,EAAI,GAAIguB,EAAM3zB,KAAK+J,EAChCjG,EAAI,EAAGA,EAAIuY,IAAQvY,EAAG,CACzB,GAAG9D,KAAK6zB,OAAoC,IAA5B7zB,KAAK6zB,KAAKvuB,QAAQquB,GAIjC,OAHAllB,EAAI8jB,GAAYvyB,KAAM2zB,GACtB3zB,KAAK+J,EAAI4pB,EAAM,EACfnf,EAAKyT,GAAU2E,KAAK5sB,KAAMqc,EAAKvY,EAAG2K,EAAI,YAAc,aAC7CmlB,EAAG3tB,KAAK,IAAMuO,EAEtBof,EAAG/xB,KAAK0E,EAAS2rB,GAAelyB,KAAM2zB,KACtCA,GAAK,EACJhuB,EAAIiuB,EAAG3tB,KAAK,IAAKoW,GAAQ,EAAG,MAE/B,IAAK,QACJ,GAAsB,qBAAZ3Y,QAAyB,CAClCiC,EAAIjC,QAAQnE,MAAMmH,OAAOlD,EAAkBxD,KAAKsG,MAAMtG,KAAK+J,EAAG/J,KAAK+J,EAAIsS,IACvE,MAGF,IAAK,YACJ,IADiB1W,EAAI,GAAIguB,EAAM3zB,KAAK+J,EAChCjG,EAAI,EAAGA,GAAKuY,IAAQvY,EAAG,CAC1B,GAAG9D,KAAK6zB,OAAoC,IAA5B7zB,KAAK6zB,KAAKvuB,QAAQquB,GAIjC,OAHAllB,EAAI8jB,GAAYvyB,KAAM2zB,GACtB3zB,KAAK+J,EAAI4pB,EAAM,EACfnf,EAAKyT,GAAU2E,KAAK5sB,KAAMqc,EAAKvY,EAAG2K,EAAI,YAAc,aAC7CmlB,EAAG3tB,KAAK,IAAMuO,EAEtBof,EAAG/xB,KAAK0E,EAASgsB,GAAYvyB,KAAM2zB,KACnCA,GAAK,EACJhuB,EAAIiuB,EAAG3tB,KAAK,IAAK,MAEpB,QACD,OAAOoW,GACN,KAAK,EAA6C,OAA1CoX,EAAKlB,GAAYvyB,KAAMA,KAAK+J,GAAI/J,KAAK+J,IAAY0pB,EACzD,KAAK,EAAiF,OAA9EA,GAAY,MAANtpB,EAAYopB,GAAgBrB,IAAgBlyB,KAAMA,KAAK+J,GAAI/J,KAAK+J,GAAK,EAAU0pB,EAC7F,KAAK,EAAG,KAAM,EACb,MAAS,MAANtpB,GAAwC,KAAR,IAAjBnK,KAAKA,KAAK+J,EAAE,KAAmB0pB,GAAOpX,EAAO,EAAKE,GAAgBiX,IAAexzB,KAAMA,KAAK+J,GAAI/J,KAAK+J,GAAK,EAAU0pB,IAC/HC,EAAK3V,GAAe/d,KAAMA,KAAK+J,GAAI/J,KAAK+J,GAAK,EAAY2pB,GACjE,KAAK,EAAG,KAAM,EACb,GAAS,MAANvpB,EAGW,OAFCupB,EAAH,GAARrX,EAAgB0W,GAAS/yB,KAAMA,KAAK+J,GAC7BgpB,GAAS,CAAC/yB,KAAKA,KAAK+J,EAAE,GAAG/J,KAAKA,KAAK+J,EAAE,GAAG/J,KAAKA,KAAK+J,EAAE,GAAG/J,KAAKA,KAAK+J,EAAE,GAAG/J,KAAKA,KAAK+J,EAAE,GAAG/J,KAAKA,KAAK+J,EAAE,GAAG/J,KAAKA,KAAK+J,EAAE,GAAG/J,KAAKA,KAAK+J,EAAE,IAAK,GAC9I/J,KAAK+J,GAAK,EAAU2pB,EACdrX,EAAO,EAEf,KAAK,GAAI1W,EAAIysB,GAAUpyB,KAAMA,KAAK+J,EAAGsS,GAAO,OAE/B,OAAdrc,KAAK+J,GAAGsS,EAAa1W,EAGtB,IAAImuB,GAAkB,SAASvR,EAAG9S,EAAKe,GAAO+R,EAAE/R,GAAc,IAANf,EAAa8S,EAAE/R,EAAI,GAAOf,IAAQ,EAAK,IAAO8S,EAAE/R,EAAI,GAAOf,IAAQ,GAAM,IAAO8S,EAAE/R,EAAI,GAAOf,IAAQ,GAAM,KAC/JskB,GAAkB,SAASxR,EAAG9S,EAAKe,GAAO+R,EAAE/R,GAAc,IAANf,EAAa8S,EAAE/R,EAAI,GAAOf,GAAO,EAAK,IAAO8S,EAAE/R,EAAI,GAAOf,GAAO,GAAM,IAAO8S,EAAE/R,EAAI,GAAOf,GAAO,GAAM,KAC5JukB,GAAkB,SAASzR,EAAG9S,EAAKe,GAAO+R,EAAE/R,GAAc,IAANf,EAAa8S,EAAE/R,EAAI,GAAOf,IAAQ,EAAK,KAE/F,SAASwkB,GAAW9pB,EAAGsF,EAAK2F,GAC3B,IAAIiH,EAAO,EAAGvY,EAAI,EAClB,GAAS,SAANsR,EAAc,CAClB,IAAItR,EAAI,EAAGA,GAAK2L,EAAIrN,SAAU0B,EAAGkwB,GAAgBh0B,KAAMyP,EAAI5J,WAAW/B,GAAI9D,KAAK+J,EAAI,EAAIjG,GACrFuY,EAAO,EAAI5M,EAAIrN,YACT,GAAS,SAANgT,EAAc,CAGzB,IADA3F,EAAMA,EAAI1M,QAAQ,gBAAiB,KAC/Be,EAAI,EAAGA,GAAK2L,EAAIrN,SAAU0B,EAAG9D,KAAKA,KAAK+J,EAAIjG,GAA0B,IAApB2L,EAAI5J,WAAW/B,GAClEuY,EAAO5M,EAAIrN,WACL,IAAS,QAANgT,EAAa,CACtB,KAAMtR,EAAIqG,IAAKrG,EACjB9D,KAAKA,KAAK+J,KAAQyH,SAAS/B,EAAInJ,MAAM,EAAExC,EAAG,EAAEA,EAAE,GAAI,KAAK,EACnD,OAAO9D,KACH,GAAS,YAANoV,EAAiB,CAC5B,IAAI8e,EAAM3pB,KAAKuI,IAAI9S,KAAK+J,EAAII,EAAGnK,KAAKoC,QACjC,IAAI0B,EAAI,EAAGA,EAAIyG,KAAKuI,IAAIrD,EAAIrN,OAAQ+H,KAAMrG,EAAG,CAC5C,IAAIqO,EAAK1C,EAAI5J,WAAW/B,GACxB9D,KAAKA,KAAK+J,KAAa,IAALoI,EAClBnS,KAAKA,KAAK+J,KAAQoI,GAAM,EAEzB,MAAMnS,KAAK+J,EAAImqB,EAAKl0B,KAAKA,KAAK+J,KAAO,EACrC,OAAO/J,KACD,OAAOmK,GACd,KAAM,EAAGkS,EAAO,EAAGrc,KAAKA,KAAK+J,GAAS,IAAJ0F,EAAU,MAC5C,KAAM,EAAG4M,EAAO,EAAGrc,KAAKA,KAAK+J,GAAS,IAAJ0F,EAAUA,KAAS,EAAGzP,KAAKA,KAAK+J,EAAE,GAAS,IAAJ0F,EAAU,MACnF,KAAM,EAAG4M,EAAO,EAAGrc,KAAKA,KAAK+J,GAAS,IAAJ0F,EAAUA,KAAS,EAAGzP,KAAKA,KAAK+J,EAAE,GAAS,IAAJ0F,EAAUA,KAAS,EAAGzP,KAAKA,KAAK+J,EAAE,GAAS,IAAJ0F,EAAU,MAC1H,KAAM,EAAG4M,EAAO,EAAGyX,GAAgB9zB,KAAMyP,EAAKzP,KAAK+J,GAAI,MACvD,KAAM,EAAa,GAAVsS,EAAO,EAAY,MAANjH,EAAW,CAAEsc,GAAgB1xB,KAAMyP,EAAKzP,KAAK+J,GAAI,MAEvE,KAAK,GAAI,MACT,KAAM,EAAGsS,EAAO,EAAG0X,GAAe/zB,KAAMyP,EAAKzP,KAAK+J,GAAI,OAEvC,OAAhB/J,KAAK+J,GAAKsS,EAAarc,KAGxB,SAASkoB,GAAWiM,EAAQC,GAC3B,IAAIznB,EAAIylB,GAAUpyB,KAAKA,KAAK+J,EAAEoqB,EAAO/xB,QAAQ,GAC7C,GAAGuK,IAAMwnB,EAAQ,MAAM,IAAI/qB,MAAMgrB,EAAM,YAAcD,EAAS,QAAUxnB,GACxE3M,KAAK+J,GAAKoqB,EAAO/xB,QAAQ,EAG1B,SAAS4W,GAAUD,EAAMsb,GACxBtb,EAAKhP,EAAIsqB,EACTtb,EAAKR,WAAa0P,GAClBlP,EAAK2B,IAAMwN,GACXnP,EAAKX,YAAc6b,GAGpB,SAASK,GAAUvb,EAAM3W,GAAU2W,EAAKhP,GAAK3H,EAE7C,SAASoa,GAAQtD,GAChB,IAAIvT,EAAI4C,EAAY2Q,GAEpB,OADAF,GAAUrT,EAAG,GACNA,EAIR,SAAS4uB,GAAavxB,EAAMwxB,EAAIvoB,GAC/B,GAAIjJ,EAAJ,CACA,IAAIyxB,EAASC,EAAStyB,EACtB4W,GAAUhW,EAAMA,EAAK+G,GAAK,GAC1B,IAAImN,EAAIlU,EAAKZ,OAAQuyB,EAAK,EAAGxb,EAAM,EACnC,MAAMnW,EAAK+G,EAAImN,EAAG,CACjByd,EAAK3xB,EAAKuV,WAAW,GACb,IAALoc,IAAWA,GAAW,IAALA,KAAoC,IAArB3xB,EAAKuV,WAAW,KAAY,IAC/D,IAAIb,EAAIkd,GAAeD,IAAOC,GAAe,OAG7C,IAFAH,EAAUzxB,EAAKuV,WAAW,GAC1BnW,EAAmB,IAAVqyB,EACLC,EAAU,EAAGA,EAAS,GAAgB,IAAVD,IAAmBC,EAAStyB,IAA4C,KAAhCqyB,EAAUzxB,EAAKuV,WAAW,MAAc,EAAEmc,EAClHvb,EAAMnW,EAAK+G,EAAI3H,EACf,IAAI8H,GAAKwN,EAAEtC,GAAGkf,IAAWtxB,EAAMZ,EAAQ6J,GAEvC,GADAjJ,EAAK+G,EAAIoP,EACNqb,EAAGtqB,EAAGwN,EAAErP,EAAGssB,GAAK,SAKrB,SAASE,KACR,IAAItrB,EAAO,GAAIurB,EAAQttB,EAAU,IAAM,KACnCutB,EAAS,SAAmB7b,GAC/B,IAAIvT,EAAK6W,GAAQtD,GAEjB,OADAF,GAAUrT,EAAG,GACNA,GAGJqvB,EAASD,EAAOD,GAEhBG,EAAS,WACRD,IACDA,EAAO5yB,OAAS4yB,EAAOjrB,IAAKirB,EAASA,EAAO1uB,MAAM,EAAG0uB,EAAOjrB,GAAIirB,EAAOjrB,EAAIirB,EAAO5yB,QAClF4yB,EAAO5yB,OAAS,GAAGmH,EAAK1H,KAAKmzB,GAChCA,EAAS,OAGNE,EAAO,SAAiBhc,GAC3B,OAAG8b,GAAW9b,EAAM8b,EAAO5yB,OAAS4yB,EAAOjrB,EAAYirB,GACvDC,IACQD,EAASD,EAAOxqB,KAAKwI,IAAImG,EAAG,EAAG4b,MAGpCZ,EAAM,WAET,OADAe,IACOhY,GAAW,CAAC1T,KAGhB1H,EAAO,SAAiBoG,GAAOgtB,IAAUD,EAAS/sB,EAAoB,MAAZ+sB,EAAOjrB,IAAWirB,EAAOjrB,EAAIirB,EAAO5yB,QAAQ8yB,EAAKJ,IAE/G,MAAO,CAAGI,KAAKA,EAAMrzB,KAAKA,EAAMqyB,IAAIA,EAAKiB,MAAM5rB,GAGhD,SAAS6rB,GAAaC,EAAI9lB,EAAM2M,EAAS9Z,GACxC,IAAuB2H,EAAnBI,GAAKmrB,GAAO/lB,GAChB,IAAGjI,MAAM6C,GAAT,CACI/H,IAAQA,EAASwyB,GAAezqB,GAAG0N,IAAMqE,GAAS,IAAI9Z,QAAU,GACpE2H,EAAI,GAAKI,GAAK,IAAO,EAAI,GAAK,EAC3B/H,GAAU,OAAQ2H,EAAM3H,GAAU,SAAU2H,EAAM3H,GAAU,WAAY2H,EAC3E,IAAIpE,EAAI0vB,EAAGH,KAAKnrB,GACbI,GAAK,IAAMxE,EAAEyS,YAAY,EAAGjO,IAE9BxE,EAAEyS,YAAY,EAAgB,KAAR,IAAJjO,IAClBxE,EAAEyS,YAAY,EAAIjO,GAAK,IAExB,IAAI,IAAIrG,EAAI,EAAQ,GAALA,IAAUA,EAAG,CAC3B,KAAG1B,GAAU,KACR,CAAEuD,EAAEyS,YAAY,EAAGhW,GAAS,MADZuD,EAAEyS,YAAY,EAAmB,KAAN,IAAThW,IAAsBA,IAAW,EAGtEA,EAAS,GAAK+wB,GAAOjX,IAAUmZ,EAAGxzB,KAAKqa,IAG3C,SAASqZ,GAAeC,EAAMrc,EAAKlN,GAClC,IAAIM,EAAMkf,GAAI+J,GAQd,GAPGrc,EAAIzQ,GACH6D,EAAIkpB,OAAMlpB,EAAIzC,GAAKqP,EAAIzQ,EAAEoB,GACzByC,EAAImpB,OAAMnpB,EAAI6E,GAAK+H,EAAIzQ,EAAE0I,KAEzB7E,EAAIkpB,OAAMlpB,EAAIzC,GAAKqP,EAAIrP,GACvByC,EAAImpB,OAAMnpB,EAAI6E,GAAK+H,EAAI/H,KAEvBnF,GAAQA,EAAK0pB,KAAO,GAAI,CAC3B,MAAMppB,EAAIzC,GAAK,IAAOyC,EAAIzC,GAAK,IAC/B,MAAMyC,EAAI6E,GAAK,MAAS7E,EAAI6E,GAAK,MAElC,OAAO7E,EAGR,SAASqpB,GAAgBJ,EAAMK,EAAO5pB,GACrC,IAAIM,EAAMkf,GAAI+J,GAGd,OAFAjpB,EAAI7D,EAAI6sB,GAAehpB,EAAI7D,EAAGmtB,EAAMntB,EAAGuD,GACvCM,EAAIvE,EAAIutB,GAAehpB,EAAIvE,EAAG6tB,EAAMntB,EAAGuD,GAChCM,EAGR,SAASupB,GAAgBhsB,EAAG6rB,GACxB7rB,EAAE2rB,MAAQ3rB,EAAEA,EAAI,IAAKA,EAAI2hB,GAAI3hB,GAAIA,EAAEA,GAAM6rB,EAAO,EAAK,MAAS,KAC9D7rB,EAAE4rB,MAAQ5rB,EAAEsH,EAAI,IAAKtH,EAAI2hB,GAAI3hB,GAAIA,EAAEsH,GAAMukB,EAAO,EAAK,QAAaA,EAAO,EAAK,MAAU,OAC3F,IAAIjtB,EAAIqtB,GAAYjsB,GAGpB,OAFc,IAAXA,EAAE2rB,OAAY/sB,EAAIstB,GAAQttB,IACf,IAAXoB,EAAE4rB,OAAYhtB,EAAIutB,GAAQvtB,IACtBA,EAGR,SAASwtB,GAAiB9kB,EAAGnF,GAC5B,OAAY,GAATmF,EAAE1I,EAAE0I,GAAWA,EAAE1I,EAAEgtB,MAClBtkB,EAAEpJ,EAAEoJ,IAAMnF,EAAK0pB,MAAQ,GAAK,QAAW1pB,EAAK0pB,MAAQ,EAAI,MAAU,QAAavkB,EAAEpJ,EAAE0tB,KAI3E,GAATtkB,EAAE1I,EAAEoB,GAAWsH,EAAE1I,EAAE+sB,MAClBrkB,EAAEpJ,EAAE8B,IAAMmC,EAAK0pB,MAAQ,GAAK,MAAS,MAAUvkB,EAAEpJ,EAAEytB,KAIhDK,GAAgB1kB,EAAE1I,EAAGuD,EAAK0pB,MAAQ,IAAMG,GAAgB1kB,EAAEpJ,EAAGiE,EAAK0pB,OAH/DvkB,EAAE1I,EAAEgtB,KAAO,GAAK,KAAOS,GAAW/kB,EAAE1I,EAAE0I,GAAK,KAAOA,EAAEpJ,EAAE0tB,KAAO,GAAK,KAAOS,GAAW/kB,EAAEpJ,EAAEoJ,IALxFA,EAAE1I,EAAE+sB,KAAO,GAAK,KAAOW,GAAWhlB,EAAE1I,EAAEoB,GAAK,KAAOsH,EAAEpJ,EAAEytB,KAAO,GAAK,KAAOW,GAAWhlB,EAAEpJ,EAAE8B,GAUnG,IAAIusB,GAAY,GAEZC,GAAiB,SAASC,EAAGC,GAChC,IAAIC,EACJ,GAAsB,qBAAZD,EAAyBC,EAASD,MACvC,CACJ,IAAMC,EAAS,EAAQ,GACvB,MAAMzuB,IAAKyuB,EAAS,MAGrBF,EAAEG,IAAM,SAAShM,EAAK1nB,GACrB,IAAI8J,EAAI,IAAI/K,MAAM,KACd+H,EAAI,EAAGhG,EAAI,EAAGiM,EAAI,EAAG5F,EAAI,EAC7B,IAAIrG,EAAI,EAAQ,KAALA,IAAYA,EAAGgJ,EAAEhJ,GAAKA,EACjC,IAAIA,EAAI,EAAQ,KAALA,IAAYA,EACtBiM,EAAKA,EAAIjD,EAAEhJ,GAAM4mB,EAAI5mB,EAAE4mB,EAAItoB,QAASyD,WAAW,GAAI,IACnDsE,EAAI2C,EAAEhJ,GAAIgJ,EAAEhJ,GAAKgJ,EAAEiD,GAAIjD,EAAEiD,GAAK5F,EAG/BrG,EAAIiM,EAAI,EAAG,IAAIxD,EAAM9E,EAAOzE,EAAKZ,QACjC,IAAI0H,EAAI,EAAGA,GAAK9G,EAAKZ,SAAU0H,EAC9BhG,EAAKA,EAAI,EAAG,IACZiM,GAAKA,EAAIjD,EAAEhJ,IAAI,IACfqG,EAAI2C,EAAEhJ,GAAIgJ,EAAEhJ,GAAKgJ,EAAEiD,GAAIjD,EAAEiD,GAAK5F,EAC9BoC,EAAIzC,GAAM9G,EAAK8G,GAAKgD,EAAGA,EAAEhJ,GAAGgJ,EAAEiD,GAAI,KAEnC,OAAOxD,GAGRgqB,EAAEI,IAAM,SAASC,GAChB,IAAIH,EAAQ,MAAM,IAAIrtB,MAAM,sBAC5B,OAAOqtB,EAAOI,WAAW,OAAOC,OAAOF,GAAKG,OAAO,SAMrD,SAASC,GAAWC,GAAU,OAAOzlB,SAAS0lB,GAAUD,GAAQ,IAAM,EACtE,SAASd,GAAWgB,GAAO,MAAO,IAAMA,EAAM,GAC9C,SAASlB,GAAQmB,GAAQ,OAAOA,EAAKr0B,QAAQ,kBAAkB,UAC/D,SAASm0B,GAAUE,GAAQ,OAAOA,EAAKr0B,QAAQ,WAAW,MAE1D,SAASs0B,GAAWC,GAAmD,IAAzC,IAAIxtB,EAAIytB,GAAUD,GAASptB,EAAI,EAAGpG,EAAI,EAASA,IAAMgG,EAAE1H,SAAU0B,EAAGoG,EAAI,GAAGA,EAAIJ,EAAEjE,WAAW/B,GAAK,GAAI,OAAOoG,EAAI,EAC9I,SAASksB,GAAWoB,GAAO,IAAI9uB,EAAE,GAAI,MAAM8uB,EAAKA,EAAKA,EAAIjtB,KAAKuB,OAAO0rB,EAAI,GAAG,IAAK9uB,EAAI3C,OAAOC,cAAewxB,EAAI,GAAG,GAAM,IAAM9uB,EAAG,OAAOA,EACxI,SAASstB,GAAQoB,GAAQ,OAAOA,EAAKr0B,QAAQ,WAAW,QACxD,SAASw0B,GAAUH,GAAQ,OAAOA,EAAKr0B,QAAQ,aAAa,MAE5D,SAAS00B,GAAWL,GAAQ,OAAOA,EAAKr0B,QAAQ,sBAAsB,SAAS4F,MAAM,KACrF,SAAS+uB,GAAYN,GAAQ,IAAIO,EAAOF,GAAWL,GAAO,MAAO,CAAEttB,EAAEutB,GAAWM,EAAK,IAAKvmB,EAAE4lB,GAAWW,EAAK,KAC5G,SAAS5B,GAAYP,GAAQ,OAAOY,GAAWZ,EAAK1rB,GAAKqsB,GAAWX,EAAKpkB,GACzE,SAASwmB,GAAa/B,GAAS,IAAIrvB,EAAGqvB,EAAMltB,MAAM,KAAK7B,IAAI4wB,IAAc,MAAO,CAAChvB,EAAElC,EAAE,GAAGwB,EAAExB,EAAEA,EAAEpE,OAAO,IACrG,SAASy1B,GAAaC,EAAGC,GACxB,MAAiB,qBAAPA,GAAoC,kBAAPA,EACjCF,GAAaC,EAAGpvB,EAAGovB,EAAG9vB,IAEZ,kBAAP8vB,IAAiBA,EAAK/B,GAAY,IAC1B,kBAAPgC,IAAiBA,EAAKhC,GAAY,IACtC+B,GAAMC,EAAKD,EAAKA,EAAK,IAAMC,GAGlC,SAASC,GAAkBnC,GAC1B,IAAIlwB,EAAI,CAAC+C,EAAE,CAACoB,EAAE,EAAEsH,EAAE,GAAGpJ,EAAE,CAAC8B,EAAE,EAAEsH,EAAE,IAC1BZ,EAAM,EAAG1M,EAAI,EAAGqO,EAAK,EACrBvM,EAAMiwB,EAAMzzB,OAChB,IAAIoO,EAAM,EAAG1M,EAAI8B,IAAO9B,EAAG,CAC1B,IAAIqO,EAAG0jB,EAAMhwB,WAAW/B,GAAG,IAAM,GAAKqO,EAAK,GAAI,MAC/C3B,EAAM,GAAGA,EAAM2B,EAIhB,IAFAxM,EAAE+C,EAAEoB,IAAM0G,EAENA,EAAM,EAAG1M,EAAI8B,IAAO9B,EAAG,CAC1B,IAAIqO,EAAG0jB,EAAMhwB,WAAW/B,GAAG,IAAM,GAAKqO,EAAK,EAAG,MAC9C3B,EAAM,GAAGA,EAAM2B,EAIhB,GAFAxM,EAAE+C,EAAE0I,IAAMZ,EAEP1M,IAAM8B,GAAiC,KAA1BiwB,EAAMhwB,aAAa/B,GAAuC,OAA1B6B,EAAEqC,EAAE8B,EAAEnE,EAAE+C,EAAEoB,EAAGnE,EAAEqC,EAAEoJ,EAAEzL,EAAE+C,EAAE0I,EAAUzL,EAEjF,IAAI6K,EAAM,EAAG1M,GAAK8B,IAAO9B,EAAG,CAC3B,IAAIqO,EAAG0jB,EAAMhwB,WAAW/B,GAAG,IAAM,GAAKqO,EAAK,GAAI,MAC/C3B,EAAM,GAAGA,EAAM2B,EAIhB,IAFAxM,EAAEqC,EAAE8B,IAAM0G,EAENA,EAAM,EAAG1M,GAAK8B,IAAO9B,EAAG,CAC3B,IAAIqO,EAAG0jB,EAAMhwB,WAAW/B,GAAG,IAAM,GAAKqO,EAAK,EAAG,MAC9C3B,EAAM,GAAGA,EAAM2B,EAGhB,OADAxM,EAAEqC,EAAEoJ,IAAMZ,EACH7K,EAGR,SAASsyB,GAAiBzC,EAAMvrB,GAC/B,IAAI8B,EAAe,KAAVypB,EAAKrrB,GAAYF,aAAagD,KACvC,GAAa,MAAVuoB,EAAKpH,EAAW,IAAM,OAAQoH,EAAK/mB,EAAI/E,EAAI2F,OAAOmmB,EAAKpH,EAAGriB,EAAIgf,GAAQ9gB,GAAKA,GAAO,MAAMjC,KAC3F,IAAM,OAAQwtB,EAAK/mB,EAAI/E,EAAI2F,QAAQmmB,EAAK0C,IAAI,IAAIC,WAAWpsB,EAAI,GAAK,GAAKA,EAAIgf,GAAQ9gB,GAAKA,GAAO,MAAMjC,IAAK,MAAO,GAAGiC,GAGvH,SAASmuB,GAAY5C,EAAMvrB,EAAGtE,GAC7B,OAAW,MAAR6vB,GAA0B,MAAVA,EAAKrrB,GAAuB,KAAVqrB,EAAKrrB,EAAiB,QAC7CvJ,IAAX40B,EAAK/mB,EAAwB+mB,EAAK/mB,GACxB,KAAV+mB,EAAKrrB,IAAaqrB,EAAKpH,GAAKzoB,GAAKA,EAAE6P,SAAQggB,EAAKpH,EAAIzoB,EAAE6P,QAC/ByiB,GAAiBzC,OAAnC50B,GAALqJ,EAA8CurB,EAAKvrB,EACxBA,IAG/B,SAASouB,GAAkBC,EAAOrsB,GACjC,IAAI5D,EAAI4D,GAAQA,EAAKqsB,MAAQrsB,EAAKqsB,MAAQ,SACtCC,EAAS,GACb,OADiBA,EAAOlwB,GAAKiwB,EACtB,CAAEE,WAAY,CAACnwB,GAAIowB,OAAQF,GAGnC,SAASG,GAAcC,EAAK31B,EAAMiJ,GACjC,IAAItG,EAAIsG,GAAQ,GACZ2sB,EAAQD,EAAM52B,MAAMkH,QAAQ0vB,GAAOhzB,EAAEizB,MAC7B,MAATjyB,GAA0B,MAATiyB,IAAeA,EAAQjyB,GAC3C,IAAIkyB,EAAKF,IAAQC,EAAQ,GAAO,IAC5BE,EAAK,EAAGC,EAAK,EACjB,GAAGF,GAAkB,MAAZlzB,EAAEqzB,OACV,GAAsB,iBAAZrzB,EAAEqzB,OAAoBF,EAAKnzB,EAAEqzB,WAClC,CACJ,IAAIC,EAA6B,iBAAZtzB,EAAEqzB,OAAqBtB,GAAY/xB,EAAEqzB,QAAUrzB,EAAEqzB,OACtEF,EAAKG,EAAQ7nB,EAAG2nB,EAAKE,EAAQnvB,EAG/B,IAAI+rB,EAAQ,CAAEntB,EAAG,CAACoB,EAAE,IAAUsH,EAAE,KAAWpJ,EAAG,CAAC8B,EAAE,EAAGsH,EAAE,IACtD,GAAGynB,EAAG,QAAS,CACd,IAAIK,EAASlB,GAAkBa,EAAG,SAClChD,EAAMntB,EAAEoB,EAAIovB,EAAOxwB,EAAEoB,EACrB+rB,EAAMntB,EAAE0I,EAAI8nB,EAAOxwB,EAAE0I,EACrBykB,EAAM7tB,EAAE8B,EAAIS,KAAKwI,IAAI8iB,EAAM7tB,EAAE8B,EAAGovB,EAAOlxB,EAAE8B,GACzC+rB,EAAM7tB,EAAEoJ,EAAI7G,KAAKwI,IAAI8iB,EAAM7tB,EAAEoJ,EAAG8nB,EAAOlxB,EAAEoJ,IAC/B,GAAP0nB,IAAUjD,EAAM7tB,EAAEoJ,EAAI0nB,EAAKI,EAAOlxB,EAAEoJ,EAAI,GAE5C,IAAI,IAAIsG,EAAI,EAAGA,GAAK1U,EAAKZ,SAAUsV,EAClC,GAAI1U,EAAK0U,GAAT,CACA,IAAI3V,MAAMkH,QAAQjG,EAAK0U,IAAK,MAAM,IAAItO,MAAM,2CAC5C,IAAI,IAAI6N,EAAI,EAAGA,GAAKjU,EAAK0U,GAAGtV,SAAU6U,EACrC,GAAyB,qBAAfjU,EAAK0U,GAAGT,GAAlB,CACA,IAAIue,EAAO,CAAEvrB,EAAGjH,EAAK0U,GAAGT,IACpBkiB,EAAML,EAAKphB,EAAG0hB,EAAML,EAAK9hB,EAK7B,GAJG4e,EAAMntB,EAAE0I,EAAI+nB,IAAKtD,EAAMntB,EAAE0I,EAAI+nB,GAC7BtD,EAAMntB,EAAEoB,EAAIsvB,IAAKvD,EAAMntB,EAAEoB,EAAIsvB,GAC7BvD,EAAM7tB,EAAEoJ,EAAI+nB,IAAKtD,EAAM7tB,EAAEoJ,EAAI+nB,GAC7BtD,EAAM7tB,EAAE8B,EAAIsvB,IAAKvD,EAAM7tB,EAAE8B,EAAIsvB,IAC7Bp2B,EAAK0U,GAAGT,IAA4B,kBAAfjU,EAAK0U,GAAGT,IAAoBlV,MAAMkH,QAAQjG,EAAK0U,GAAGT,KAASjU,EAAK0U,GAAGT,aAAchK,KAGxG,GADGlL,MAAMkH,QAAQusB,EAAKvrB,KAAMurB,EAAKpgB,EAAIpS,EAAK0U,GAAGT,GAAG,GAAIue,EAAKvrB,EAAIurB,EAAKvrB,EAAE,IACtD,OAAXurB,EAAKvrB,EAAc,GAAGurB,EAAKpgB,EAAGogB,EAAKrrB,EAAI,QAAU,KAAIxE,EAAE0zB,WAAY,SAAe7D,EAAKrrB,EAAI,QACpE,kBAAXqrB,EAAKvrB,EAAgBurB,EAAKrrB,EAAI,IACnB,mBAAXqrB,EAAKvrB,EAAiBurB,EAAKrrB,EAAI,IACtCqrB,EAAKvrB,aAAagD,MACzBuoB,EAAKpH,EAAIzoB,EAAE6P,QAAU9L,EAAIkM,OAAO,IAC7BjQ,EAAE2zB,WAAa9D,EAAKrrB,EAAI,IAAKqrB,EAAK/mB,EAAI/E,EAAI2F,OAAOmmB,EAAKpH,EAAGrD,GAAQyK,EAAKvrB,MAClEurB,EAAKrrB,EAAI,IAAKqrB,EAAKvrB,EAAI8gB,GAAQyK,EAAKvrB,GAAIurB,EAAK/mB,EAAI/E,EAAI2F,OAAOmmB,EAAKpH,EAAGoH,EAAKvrB,KAE5EurB,EAAKrrB,EAAI,SAXiGqrB,EAAOxyB,EAAK0U,GAAGT,GAa/H,GAAG2hB,EACEC,EAAGM,KAAMN,EAAGM,GAAO,IACvBN,EAAGM,GAAKC,GAAO5D,MACT,CACN,IAAI+D,EAAWxD,GAAY,CAAEjsB,EAAEsvB,EAAIhoB,EAAE+nB,IACrCN,EAAGU,GAAY/D,IAKlB,OADGK,EAAMntB,EAAEoB,EAAI,MAAU+uB,EAAG,QAAUhB,GAAahC,IAC5CgD,EAER,SAASW,GAAax2B,EAAMiJ,GAAQ,OAAOysB,GAAc,KAAM11B,EAAMiJ,GAErE,SAASwtB,GAAejzB,EAAGb,GAG1B,OAFIA,IAAGA,EAAI6W,GAAQ,IACnB7W,EAAEyS,YAAY,EAAG5R,GACVb,EAIR,SAAS+zB,GAAmB12B,GAC3B,IAAI22B,EAAgB32B,EAAKuV,WAAW,GACpC,OAAyB,IAAlBohB,EAAsB,GAAK32B,EAAKuV,WAAWohB,EAAe,QAElE,SAASC,GAAmB52B,EAAM2C,GACjC,IAAIk0B,GAAQ,EAGZ,OAH2B,MAALl0B,IAAak0B,GAAQ,EAAMl0B,EAAI6W,GAAQ,EAAE,EAAExZ,EAAKZ,SACtEuD,EAAEyS,YAAY,EAAGpV,EAAKZ,QACnBY,EAAKZ,OAAS,GAAGuD,EAAEyS,YAAY,EAAGpV,EAAM,QACpC62B,EAAQl0B,EAAEW,MAAM,EAAGX,EAAEoE,GAAKpE,EAIlC,SAASm0B,GAAa92B,GACrB,MAAO,CAAE+2B,IAAK/2B,EAAKuV,WAAW,GAAIyhB,KAAMh3B,EAAKuV,WAAW,IAEzD,SAAS0hB,GAAaC,EAAKv0B,GAI1B,OAHIA,IAAGA,EAAI6W,GAAQ,IACnB7W,EAAEyS,YAAY,EAAG8hB,EAAIH,KAAO,GAC5Bp0B,EAAEyS,YAAY,EAAG8hB,EAAIF,MAAQ,GACtBr0B,EAIR,SAASw0B,GAAcn3B,EAAMZ,GAC5B,IAAIga,EAAQpZ,EAAK+G,EACbkP,EAAQjW,EAAKuV,WAAW,GACxBrG,EAAMwnB,GAAmB12B,GACzBo3B,EAAY,GACZhM,EAAI,CAAGjkB,EAAG+H,EAAKyQ,EAAGzQ,GACtB,GAAmB,KAAP,EAAR+G,GAAkB,CAGrB,IADA,IAAIohB,EAAer3B,EAAKuV,WAAW,GAC3BzU,EAAI,EAAGA,GAAKu2B,IAAgBv2B,EAAGs2B,EAAUv4B,KAAKi4B,GAAa92B,IACnEorB,EAAEhd,EAAIgpB,OAEFhM,EAAEhd,EAAI,CAAC,CAAC2oB,IAAI,EAAGC,KAAK,IAKzB,OADAh3B,EAAK+G,EAAIqS,EAAQha,EACVgsB,EAER,SAASkM,GAAcpoB,EAAKvM,GAE3B,IAAIk0B,GAAQ,EAGZ,OAH2B,MAALl0B,IAAak0B,GAAQ,EAAMl0B,EAAI6W,GAAQ,GAAG,EAAEtK,EAAI/H,EAAE/H,SACxEuD,EAAEyS,YAAY,EAAE,GAChBwhB,GAAmB1nB,EAAI/H,EAAGxE,GACnBk0B,EAAQl0B,EAAEW,MAAM,EAAGX,EAAEoE,GAAKpE,EA/LlC2wB,GAAeD,GAA6B,qBAAXI,OAAyBA,YAAS71B,GAkMnE,IAAI25B,GAAuBJ,GAC3B,SAASK,GAAqBtoB,EAAKvM,GAElC,IAAIk0B,GAAQ,EAKZ,OAL2B,MAALl0B,IAAak0B,GAAQ,EAAMl0B,EAAI6W,GAAQ,GAAG,EAAEtK,EAAI/H,EAAE/H,SACxEuD,EAAEyS,YAAY,EAAE,GAChBwhB,GAAmB1nB,EAAI/H,EAAGxE,GAC1BA,EAAEyS,YAAY,EAAE,GAChB6hB,GAAa,CAACF,IAAI,EAAEC,KAAK,GAAIr0B,GACtBk0B,EAAQl0B,EAAEW,MAAM,EAAGX,EAAEoE,GAAKpE,EAIlC,SAAS80B,GAAez3B,GACvB,IAAIw0B,EAAMx0B,EAAKuV,WAAW,GACtBmiB,EAAY13B,EAAKuV,WAAW,GAGhC,OAFAmiB,GAAa13B,EAAKuV,WAAW,IAAK,GAClCvV,EAAK+G,IACE,CAAED,EAAE0tB,EAAKkD,UAAWA,GAE5B,SAASC,GAAenF,EAAM7vB,GAK7B,OAJQ,MAALA,IAAWA,EAAI6W,GAAQ,IAC1B7W,EAAEyS,aAAa,EAAGod,EAAK1rB,GACvBnE,EAAEyS,YAAY,EAAGod,EAAKkF,WAAalF,EAAK9sB,GACxC/C,EAAEyS,YAAY,EAAG,GACVzS,EAKR,IAAIi1B,GAAqBlB,GACrBmB,GAAqBjB,GAGzB,SAASkB,GAA2B93B,GACnC,IAAI22B,EAAgB32B,EAAKuV,WAAW,GACpC,OAAyB,IAAlBohB,GAAyC,aAAlBA,EAA+B,GAAK32B,EAAKuV,WAAWohB,EAAe,QAElG,SAASoB,GAA2B/3B,EAAM2C,GACzC,IAAIk0B,GAAQ,EAGZ,OAH2B,MAALl0B,IAAak0B,GAAQ,EAAMl0B,EAAI6W,GAAQ,MAC7D7W,EAAEyS,YAAY,EAAGpV,EAAKZ,OAAS,EAAIY,EAAKZ,OAAS,YAC9CY,EAAKZ,OAAS,GAAGuD,EAAEyS,YAAY,EAAGpV,EAAM,QACpC62B,EAAQl0B,EAAEW,MAAM,EAAGX,EAAEoE,GAAKpE,EAIlC,IAAIq1B,GAAyBtB,GAIzBuB,GAAcH,GACdI,GAAcH,GAIlB,SAASI,GAAen4B,GACvB,IAAIuf,EAAIvf,EAAKsD,MAAMtD,EAAK+G,EAAG/G,EAAK+G,EAAE,GAC9BqxB,EAAgB,EAAP7Y,EAAE,GAAS8Y,EAAe,EAAP9Y,EAAE,GAClCvf,EAAK+G,GAAG,EACRwY,EAAE,IAAM,IACR,IAAI+Y,EAAc,IAATD,EAAatI,GAAS,CAAC,EAAE,EAAE,EAAE,EAAExQ,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,GAAKhG,GAAcgG,EAAE,IAAI,EACtF,OAAO6Y,EAASE,EAAG,IAAOA,EAE3B,SAASC,GAAev4B,EAAM2C,GACrB,MAALA,IAAWA,EAAI6W,GAAQ,IAC1B,IAAI4e,EAAQ,EAAGC,EAAO,EAAGG,EAAc,IAAPx4B,EAGhC,GAFIA,IAAgB,EAAPA,IAAeA,KAAU,GAAG,KAASA,EAAQ,GAAK,GAAQq4B,EAAO,EACrEG,IAAgB,EAAPA,IAAeA,KAAU,GAAG,KAASA,EAAQ,GAAK,KAAQH,EAAO,EAAGD,EAAQ,IAC3FC,EACE,MAAM,IAAIjyB,MAAM,wBAA0BpG,GADtC2C,EAAEyS,aAAa,IAAKgjB,EAAQI,EAAOx4B,IAAS,IAAMo4B,EAAQ,IAMpE,SAASK,GAAUz4B,GAClB,IAAIwyB,EAAO,CAAE9sB,EAAG,GAAIV,EAAG,IAKvB,OAJAwtB,EAAK9sB,EAAE0I,EAAIpO,EAAKuV,WAAW,GAC3Bid,EAAKxtB,EAAEoJ,EAAIpO,EAAKuV,WAAW,GAC3Bid,EAAK9sB,EAAEoB,EAAI9G,EAAKuV,WAAW,GAC3Bid,EAAKxtB,EAAE8B,EAAI9G,EAAKuV,WAAW,GACpBid,EAER,SAASkG,GAAUtqB,EAAGzL,GAMrB,OALIA,IAAGA,EAAI6W,GAAQ,KACnB7W,EAAEyS,YAAY,EAAGhH,EAAE1I,EAAE0I,GACrBzL,EAAEyS,YAAY,EAAGhH,EAAEpJ,EAAEoJ,GACrBzL,EAAEyS,YAAY,EAAGhH,EAAE1I,EAAEoB,GACrBnE,EAAEyS,YAAY,EAAGhH,EAAEpJ,EAAE8B,GACdnE,EAIR,IAAIg2B,GAAqBF,GACrBG,GAAqBF,GAIzB,SAASG,GAAW74B,GAAQ,OAAOA,EAAKuV,WAAW,EAAG,KACtD,SAASujB,GAAW94B,EAAM2C,GAAK,OAAQA,GAAK6W,GAAQ,IAAIpE,YAAY,EAAGpV,EAAM,KAG7E,IAAI+4B,GAAO,CACX/3B,EAAM,SACN,EAAM,UACN,GAAM,UACN,GAAM,QACN,GAAM,SACN,GAAM,QACN,GAAM,OACN,GAAM,gBACN,IAAM,SAEFg4B,GAAQnR,GAAUkR,IAGtB,SAASE,GAAej5B,GACvB,IAAIuJ,EAAM,GACNrC,EAAIlH,EAAKuV,WAAW,GAGpB2jB,EAAahyB,IAAM,EAEnBiyB,EAAQn5B,EAAKuV,WAAW,GACxB6jB,EAAMp5B,EAAKuV,WAAW,EAAG,KACzB8jB,EAAKr5B,EAAKuV,WAAW,GACrB+jB,EAAKt5B,EAAKuV,WAAW,GACrBgkB,EAAKv5B,EAAKuV,WAAW,GAGzB,OAFAvV,EAAK+G,IAEEmyB,GACN,KAAK,EAAG3vB,EAAIiwB,KAAO,EAAG,MACtB,KAAK,EACJjwB,EAAI4vB,MAAQA,EACZ,IAAIM,EAAMC,GAAOP,GAEdM,IAAKlwB,EAAIowB,IAAMC,GAAQH,IAC1B,MACD,KAAK,EAEJlwB,EAAIowB,IAAMC,GAAQ,CAACP,EAAIC,EAAIC,IAC3B,MACD,KAAK,EAAGhwB,EAAIswB,MAAQV,EAAO,MAI5B,OAFU,GAAPC,IAAU7vB,EAAIuwB,KAAOV,EAAM,EAAIA,EAAM,MAAQA,EAAM,OAE/C7vB,EAER,SAASwwB,GAAexf,EAAO5X,GAE9B,GADIA,IAAGA,EAAI6W,GAAQ,KACfe,GAAOA,EAAMif,KAAkD,OAA1C72B,EAAEyS,YAAY,EAAG,GAAIzS,EAAEyS,YAAY,EAAG,GAAWzS,EACvE4X,EAAM4e,OACRx2B,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAGmF,EAAM4e,QACd5e,EAAMsf,OACfl3B,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAGmF,EAAMsf,SAEvBl3B,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,IAElB,IAAIgkB,EAAM7e,EAAMuf,MAAQ,EAIxB,GAHGV,EAAM,EAAGA,GAAO,MACXA,EAAM,IAAGA,GAAO,OACxBz2B,EAAEyS,YAAY,EAAGgkB,GACb7e,EAAMof,IAIH,CACN,IAAIA,EAAOpf,EAAMof,KAAO,SACxBh3B,EAAEyS,YAAY,EAAG5G,SAASmrB,EAAIr2B,MAAM,EAAE,GAAG,KACzCX,EAAEyS,YAAY,EAAG5G,SAASmrB,EAAIr2B,MAAM,EAAE,GAAG,KACzCX,EAAEyS,YAAY,EAAG5G,SAASmrB,EAAIr2B,MAAM,EAAE,GAAG,KACzCX,EAAEyS,YAAY,EAAG,UARjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,GACjBzS,EAAEyS,YAAY,EAAG,GAQlB,OAAOzS,EAIR,SAASq3B,GAAgBh6B,GACxB,IAAIkH,EAAIlH,EAAKuV,WAAW,GACxBvV,EAAK+G,IACL,IAAIwC,EAAM,CAET0wB,QAAa,EAAJ/yB,EAETgzB,WAAgB,EAAJhzB,EACZizB,SAAc,GAAJjzB,EACVkzB,QAAa,GAAJlzB,EACTmzB,UAAe,GAAJnzB,EACXozB,QAAa,IAAJpzB,GAEV,OAAOqC,EAER,SAASgxB,GAAgBC,EAAM73B,GAC1BA,IAAGA,EAAI6W,GAAQ,IACnB,IAAIihB,GACFD,EAAKE,OAAW,EAAO,IACvBF,EAAKG,OAAW,EAAO,IACvBH,EAAKI,QAAW,GAAO,IACvBJ,EAAKK,OAAW,GAAO,IACvBL,EAAKM,SAAW,GAAO,IACvBN,EAAKO,OAAW,IAAO,GAGzB,OAFAp4B,EAAEyS,YAAY,EAAGqlB,GACjB93B,EAAEyS,YAAY,EAAG,GACVzS,EAIR,SAASq4B,GAA8Br4B,EAAG8I,GAEzC,IAAIwvB,EAAU,CAAC/5B,EAAE,SAASg6B,EAAE,eAAeC,EAAE,MAAMC,GAAG,eAClDzxB,EAAIhH,EAAE4S,WAAW,GACrB,OAAO5L,GACN,KAAK,EAAY,MAAO,GACxB,KAAK,WAAY,KAAK,WAAY,OAAOsxB,EAAQt4B,EAAE4S,WAAW,KAAK,GAEpE,GAAG5L,EAAI,IAAO,MAAM,IAAIvD,MAAM,0BAA4BuD,EAAEqB,SAAS,KAErE,OADArI,EAAEoE,GAAK,EACApE,EAAE4S,WAAW,EAAQ,GAAL9J,EAAS,QAAU,UAE3C,SAAS4vB,GAAkC14B,GAAK,OAAOq4B,GAA8Br4B,EAAG,GACxF,SAAS24B,GAAqC34B,GAAK,OAAOq4B,GAA8Br4B,EAAG,GAK3F,IAAI44B,GAAc,EACdC,GAAc,EAOdC,GAAc,GACdC,GAAc,GAKdC,GAAc,GAKdC,GAAc,GAEdC,GAAc,GACdC,GAAc,GAMdC,GAAc,GAGdC,GAAc,KAGdC,GAAc,GACdC,GAAc,GACdC,GAAc,CAACF,GAAWC,IAG1BE,GAAmB,CACvB,EAAM,CAAE/2B,EAAG,WAAY8B,EAAGo0B,IAC1B,EAAM,CAAEl2B,EAAG,WAAY8B,EAAG80B,IAC1B,EAAM,CAAE52B,EAAG,qBAAsB8B,EAAG80B,IACpC,EAAM,CAAE52B,EAAG,YAAa8B,EAAGq0B,IAC3B,EAAM,CAAEn2B,EAAG,YAAa8B,EAAGq0B,IAC3B,EAAM,CAAEn2B,EAAG,iBAAkB8B,EAAGq0B,IAChC,EAAM,CAAEn2B,EAAG,aAAc8B,EAAGq0B,IAC5B,EAAM,CAAEn2B,EAAG,YAAa8B,EAAGq0B,IAC3B,EAAM,CAAEn2B,EAAG,cAAe8B,EAAGq0B,IAC7B,GAAM,CAAEn2B,EAAG,sBAAuB8B,EAAGq0B,IACrC,GAAM,CAAEn2B,EAAG,YAAa8B,EAAGs0B,IAC3B,GAAM,CAAEp2B,EAAG,eAAgB8B,EAAG60B,GAAYN,IAC1C,GAAM,CAAEr2B,EAAG,gBAAiB8B,EAAG60B,GAAYJ,IAC3C,GAAM,CAAEv2B,EAAG,UAAW8B,EAAG80B,IACzB,GAAM,CAAE52B,EAAG,UAAW8B,EAAG80B,IACzB,GAAM,CAAE52B,EAAG,gBAAiB8B,EAAGs0B,IAC/B,GAAM,CAAEp2B,EAAG,iBAAkB8B,EAAGq0B,IAChC,GAAM,CAAEn2B,EAAG,YAAa8B,EAAGs0B,IAC3B,GAAM,CAAEp2B,EAAG,oBAAqB8B,EAAGs0B,IACnC,GAAM,CAAEp2B,EAAG,aAAc8B,EAAGq0B,GAAO3mB,EAAG,WACtC,GAAM,CAAExP,EAAG,SAAU8B,EAAG20B,IACxB,GAAM,CAAEz2B,EAAG,cAAe8B,EAAG80B,IAC7B,GAAM,CAAE52B,EAAG,gBAAiB8B,EAAG80B,IAC/B,GAAM,CAAE52B,EAAG,WAAY8B,EAAG80B,IAC1B,GAAM,CAAE52B,EAAG,UAAW8B,EAAG80B,IACzB,IAAM,IAIFI,GAAe,CACnB,EAAM,CAAEh3B,EAAG,WAAY8B,EAAGo0B,IAC1B,EAAM,CAAEl2B,EAAG,QAAS8B,EAAG80B,IACvB,EAAM,CAAE52B,EAAG,UAAW8B,EAAG80B,IACzB,EAAM,CAAE52B,EAAG,SAAU8B,EAAG80B,IACxB,EAAM,CAAE52B,EAAG,WAAY8B,EAAG80B,IAC1B,EAAM,CAAE52B,EAAG,WAAY8B,EAAG80B,IAC1B,EAAM,CAAE52B,EAAG,WAAY8B,EAAG80B,IAC1B,EAAM,CAAE52B,EAAG,aAAc8B,EAAG80B,IAC5B,EAAM,CAAE52B,EAAG,YAAa8B,EAAG80B,IAC3B,GAAM,CAAE52B,EAAG,WAAY8B,EAAG00B,IAC1B,GAAM,CAAEx2B,EAAG,cAAe8B,EAAG00B,IAC7B,GAAM,CAAEx2B,EAAG,cAAe8B,EAAG00B,IAC7B,GAAM,CAAEx2B,EAAG,eAAgB8B,EAAG00B,IAC9B,GAAM,CAAEx2B,EAAG,YAAa8B,EAAGq0B,IAC3B,GAAM,CAAEn2B,EAAG,YAAa8B,EAAGq0B,IAC3B,GAAM,CAAEn2B,EAAG,YAAa8B,EAAGq0B,IAC3B,GAAM,CAAEn2B,EAAG,YAAa8B,EAAG40B,IAC3B,GAAM,CAAE12B,EAAG,cAAe8B,EAAG80B,IAC7B,GAAM,CAAE52B,EAAG,cAAe8B,EAAGq0B,IAC7B,IAAM,IAIFc,GAAoB,CACxB,WAAY,CAAEj3B,EAAG,SAAU8B,EAAGw0B,IAC9B,WAAY,CAAEt2B,EAAG,WAAY8B,EAAGw0B,IAChC,WAAY,KAGZ,WACC,IAAI,IAAIjyB,KAAK4yB,GAAsBA,GAAkB/U,eAAe7d,KACpE0yB,GAAiB1yB,GAAK2yB,GAAa3yB,GAAK4yB,GAAkB5yB,KAF3D,GAKA,IAAI6yB,GAAe/U,EAAU4U,GAAkB,KAC3CI,GAAYhV,EAAU6U,GAAc,KAGpCI,GAAc,CAClB,EAAQ,KACR,EAAQ,KACR,EAAQ,GACR,EAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,GAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,IAAQ,KACR,MAAQ,MAIJC,GAAiB,CACpB,KACA,QACA,aACA,WACA,YACA,iBACA,eACA,WACA,SACA,WACA,cACA,kBACA,gBACA,YACA,UACA,YACA,eACA,UACA,YAGD,SAASC,GAAOv8B,GAAO,OAAOA,EAAI0D,KAAI,SAASN,GAAK,MAAO,CAAEA,GAAG,GAAI,IAAKA,GAAG,EAAG,IAAM,IAAFA,MAInF,IAAIk2B,GAASiD,GAAO,CAEnB,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAGA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAEA,QACA,MACA,IACA,QACA,QACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,SACA,MACA,SAEA,IACA,SACA,SACA,MACA,QACA,QACA,MACA,IACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SAEA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,QACA,SACA,SACA,QACA,QAGA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IAOGC,GAA+B,CAElC,6EAA8E,YAG9E,sCAAuC,OAGvC,0CAA2C,OAC3C,sCAAuC,OAGvC,6DAA8D,YAC9D,sEAAuE,YACvE,wEAAyE,WAGzE,wEAAyE,OACzE,6EAA8E,OAG9E,sCAAuC,OACvC,6EAA8E,OAG9E,gDAAiD,OAGjD,2CAA4C,OAG5C,qCAAsC,aACtC,4EAA6E,aAG7E,8EAA+E,OAG/E,oCAAqC,OACrC,wCAAyC,OAGzC,4CAA6C,OAG7C,uCAAwC,OACxC,8EAA+E,OAG/E,wCAAyC,QACzC,+EAAgF,QAGhF,yCAA0C,OAC1C,gFAAiF,OAGjF,gDAAiD,OACjD,6CAA8C,OAC9C,uFAAwF,OACxF,oFAAqF,OAGrF,sCAAuC,OACvC,6EAA8E,OAG9E,qCAAsC,OACtC,2CAA4C,OAC5C,uCAAwC,OACxC,kFAAmF,OACnF,8EAA+E,OAC/E,4EAA6E,OAG7E,4CAA6C,OAC7C,mFAAoF,OAGpF,kC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,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ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","file":"js/chunk-vendors.149f8fbc.js","sourcesContent":["'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */\nvar XLSX = {};\nfunction make_xlsx_lib(XLSX){\nXLSX.version = '0.14.5';\nvar current_codepage = 1200, current_ansi = 1252;\n/*global cptable:true, window */\nif(typeof module !== \"undefined\" && typeof require !== 'undefined') {\n\tif(typeof cptable === 'undefined') {\n\t\tif(typeof global !== 'undefined') global.cptable = require('./dist/cpexcel.js');\n\t\telse if(typeof window !== 'undefined') window.cptable = require('./dist/cpexcel.js');\n\t}\n}\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950 ];\nfor(var i = 0; i <= 8; ++i) VALID_ANSI.push(1250 + i);\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n0: 1252, /* ANSI */\n1: 65001, /* DEFAULT */\n2: 65001, /* SYMBOL */\n77: 10000, /* MAC */\n128: 932, /* SHIFTJIS */\n129: 949, /* HANGUL */\n130: 1361, /* JOHAB */\n134: 936, /* GB2312 */\n136: 950, /* CHINESEBIG5 */\n161: 1253, /* GREEK */\n162: 1254, /* TURKISH */\n163: 1258, /* VIETNAMESE */\n177: 1255, /* HEBREW */\n178: 1256, /* ARABIC */\n186: 1257, /* BALTIC */\n204: 1251, /* RUSSIAN */\n222: 874, /* THAI */\n238: 1250, /* EASTEUROPE */\n255: 1252, /* OEM */\n69: 6969 /* MISC */\n});\n\nvar set_ansi = function(cp) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data) { var o = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data) {\n\tvar o = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data) {\n\tvar o = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data) {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x) { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x) { return String.fromCharCode(x); };\nif(typeof cptable !== 'undefined') {\n\tset_cp = function(cp) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x) {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x) {\n\t\treturn cptable.utils.decode(current_ansi, [x])[0];\n\t};\n}\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64 = (function make_b64(){\n\tvar map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\treturn {\n\t\tencode: function(input) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0;\n\t\t\tfor(var i = 0; i < input.length; ) {\n\t\t\t\tc1 = input.charCodeAt(i++);\n\t\t\t\te1 = (c1 >> 2);\n\n\t\t\t\tc2 = input.charCodeAt(i++);\n\t\t\t\te2 = ((c1 & 3) << 4) | (c2 >> 4);\n\n\t\t\t\tc3 = input.charCodeAt(i++);\n\t\t\t\te3 = ((c2 & 15) << 2) | (c3 >> 6);\n\t\t\t\te4 = (c3 & 63);\n\t\t\t\tif (isNaN(c2)) { e3 = e4 = 64; }\n\t\t\t\telse if (isNaN(c3)) { e4 = 64; }\n\t\t\t\to += map.charAt(e1) + map.charAt(e2) + map.charAt(e3) + map.charAt(e4);\n\t\t\t}\n\t\t\treturn o;\n\t\t},\n\t\tdecode: function b64_decode(input) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0;\n\t\t\tinput = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n\t\t\tfor(var i = 0; i < input.length;) {\n\t\t\t\te1 = map.indexOf(input.charAt(i++));\n\t\t\t\te2 = map.indexOf(input.charAt(i++));\n\t\t\t\tc1 = (e1 << 2) | (e2 >> 4);\n\t\t\t\to += String.fromCharCode(c1);\n\n\t\t\t\te3 = map.indexOf(input.charAt(i++));\n\t\t\t\tc2 = ((e2 & 15) << 4) | (e3 >> 2);\n\t\t\t\tif (e3 !== 64) { o += String.fromCharCode(c2); }\n\n\t\t\t\te4 = map.indexOf(input.charAt(i++));\n\t\t\t\tc3 = ((e3 & 3) << 6) | e4;\n\t\t\t\tif (e4 !== 64) { o += String.fromCharCode(c3); }\n\t\t\t}\n\t\t\treturn o;\n\t\t}\n\t};\n})();\nvar has_buf = (typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node);\n\nvar Buffer_from = function(){};\n\nif(typeof Buffer !== 'undefined') {\n\tvar nbfs = !Buffer.from;\n\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\tBuffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t// $FlowIgnore\n\tif(!Buffer.alloc) Buffer.alloc = function(n) { return new Buffer(n); };\n\t// $FlowIgnore\n\tif(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };\n}\n\nfunction new_raw_buf(len) {\n\t/* jshint -W056 */\n\treturn has_buf ? Buffer.alloc(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len) {\n\t/* jshint -W056 */\n\treturn has_buf ? Buffer.allocUnsafe(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s) {\n\t// $FlowIgnore\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x){ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s) {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data) {\n\tif(Array.isArray(data)) return data.map(_chr).join(\"\");\n\tvar o = []; for(var i = 0; i < data.length; ++i) o[i] = _chr(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data) {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data) {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\nvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = function(bufs) { return [].concat.apply([], bufs); };\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nvar SSF = ({});\nvar make_ssf = function make_ssf(SSF){\nSSF.version = '0.10.2';\nfunction _strrev(x) { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\nfunction pad0(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v,d){var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v,d){var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v,d){var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = Math.pow(2,32);\nfunction pad0r(v,d){if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\nfunction isgeneral(s, i) { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction init_table(t) {\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n\tt[65535]= 'General';\n}\n\nvar table_fmt = {};\ninit_table(table_fmt);\nfunction frac(x, D, mixed) {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction parse_date_code(v,opts,b2) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nSSF.parse_date_code = parse_date_code;\nvar basedate = new Date(1899, 11, 31, 0, 0, 0);\nvar dnthresh = basedate.getTime();\nvar base1904 = new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v, date1904) {\n\tvar epoch = v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= base1904) epoch += 24*60*60*1000;\n\treturn (epoch - (dnthresh + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\nfunction general_fmt_int(v) { return v.toString(10); }\nSSF._general_int = general_fmt_int;\nvar general_fmt_num = (function make_general_fmt_num() {\nvar gnr1 = /\\.(\\d*[1-9])0+$/, gnr2 = /\\.0*$/, gnr4 = /\\.(\\d*[1-9])0+/, gnr5 = /\\.0*[Ee]/, gnr6 = /(E[+-])(\\d)$/;\nfunction gfn2(v) {\n\tvar w = (v<0?12:11);\n\tvar o = gfn5(v.toFixed(12)); if(o.length <= w) return o;\n\to = v.toPrecision(10); if(o.length <= w) return o;\n\treturn v.toExponential(5);\n}\nfunction gfn3(v) {\n\tvar o = v.toFixed(11).replace(gnr1,\".$1\");\n\tif(o.length > (v<0?12:11)) o = v.toPrecision(6);\n\treturn o;\n}\nfunction gfn4(o) {\n\tfor(var i = 0; i != o.length; ++i) if((o.charCodeAt(i) | 0x20) === 101) return o.replace(gnr4,\".$1\").replace(gnr5,\"E\").replace(\"e\",\"E\").replace(gnr6,\"$10$2\");\n\treturn o;\n}\nfunction gfn5(o) {\n\treturn o.indexOf(\".\") > -1 ? o.replace(gnr2,\"\").replace(gnr1,\".$1\") : o;\n}\nreturn function general_fmt_num(v) {\n\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\telse if(Math.abs(V) <= 9) o = gfn2(v);\n\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\telse o = gfn3(v);\n\treturn gfn5(gfn4(o));\n};})();\nSSF._general_num = general_fmt_num;\nfunction general_fmt(v, opts) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? general_fmt_int(v) : general_fmt_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\nSSF._general = general_fmt;\nfunction fix_hijri() { return 0; }\n/*jshint -W086 */\nfunction write_date(type, fmt, val, ss0) {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\nif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1;\n\t}\n\tif(outl > 0) return pad0(out, outl); else return \"\";\n}\n/*jshint +W086 */\nfunction commaify(s) {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar write_num = (function make_write_num(){\nvar pct1 = /%/g;\nfunction write_num_pct(type, fmt, val){\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\nfunction write_num_cm(type, fmt, val){\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\nfunction write_num_exp(fmt, val){\n\tvar o;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r, aval, sign) {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r, aval, sign) {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str) {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val, d) { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val, d) {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 0;\n\t}\n\treturn Math.round((val-Math.floor(val))*Math.pow(10,d));\n}\nfunction carry(val, d) {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val) { if(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0)); return \"\"+Math.floor(val); }\nfunction write_num_flt(type, fmt, val) {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\no = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\nreturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\nSSF.is_date = fmt_is_date;\nfunction eval_fmt(fmt, v, opts, flen) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(abstime)) {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while((++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && i < fmt.length - 2 && \"0#\".indexOf(fmt.charAt(i+2))>-1)) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\nif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\nif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\nout[i].v = write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '(': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = general_fmt(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('(', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?('.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?('.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\nSSF._eval = eval_fmt;\nvar cfregex = /\\[[=<>]/;\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f, v) {\n\tvar fmt = split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(cfregex) != null || fmt[1].match(cfregex) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction format(fmt,v,o) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table) : table_fmt)[fmt];\n\t\t\tbreak;\n\t}\n\tif(isgeneral(sfmt,0)) return general_fmt(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(isgeneral(f[1])) return general_fmt(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction load_entry(fmt, idx) {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\nfor(var i = 0; i < 0x0188; ++i) {\nif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\nif(idx < 0) idx = 0x187;\n\t}\ntable_fmt[idx] = fmt;\n\treturn idx;\n}\nSSF.load = load_entry;\nSSF._table = table_fmt;\nSSF.get_table = function get_table() { return table_fmt; };\nSSF.load_table = function load_table(tbl) {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) load_entry(tbl[i], i);\n};\nSSF.init_table = init_table;\nSSF.format = format;\n};\nmake_ssf(SSF);\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*{[string]:string}*/ = ({\n\t\"General Number\": \"General\",\n\t\"General Date\": SSF._table[22],\n\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\"Medium Date\": SSF._table[15],\n\t\"Short Date\": SSF._table[14],\n\t\"Long Time\": SSF._table[19],\n\t\"Medium Time\": SSF._table[18],\n\t\"Short Time\": SSF._table[20],\n\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"Fixed\": SSF._table[2],\n\t\"Standard\": SSF._table[4],\n\t\"Percent\": SSF._table[10],\n\t\"Scientific\": SSF._table[11],\n\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n});\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n});\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF) {\n\tvar fmt = typeof dateNF == \"number\" ? SSF._table[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str, dateNF, match) {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\nvar DO_NOT_EXPORT_CFB = true;\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global module, require:false, process:false, Buffer:false, Uint8Array:false, Uint16Array:false */\n\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32;\n(function (factory) {\n\t/*jshint ignore:start */\n\t/*eslint-disable */\n\tfactory(CRC32 = {});\n\t/*eslint-enable */\n\t/*jshint ignore:end */\n}(function(CRC32) {\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table() {\n\tvar c = 0, table = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T = signed_crc_table();\nfunction crc32_bstr(bstr, seed) {\n\tvar C = seed ^ -1, L = bstr.length - 1;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^bstr.charCodeAt(i++))&0xFF];\n\t\tC = (C>>>8) ^ T[(C^bstr.charCodeAt(i++))&0xFF];\n\t}\n\tif(i === L) C = (C>>>8) ^ T[(C ^ bstr.charCodeAt(i))&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_buf(buf, seed) {\n\tif(buf.length > 10000) return crc32_buf_8(buf, seed);\n\tvar C = seed ^ -1, L = buf.length - 3;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t}\n\twhile(i < L+3) C = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_buf_8(buf, seed) {\n\tvar C = seed ^ -1, L = buf.length - 7;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t}\n\twhile(i < L+7) C = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_str(str, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L=str.length, c, d; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T[(C ^ c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn C ^ -1;\n}\nCRC32.table = T;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\n}));\n/* [MS-CFB] v20171201 */\nvar CFB = (function _CFB(){\nvar exports = {};\nexports.version = '1.1.2';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l, r) {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p) {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p) {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf, date) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf) {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob) {\n\tprep_blob(blob, 0);\n\tvar o = {};\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs;\nfunction get_fs() { return fs || (fs = require('fs')); }\nfunction parse(file, options) {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob = file.slice(0,512);\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = file.slice(0,ssz); prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files = {}, Paths = [], FileIndex = [], FullPaths = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob) {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob, mver) {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file, ssz) {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI, FP, Paths) {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad = [], q = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry, payload, mini) {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size));\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0));\n\treturn (bconcat(o).slice(0, entry.size));\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx, cnt, sectors, ssz, fat_addrs) {\n\tvar q = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors, start, fat_addrs, ssz, chkd) {\n\tvar buf = [], buf_chain = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors, dir_start, fat_addrs, ssz) {\n\tvar sl = sectors.length, sector_list = ([]);\n\tvar chkd = [], buf = [], buf_chain = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])});\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob = sector.slice(i, i+128);\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size));\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob, offset) {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename, options) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob, options) {\n\tswitch(options && options.type || \"base64\") {\n\t\tcase \"file\": return read_file(blob, options);\n\t\tcase \"base64\": return parse(s2a(Base64.decode(blob)), options);\n\t\tcase \"binary\": return parse(s2a(blob), options);\n\t}\n\treturn parse(blob, options);\n}\n\nfunction init_cfb(cfb, opts) {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 });\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb) {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb, f) {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\tvar data = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = false;\n\t\tfor(j = 0; j < data.length; ++j) if(data[j][0] === dad) s = true;\n\t\tif(!s) data.push([dad, ({\n\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\ttype: 1,\n\t\t\tclsid: HEADER_CLSID,\n\t\t\tct: now, mt: now,\n\t\t\tcontent: null\n\t\t})]);\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb, options) {\n\tvar _opts = options || {};\n\trebuild_cfb(cfb);\n\tif(_opts.fileType == 'zip') return write_zip(cfb, _opts);\n\tvar L = (function(cfb){\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\nvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w) {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\nflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\nif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\nif(file.size > 0 && file.size < 0x1000) {\n\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t}\n\t}\n\twhile(o.l < o.length) o.write_shift(1, 0);\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb, path) {\n\tvar UCFullPaths = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath = path.toUpperCase();\n\tvar w = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb, filename, options) {\n\tget_fs();\n\tvar o = _write(cfb, options);\nfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o) {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb, options) {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type) {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o)); return o;\n\t\tcase \"binary\": return a2s(o);\n\t\tcase \"base64\": return Base64.encode(a2s(o));\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < b.length; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}var _deflate = (function() {\nvar _deflateRaw = (function() {\n\treturn function deflateRaw(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\t/* TODO: this is only type 0 stored */\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t};\n})();\n\nreturn function(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n};\n})();\n/* modified inflate function also moves original read head */\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX) {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\tif(typeof data.copy === 'function') {\n\t\t\t\t// $FlowIgnore\n\t\t\t\tdata.copy(outbuf, woff, boff>>>3, (boff>>>3)+sz);\n\t\t\t\twoff += sz; boff += 8*sz;\n\t\t\t} else while(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\tcontinue;\n\t\t} else if((header >>> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\treturn [usz ? outbuf : outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file, options) {\n\tvar blob = file;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex = [], FullPaths = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(blob.slice(blob.l+namelen, blob.l+namelen+efsz));\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob, csz, usz, o, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(blob.slice(blob.l, blob.l + efsz));\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break;\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\tvar _crc32 = CRC32.buf(data, 0);\n\tif(crc32 != _crc32) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb, options) {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(fi.content, 0);\n\n\t\tvar outbuf = fi.content;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : fi.content.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: encryption header ? */\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, fi.content.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, fi.content.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out)), bconcat(cdirs), o]));\n}\nfunction cfb_new(opts) {\n\tvar o = ({});\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb, name, content, opts) {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2});\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\nfile.content = (content);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb, name) {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb, old_name, new_name) {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb) { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nif(typeof require !== 'undefined' && typeof module !== 'undefined' && typeof DO_NOT_EXPORT_CFB === 'undefined') { module.exports = CFB; }\nvar _fs;\nif(typeof require !== 'undefined') try { _fs = require('fs'); } catch(e) {}\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname, payload, enc) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, URL, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\nif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\nif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\nif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\nif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\na.download = fname; a.href = url; document.body.appendChild(a); a.click();\ndocument.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o) {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(o.hasOwnProperty(ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj, key) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nvar dnthresh = basedate.getTime() + (new Date().getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000;\nfunction datenum(v, date1904) {\n\tvar epoch = v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nfunction numdate(v) {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date = new Date('2017-02-19T19:06:09.000Z');\nif(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17');\nvar good_pd = good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str, fixdate) {\n\tvar d = new Date(str);\n\tif(good_pd) {\nif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr) {\n\tvar o = \"\";\n\tfor(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]);\n\treturn o;\n}\n\nfunction dup(o) {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(o.hasOwnProperty(k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s) {\n\tvar v = Number(s);\n\tif(!isNaN(v)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nfunction fuzzydate(s) {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.toLowerCase().match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\nfunction split_regex(str, re, def) {\n\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\tvar p = str.split(re), o = [p[0]];\n\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\treturn o;\n}\nfunction getdatastr(data) {\n\tif(!data) return null;\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file) {\n\tvar k = keys(zip.files);\n\tvar f = file.toLowerCase(), g = f.replace(/\\//g,'\\\\');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex=/<[\\/\\?]?[a-zA-Z0-9:]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s?[\\/\\?]?>/g;\nif(!(XML_HEADER.match(tagregex))) tagregex = /<[^>]*>/g;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag, skip_root) {\n\tvar z = ({});\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tz[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tz[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x) { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml = (function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/g, coderegex = /_x([\\da-fA-F]{4})_/g;\n\treturn function unescapexml(text) {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text){ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr = (function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str) { return str.replace(entregex,entrepl); };\n})();\nvar xlml_unfixstr = (function() {\n\treturn function xlml_unfixstr(str) { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); };\n})();\n\nfunction parsexmlbool(value) {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nvar utf8read = function utf8reada(orig) {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n};\n\nvar utf8write = function(orig) {\n\tvar out = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\nif(has_buf) {\n\tvar utf8readb = function utf8readb(data) {\n\t\tvar out = Buffer.alloc(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\t\tfor(i = 0; i < data.length; i+=j) {\n\t\t\tj = 1;\n\t\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\t\telse { j = 4;\n\t\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t\t}\n\t\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t\t}\n\t\treturn out.slice(0,k).toString('ucs2');\n\t};\n\tvar corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\n\tif(utf8read(corpus) == utf8readb(corpus)) utf8read = utf8readb;\n\t// $FlowIgnore\n\tvar utf8readc = function utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); };\n\tif(utf8read(corpus) == utf8readc(corpus)) utf8read = utf8readc;\n\n\t// $FlowIgnore\n\tutf8write = function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); };\n}\n\n// matches ... extracts content\nvar matchtag = (function() {\n\tvar mtcache = ({});\n\treturn function matchtag(f,g) {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)',((g||\"\"))));\n\t};\n})();\n\nvar htmldecode = (function() {\n\tvar entities = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x) { return [new RegExp('&' + x[0] + ';', \"g\"), x[1]]; });\n\treturn function htmldecode(str) {\n\t\tvar o = str.replace(/^[\\t\\n\\r ]+/, \"\").replace(/[\\t\\n\\r ]+$/,\"\").replace(/[\\t\\n\\r ]+/g, \" \").replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\").replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = (function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)' + g + ''; }\n\nfunction wxt_helper(h) { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f,g,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d, t) { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s) {\n\tswitch(typeof s) {\n\t\tcase 'string': return writextag('vt:lpwstr', s);\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', String(s));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nvar XMLNS = ({\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n});\n\nXMLNS.main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n});\nfunction read_double_le(b, idx) {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b, v, idx) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar __toBuffer = function(bufs) { var x=[],w=10240; for(var i=0;i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___lpstr = __lpstr;\nvar __cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___cpstr = __cpstr;\nvar __lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___lpwstr = __lpwstr;\nvar __lpp4, ___lpp4;\n__lpp4 = ___lpp4 = function lpp4_(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar ___8lpp4 = __8lpp4;\nvar __double, ___double;\n__double = ___double = function(b, idx) { return read_double_le(b, idx);};\nvar is_buf = function is_buf_a(a) { return Array.isArray(a); };\n\nif(has_buf) {\n\t__utf16le = function(b,s,e) { if(!Buffer.isBuffer(b)) return ___utf16le(b,s,e); return b.toString('utf16le',s,e).replace(chr0,'')/*.replace(chr1,'!')*/; };\n\t__hexlify = function(b,s,l) { return Buffer.isBuffer(b) ? b.toString('hex',s,s+l) : ___hexlify(b,s,l); };\n\t__lpstr = function lpstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b, i) { if(!Buffer.isBuffer(b)) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__utf8 = function utf8_b(b, s, e) { return (Buffer.isBuffer(b)) ? b.toString('utf8',s,e) : ___utf8(b,s,e); };\n\t__toBuffer = function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0]) : ___toBuffer(bufs);};\n\tbconcat = function(bufs) { return Buffer.isBuffer(bufs[0]) ? Buffer.concat(bufs) : [].concat.apply([], bufs); };\n\t__double = function double_(b, i) { if(Buffer.isBuffer(b)) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a); };\n}\n\n/* from js-xls */\nif(typeof cptable !== 'undefined') {\n\t__utf16le = function(b,s,e) { return cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b,s,e) { return cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\n\nvar __readUInt8 = function(b, idx) { return b[idx]; };\nvar __readUInt16LE = function(b, idx) { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b, idx) { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b, idx) { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b, idx) { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b, idx) { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size, t) {\n\tvar o=\"\", oI, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof cptable !== 'undefined') o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof cptable !== 'undefined') {\n\t\t\t\to = cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t, val, f) {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\nfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\t/* TODO: codepage */\nval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\nfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\nthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\nvar end = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr, fld) {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos) {\n\tblob.l = pos;\n\tblob.read_shift = ReadShift;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length) { blob.l += length; }\n\nfunction new_buf(sz) {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb, opts) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = (R.f||parsenoop)(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R.n, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array() {\n\tvar bufs = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz) {\n\t\tvar o = (new_buf(sz));\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz) {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn __toBuffer([bufs]);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs });\n}\n\nfunction write_record(ba, type, payload, length) {\n\tvar t = +XLSBRE[type], l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell, tgt, opts) {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c, biff) {\n\tif(c.cRel && c.c < 0) { c = dup(c); c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(c.cRel === 0) s = fix_col(s);\n\tif(c.rRel === 0) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts) {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0xFFFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nvar OFFCRYPTO = {};\n\nvar make_offcrypto = function(O, _crypto) {\n\tvar crypto;\n\tif(typeof _crypto !== 'undefined') crypto = _crypto;\n\telse if(typeof require !== 'undefined') {\n\t\ttry { crypto = require('crypto'); }\n\t\tcatch(e) { crypto = null; }\n\t}\n\n\tO.rc4 = function(key, data) {\n\t\tvar S = new Array(256);\n\t\tvar c = 0, i = 0, j = 0, t = 0;\n\t\tfor(i = 0; i != 256; ++i) S[i] = i;\n\t\tfor(i = 0; i != 256; ++i) {\n\t\t\tj = (j + S[i] + (key[i%key.length]).charCodeAt(0))&255;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t}\n\t\t// $FlowIgnore\n\t\ti = j = 0; var out = Buffer(data.length);\n\t\tfor(c = 0; c != data.length; ++c) {\n\t\t\ti = (i + 1)&255;\n\t\t\tj = (j + S[i])%256;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t\tout[c] = (data[c] ^ S[(S[i]+S[j])&255]);\n\t\t}\n\t\treturn out;\n\t};\n\n\tO.md5 = function(hex) {\n\t\tif(!crypto) throw new Error(\"Unsupported crypto\");\n\t\treturn crypto.createHash('md5').update(hex).digest('hex');\n\t};\n};\n/*global crypto:true */\nmake_offcrypto(OFFCRYPTO, typeof crypto !== \"undefined\" ? crypto : undefined);\n\nfunction decode_row(rowstr) { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row) { return \"\" + (row + 1); }\nfunction fix_row(cstr) { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr) { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr) { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col) { var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr) { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr) { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr) { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\nfunction decode_cell(cstr) { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction encode_cell(cell) { return encode_col(cell.c) + encode_row(cell.r); }\nfunction decode_range(range) { var x =range.split(\":\").map(decode_cell); return {s:x[0],e:x[x.length-1]}; }\nfunction encode_range(cs,ce) {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\nreturn encode_range(cs.s, cs.e);\n\t}\nif(typeof cs !== 'string') cs = encode_cell((cs));\n\tif(typeof ce !== 'string') ce = encode_cell((ce));\nreturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range) {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || range.charCodeAt(++i) === 58) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell, v) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF.format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF.format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell, v, o) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet, opts) {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws, data, opts) {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws = _ws || (dense ? ([]) : ({}));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar range = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}});\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell = ({v: data[R][C] });\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) { if(cell.f) cell.t = 'n'; else if(!o.sheetStubs) continue; else cell.t = 'z'; }\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || SSF._table[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF.format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF.format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}));\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data, opts) { return sheet_add_aoa(null, data, opts); }\n\nfunction write_UInt32LE(x, o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data, o) {\n\tvar _null = false; if(o == null) { _null = true; o = new_buf(4+2*data.length); }\n\to.write_shift(4, data.length);\n\tif(data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length) {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str });\n\tif((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor(var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ich:0, ifnt:0}];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str, o) {\n\t/* TODO: formatted string */\n\tvar _null = false; if(o == null) { _null = true; o = new_buf(15+4*str.t.length); }\n\to.write_shift(1,0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str, o) {\n\t/* TODO: formatted string */\n\tvar _null = false; if(o == null) { _null = true; o = new_buf(23+4*str.t.length); }\n\to.write_shift(1,1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4,1);\n\twrite_StrRun({ich:0,ifnt:0}, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data) {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c:col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell, o) {\n\tif(o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data, o) {\n\tvar _null = false; if(o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif(data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data) {\n\tvar b = data.slice(data.l, data.l+4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l+=4;\n\tb[0] &= 0xFC; // b[0] &= ~3;\n\tvar RK = fInt === 0 ? __double([0,0,0,0,b[0],b[1],b[2],b[3]],0) : __readInt32LE(b,0)>>2;\n\treturn fX100 ? (RK/100) : RK;\n}\nfunction write_RkNumber(data, o) {\n\tif(o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif((data == (data | 0)) && (data >= -(1<<29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if((d100 == (d100 | 0)) && (d100 >= -(1<<29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif(fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data ) {\n\tvar cell = ({s: {}, e: {}});\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data) { return data.read_shift(8, 'f'); }\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n0x00: \"#NULL!\",\n0x07: \"#DIV/0!\",\n0x0F: \"#VALUE!\",\n0x17: \"#REF!\",\n0x1D: \"#NAME?\",\n0x24: \"#NUM!\",\n0x2A: \"#N/A\",\n0x2B: \"#GETTING_DATA\",\n0xFF: \"#WTF?\"\n};\nvar RBErr = evert_num(BErr);\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch(xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif(icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif(nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif(!o) o = new_buf(8);\n\tif(!color||color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif(color.index) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if(color.theme) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif(nTS > 0) nTS *= 32767;\n\telse if(nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif(!color.rgb) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\to.write_shift(1, parseInt(rgb.slice(0,2),16));\n\t\to.write_shift(1, parseInt(rgb.slice(2,4),16));\n\t\to.write_shift(1, parseInt(rgb.slice(4,6),16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\t/* fBold: d & 0x01 */\n\t\tfItalic: d & 0x02,\n\t\t/* fUnderline: d & 0x04 */\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif(!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w) {\n\t// $FlowIgnore\n\tvar ClipFmt = {2:\"BITMAP\",3:\"METAFILEPICT\",8:\"DIB\",14:\"ENHMETAFILE\"};\n\tvar m = o.read_shift(4);\n\tswitch(m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)]||\"\";\n\t}\n\tif(m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n0x01: { n: 'CodePage', t: VT_I2 },\n0x02: { n: 'Category', t: VT_STRING },\n0x03: { n: 'PresentationFormat', t: VT_STRING },\n0x04: { n: 'ByteCount', t: VT_I4 },\n0x05: { n: 'LineCount', t: VT_I4 },\n0x06: { n: 'ParagraphCount', t: VT_I4 },\n0x07: { n: 'SlideCount', t: VT_I4 },\n0x08: { n: 'NoteCount', t: VT_I4 },\n0x09: { n: 'HiddenCount', t: VT_I4 },\n0x0a: { n: 'MultimediaClipCount', t: VT_I4 },\n0x0b: { n: 'ScaleCrop', t: VT_BOOL },\n0x0c: { n: 'HeadingPairs', t: VT_VECTOR | VT_VARIANT },\n0x0d: { n: 'TitlesOfParts', t: VT_VECTOR | VT_LPSTR },\n0x0e: { n: 'Manager', t: VT_STRING },\n0x0f: { n: 'Company', t: VT_STRING },\n0x10: { n: 'LinksUpToDate', t: VT_BOOL },\n0x11: { n: 'CharacterCount', t: VT_I4 },\n0x13: { n: 'SharedDoc', t: VT_BOOL },\n0x16: { n: 'HyperlinksChanged', t: VT_BOOL },\n0x17: { n: 'AppVersion', t: VT_I4, p: 'version' },\n0x18: { n: 'DigSig', t: VT_BLOB },\n0x1A: { n: 'ContentType', t: VT_STRING },\n0x1B: { n: 'ContentStatus', t: VT_STRING },\n0x1C: { n: 'Language', t: VT_STRING },\n0x1D: { n: 'Version', t: VT_STRING },\n0xFF: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n0x01: { n: 'CodePage', t: VT_I2 },\n0x02: { n: 'Title', t: VT_STRING },\n0x03: { n: 'Subject', t: VT_STRING },\n0x04: { n: 'Author', t: VT_STRING },\n0x05: { n: 'Keywords', t: VT_STRING },\n0x06: { n: 'Comments', t: VT_STRING },\n0x07: { n: 'Template', t: VT_STRING },\n0x08: { n: 'LastAuthor', t: VT_STRING },\n0x09: { n: 'RevNumber', t: VT_STRING },\n0x0A: { n: 'EditTime', t: VT_FILETIME },\n0x0B: { n: 'LastPrinted', t: VT_FILETIME },\n0x0C: { n: 'CreatedDate', t: VT_FILETIME },\n0x0D: { n: 'ModifiedDate', t: VT_FILETIME },\n0x0E: { n: 'PageCount', t: VT_I4 },\n0x0F: { n: 'WordCount', t: VT_I4 },\n0x10: { n: 'CharCount', t: VT_I4 },\n0x11: { n: 'Thumbnail', t: VT_CF },\n0x12: { n: 'Application', t: VT_STRING },\n0x13: { n: 'DocSecurity', t: VT_I4 },\n0xFF: {}\n};\n\n/* [MS-OLEPS] 2.18 */\nvar SpecialProperties = {\n0x80000000: { n: 'Locale', t: VT_UI4 },\n0x80000003: { n: 'Behavior', t: VT_UI4 },\n0x72627262: {}\n};\n\n(function() {\n\tfor(var y in SpecialProperties) if(SpecialProperties.hasOwnProperty(y))\n\tDocSummaryPIDDSI[y] = SummaryPIDSI[y] = SpecialProperties[y];\n})();\n\nvar DocSummaryRE = evert_key(DocSummaryPIDDSI, \"n\");\nvar SummaryRE = evert_key(SummaryPIDSI, \"n\");\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n0x0001: \"US\", // United States\n0x0002: \"CA\", // Canada\n0x0003: \"\", // Latin America (except Brazil)\n0x0007: \"RU\", // Russia\n0x0014: \"EG\", // Egypt\n0x001E: \"GR\", // Greece\n0x001F: \"NL\", // Netherlands\n0x0020: \"BE\", // Belgium\n0x0021: \"FR\", // France\n0x0022: \"ES\", // Spain\n0x0024: \"HU\", // Hungary\n0x0027: \"IT\", // Italy\n0x0029: \"CH\", // Switzerland\n0x002B: \"AT\", // Austria\n0x002C: \"GB\", // United Kingdom\n0x002D: \"DK\", // Denmark\n0x002E: \"SE\", // Sweden\n0x002F: \"NO\", // Norway\n0x0030: \"PL\", // Poland\n0x0031: \"DE\", // Germany\n0x0034: \"MX\", // Mexico\n0x0037: \"BR\", // Brazil\n0x003d: \"AU\", // Australia\n0x0040: \"NZ\", // New Zealand\n0x0042: \"TH\", // Thailand\n0x0051: \"JP\", // Japan\n0x0052: \"KR\", // Korea\n0x0054: \"VN\", // Viet Nam\n0x0056: \"CN\", // China\n0x005A: \"TR\", // Turkey\n0x0069: \"JS\", // Ramastan\n0x00D5: \"DZ\", // Algeria\n0x00D8: \"MA\", // Morocco\n0x00DA: \"LY\", // Libya\n0x015F: \"PT\", // Portugal\n0x0162: \"IS\", // Iceland\n0x0166: \"FI\", // Finland\n0x01A4: \"CZ\", // Czech Republic\n0x0376: \"TW\", // Taiwan\n0x03C1: \"LB\", // Lebanon\n0x03C2: \"JO\", // Jordan\n0x03C3: \"SY\", // Syria\n0x03C4: \"IQ\", // Iraq\n0x03C5: \"KW\", // Kuwait\n0x03C6: \"SA\", // Saudi Arabia\n0x03CB: \"AE\", // United Arab Emirates\n0x03CC: \"IL\", // Israel\n0x03CE: \"QA\", // Qatar\n0x03D5: \"IR\", // Iran\n0xFFFF: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar XLSIcv = rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\n\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* Metadata */\n\t\"application/vnd.ms-excel.sheetMetadata\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"TODO\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"vba\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n});\n\nvar CT_LIST = (function(){\n\tvar o = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n\t};\n\tkeys(o).forEach(function(k) { [\"xlsm\", \"xlam\"].forEach(function(v) { if(!o[k][v]) o[k][v] = o[k].xlsx; }); });\n\tkeys(o).forEach(function(k){ keys(o[k]).forEach(function(v) { ct2type[o[k][v]] = k; }); });\n\treturn o;\n})();\n\nvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\nXMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types';\n\nfunction new_ct() {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [],\n\t\tTODO:[], xmlns: \"\" });\n}\n\nfunction parse_ct(data) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nvar CTYPE_XML_ROOT = writextag('Types', null, {\n\t'xmlns': XMLNS.CT,\n\t'xmlns:xsd': XMLNS.xsd,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nvar CTYPE_DEFAULTS = [\n\t['xml', 'application/xml'],\n\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t/* from test files */\n\t['bmp', 'image/bmp'],\n\t['png', 'image/png'],\n\t['gif', 'image/gif'],\n\t['emf', 'image/x-emf'],\n\t['wmf', 'image/x-wmf'],\n\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t['pdf', 'application/pdf'],\n\t['rels', type2ct.rels[0]]\n].map(function(x) {\n\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n});\n\nfunction write_ct(ct, opts) {\n\tvar o = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (CTYPE_XML_ROOT);\n\to = o.concat(CTYPE_DEFAULTS);\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('drawings');\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n});\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file) {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data, currentFilePath) {\n\tif (!data) return data;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar rels = {};\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nfunction add_rels(rels, rId, f, type, relobj) {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(rId < 0) for(rId = 1; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(relobj.Type == RELS.HLINK) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 \n\t\tcase 'file-entry': // 4.3 \n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 \n\t\tcase 'algorithm': // 4.5 \n\t\tcase 'start-key-generation': // 4.6 \n\t\tcase 'key-derivation': // 4.7 \n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\to.push(' \\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' \\n');\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file, res, tag) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base, file) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nvar write_meta_ods = (function() {\n\tvar payload = 'Sheet' + 'JS ' + XLSX.version + '';\n\treturn function wmo() {\n\t\treturn payload;\n\t};\n})();\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nXMLNS.CORE_PROPS = \"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\";\nRELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties';\n\nvar CORE_PROPS_REGEX = (function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = cur[1];\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nvar CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, {\n\t//'xmlns': XMLNS.CORE_PROPS,\n\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t'xmlns:dc': XMLNS.dc,\n\t'xmlns:dcterms': XMLNS.dcterms,\n\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nXMLNS.EXT_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\";\nRELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties';\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": p[f[1]] = (data.match(matchtag(f[0]))||[])[1]; break;\n\t\t\tcase \"bool\": p[f[1]] = (data.match(matchtag(f[0]))||[])[1] === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nvar EXT_PROPS_XML_ROOT = writextag('Properties', null, {\n\t'xmlns': XMLNS.EXT_PROPS,\n\t'xmlns:vt': XMLNS.vt\n});\n\nfunction write_ext_props(cp) {\n\tvar o = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (EXT_PROPS_XML_ROOT);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = String(cp[f[1]]); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nXMLNS.CUST_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\";\nRELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties';\n\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM = evert(XLMLDocPropsMap);\n\nfunction xlml_set_prop(Props, tag, val) {\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o = [];\n\tif(Props) keys(Props).forEach(function(k) {\nif(!Props.hasOwnProperty(k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\nif(!Custprops.hasOwnProperty(k)) return;\n\t\tif(Props && Props.hasOwnProperty(k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t, pad) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob) {\n\tvar length = blob.read_shift(4);\n\tvar ret = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.10 VtVecUnalignedLpstr */\nfunction parse_VtVecUnalignedLpstr(blob) {\n\treturn parse_VtVecUnalignedLpstrValue(blob);\n}\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i != cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OSHARED] 2.3.3.1.15 VtVecHeadingPair */\nfunction parse_VtVecHeadingPair(blob) {\n\t// NOTE: When invoked, wType & padding were already consumed\n\treturn parse_VtVecHeadingPairValue(blob);\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict = ({});\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type, _opts) {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPair(blob);\n\t\tcase 0x101E /*VT_LPSTR*/: return parse_VtVecUnalignedLpstr(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\np = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj = ({});\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2));\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ].concat(PseudoPropsPairs);\nfunction guess_property_type(val) {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI)[idx];\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\nvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({});\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier });\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI, entries2, clsid2) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob) {\n\tblob.l += 2; //var cAnti = blob.read_shift(2);\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length) {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tvar out = ({Target:target});\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tvar F = Target.indexOf(\"#\") > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\tout.write_shift(4, Target.length + 1);\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(2, Target.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tout.write_shift(4, 2*(Target.length + 1));\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(2, Target.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length + 1);\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(1, Target.charCodeAt(i) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob) {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe});\n}\nfunction write_XLSCell(R, C, ixfe, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n0x00: parse_FtSkip, /* FtEnd */\n0x04: parse_FtSkip, /* FtMacro */\n0x05: parse_FtSkip, /* FtButton */\n0x06: parse_FtSkip, /* FtGmo */\n0x07: parse_FtCf, /* FtCf */\n0x08: parse_FtSkip, /* FtPioGrbit */\n0x09: parse_FtSkip, /* FtPictFmla */\n0x0A: parse_FtSkip, /* FtCbls */\n0x0B: parse_FtSkip, /* FtRbo */\n0x0C: parse_FtSkip, /* FtSbs */\n0x0D: parse_FtNts, /* FtNts */\n0x0E: parse_FtSkip, /* FtSbsFmla */\n0x0F: parse_FtSkip, /* FtGboData */\n0x10: parse_FtSkip, /* FtEdoData */\n0x11: parse_FtSkip, /* FtRboData */\n0x12: parse_FtSkip, /* FtCblsData */\n0x13: parse_FtSkip, /* FtLbsData */\n0x14: parse_FtSkip, /* FtCblsFmla */\n0x15: parse_FtCmo\n};\nfunction parse_FtArray(blob, length) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb, t, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length) {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs = ([]);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({});\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1() {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 8) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R, C, v, os, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i, f, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R, C, v, os, opts, t) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R, C, v, os) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t});\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\tvar rgce = target == blob.l || cce === 0 ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length) {\n\tvar merges = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = [];\nparse_BIFF5OT[0x08] = function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts);\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob) {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\treturn {s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags};\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r, c, val) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r, c, val) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF = (function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n0x01: 437, 0x02: 850,\n0x03: 1252, 0x04: 10000,\n0x64: 852, 0x65: 866,\n0x66: 865, 0x67: 861,\n0x68: 895, 0x69: 620,\n0x6A: 737, 0x6B: 857,\n0x78: 950, 0x79: 949,\n0x7A: 936, 0x7B: 932,\n0x7C: 874, 0x7D: 1255,\n0x7E: 1256, 0x96: 10007,\n0x97: 10029, 0x98: 10006,\n0xC8: 1250, 0xC9: 1251,\n0xCA: 1254, 0xCB: 1253,\n\n\t/* shapefile DBF extension */\n0x00: 20127, 0x08: 865,\n0x09: 437, 0x0A: 850,\n0x0B: 437, 0x0D: 437,\n0x0E: 850, 0x0F: 437,\n0x10: 850, 0x11: 437,\n0x12: 850, 0x13: 932,\n0x14: 850, 0x15: 437,\n0x16: 850, 0x17: 865,\n0x18: 437, 0x19: 437,\n0x1A: 850, 0x1B: 437,\n0x1C: 863, 0x1D: 850,\n0x1F: 852, 0x22: 852,\n0x23: 852, 0x24: 860,\n0x25: 850, 0x26: 866,\n0x37: 850, 0x40: 852,\n0x4D: 936, 0x4E: 949,\n0x4F: 950, 0x50: 874,\n0x57: 1252, 0x58: 1252,\n0x59: 1252,\n\n0xFF: 16969\n};\nvar dbf_reverse_map = evert({\n0x01: 437, 0x02: 850,\n0x03: 1252, 0x04: 10000,\n0x64: 852, 0x65: 866,\n0x66: 865, 0x67: 861,\n0x68: 895, 0x69: 620,\n0x6A: 737, 0x6B: 857,\n0x78: 950, 0x79: 949,\n0x7A: 936, 0x7B: 932,\n0x7C: 874, 0x7D: 1255,\n0x7E: 1256, 0x96: 10007,\n0x97: 10029, 0x98: 10006,\n0xC8: 1250, 0xC9: 1251,\n0xCA: 1254, 0xCB: 1253,\n0x00: 20127\n});\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts) {\n\tvar out = [];\n\t/* TODO: browser based */\n\tvar d = (new_raw_buf(1));\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64.decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = false;\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: case 0x03: break;\n\t\tcase 0x30: vfp = true; memo = true; break;\n\t\tcase 0x31: vfp = true; break;\n\t\tcase 0x83: memo = true; break;\n\t\tcase 0x8B: memo = true; break;\n\t\tcase 0x8C: memo = true; l7 = true; break;\n\t\tcase 0xF5: memo = true; break;\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\tvar /*filedate = new Date(),*/ nrow = 0, fpos = 0;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\t/*filedate = new Date(d.read_shift(1) + 1900, d.read_shift(1) - 1, d.read_shift(1));*/d.l += 3;\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(ft != 0x02) fpos = d.read_shift(2);\n\tvar rlen = d.read_shift(2);\n\n\tvar /*flags = 0,*/ current_cp = 1252;\n\tif(ft != 0x02) {\n\td.l+=16;\n\t/*flags = */d.read_shift(1);\n\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t/* codepage present in FoxPro */\n\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\td.l+=1;\n\n\td.l+=2;\n\t}\n\tif(l7) d.l += 36;\nvar fields = [], field = ({});\n\tvar hend = fpos - 10 - (vfp ? 264 : 0), ww = l7 ? 32 : 11;\n\twhile(ft == 0x02 ? d.l < d.length && d[d.l] != 0x0d: d.l < hend) {\n\t\tfield = ({});\n\t\tfield.name = cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // VFP Double\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General\n\t\t\tcase 'P': // Picture\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'C': // character\n\t\t\tcase 'D': // date\n\t\t\tcase 'F': // floating point\n\t\t\tcase 'I': // long\n\t\t\tcase 'L': // boolean\n\t\t\tcase 'M': // memo\n\t\t\tcase 'N': // number\n\t\t\tcase 'O': // double\n\t\t\tcase 'T': // datetime\n\t\t\tcase 'Y': // currency\n\t\t\tcase '0': // VFP _NullFlags\n\t\t\tcase '@': // timestamp\n\t\t\tcase '+': // autoincrement\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\telse if(ft == 0x02) d.l = 0x209;\n\tif(ft != 0x02) {\n\t\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\t\td.l = fpos;\n\t}\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) { d.l+=rlen; continue; }\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\tout[R][C] = cptable.utils.decode(current_cp, dd);\n\t\t\t\t\tout[R][C] = out[R][C].trim();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase ' ': case '?': out[R][C] = false; break; /* NOTE: technically uninitialized */\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N': out[R][C] = +s.replace(/\\u0000/g,\"\").trim(); break;\n\t\t\t\tcase '@': out[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400); break;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4; break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts) {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\treturn aoa_to_sheet(dbf_to_aoa(buf, o), o);\n}\n\nfunction dbf_to_workbook(buf, opts) {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws, opts) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1);\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(i == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar col = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tvar guess = '', _guess = '';\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\tif(guess == 'C') break;\n\t\t}\n\t\trlen += _RLEN[guess] || 0;\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[current_ansi] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += _RLEN[coltypes[i]] || 0;\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j\":190, \"?\":191, \"{\":223\n\t};\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str, opts) {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr = [];\n\t\tvar formats = [];\n\t\tvar next_cell_format = null;\n\t\tvar sht = {}, rowinfo = [], colinfo = [], cw = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d, opts) {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d, opts) { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell, ws, R, C) {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number') col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number') col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out, rows) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws, opts) {\n\t\tvar preamble = [\"ID;PWXL;N;E\"], o = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = (function() {\n\tfunction dif_to_aoa(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str, opts) {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri].trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str, opts) { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str, opts) { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = (function() {\n\t\tvar push_field = function pf(o, topic, v, n, s) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o, type, v, s) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws) {\n\t\t\tvar o = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF.format(cell.z || SSF._table[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = (function() {\n\tfunction decode(s) { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s) { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str, opts) {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d, opts) { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d, opts) { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws) {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o = [], oo = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF.format(cell.z || SSF._table[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws) {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = (function() {\n\tfunction set_text_arr(data, arr, R, C, o) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f, opts) {\n\t\tvar o = opts || {};\n\t\tvar arr = ([]);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n0x2C: ',',\n0x09: \"\\t\",\n0x3B: ';'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n0x2C: 3,\n0x09: 2,\n0x3B: 1\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( cnt.hasOwnProperty(end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( cnt.hasOwnProperty(end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]];\n\t}\n\n\tfunction dsv_to_sheet_str(str, opts) {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws = o.dense ? ([]) : ({});\n\t\tvar range = ({s: {c:0, r:0}, e: {c:0, r:0}});\n\n\t\tif(str.slice(0,4) == \"sep=\" && str.charCodeAt(5) == 10) { sep = str.charAt(4); str = str.slice(6); }\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0;\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({});\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || SSF._table[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF.format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1;\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str, opts) {\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d, opts) {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64.decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8');\n\t\t\t\telse if(opts.codepage && typeof cptable !== 'undefined') str = cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = d.toString('binary');\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if((opts.type == 'binary') && typeof cptable !== 'undefined' && opts.codepage) str = cptable.utils.decode(opts.codepage, cptable.utils.encode(1252,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d, opts) { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws) {\n\t\tvar o = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = (function() {\n\tfunction lotushopper(data, cb, opts) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = (R.f||parsenoop)(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R.n, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64.decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts) {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s = ((o.dense ? [] : {})), n = \"Sheet1\", sidx = 0;\n\t\tvar sheets = {}, snames = [n];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x02) o.Enum = WK1Enum;\n\t\telse if(d[2] == 0x1a) o.Enum = WK3Enum;\n\t\telse if(d[2] == 0x0e) { o.Enum = WK3Enum; o.qpro = true; d.l = 0; }\n\t\telse throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\tlotushopper(d, function(val, Rn, RT) {\n\t\t\tif(d[2] == 0x02) switch(RT) {\n\t\t\t\tcase 0x00:\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || SSF._table[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t} else switch(RT) {\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: break;\n\t\t\t}\n\t\t}, o);\n\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[n] = s;\n\t\treturn { SheetNames: snames, Sheets:sheets };\n\t}\n\n\tfunction parse_RANGE(blob) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_cell_3(blob) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\t/* TODO: figure out all of the corner cases */\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t\tdefault: throw \"unknown NUMBER_18 encoding \" + (v & 0x07);\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) { o[1].v = 0; return o; }\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (s*2 - 1) * ((e > 0 ? (v2 << e) : (v2 >>> -e)) + (e > -32 ? (v1 << (e + 32)) : (v1 >>> -(e + 32))));\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tvar WK1Enum = {\n0x0000: { n:\"BOF\", f:parseuint16 },\n0x0001: { n:\"EOF\" },\n0x0002: { n:\"CALCMODE\" },\n0x0003: { n:\"CALCORDER\" },\n0x0004: { n:\"SPLIT\" },\n0x0005: { n:\"SYNC\" },\n0x0006: { n:\"RANGE\", f:parse_RANGE },\n0x0007: { n:\"WINDOW1\" },\n0x0008: { n:\"COLW1\" },\n0x0009: { n:\"WINTWO\" },\n0x000A: { n:\"COLW2\" },\n0x000B: { n:\"NAME\" },\n0x000C: { n:\"BLANK\" },\n0x000D: { n:\"INTEGER\", f:parse_INTEGER },\n0x000E: { n:\"NUMBER\", f:parse_NUMBER },\n0x000F: { n:\"LABEL\", f:parse_LABEL },\n0x0010: { n:\"FORMULA\", f:parse_FORMULA },\n0x0018: { n:\"TABLE\" },\n0x0019: { n:\"ORANGE\" },\n0x001A: { n:\"PRANGE\" },\n0x001B: { n:\"SRANGE\" },\n0x001C: { n:\"FRANGE\" },\n0x001D: { n:\"KRANGE1\" },\n0x0020: { n:\"HRANGE\" },\n0x0023: { n:\"KRANGE2\" },\n0x0024: { n:\"PROTEC\" },\n0x0025: { n:\"FOOTER\" },\n0x0026: { n:\"HEADER\" },\n0x0027: { n:\"SETUP\" },\n0x0028: { n:\"MARGINS\" },\n0x0029: { n:\"LABELFMT\" },\n0x002A: { n:\"TITLES\" },\n0x002B: { n:\"SHEETJS\" },\n0x002D: { n:\"GRAPH\" },\n0x002E: { n:\"NGRAPH\" },\n0x002F: { n:\"CALCCOUNT\" },\n0x0030: { n:\"UNFORMATTED\" },\n0x0031: { n:\"CURSORW12\" },\n0x0032: { n:\"WINDOW\" },\n0x0033: { n:\"STRING\", f:parse_LABEL },\n0x0037: { n:\"PASSWORD\" },\n0x0038: { n:\"LOCKED\" },\n0x003C: { n:\"QUERY\" },\n0x003D: { n:\"QUERYNAME\" },\n0x003E: { n:\"PRINT\" },\n0x003F: { n:\"PRINTNAME\" },\n0x0040: { n:\"GRAPH2\" },\n0x0041: { n:\"GRAPHNAME\" },\n0x0042: { n:\"ZOOM\" },\n0x0043: { n:\"SYMSPLIT\" },\n0x0044: { n:\"NSROWS\" },\n0x0045: { n:\"NSCOLS\" },\n0x0046: { n:\"RULER\" },\n0x0047: { n:\"NNAME\" },\n0x0048: { n:\"ACOMM\" },\n0x0049: { n:\"AMACRO\" },\n0x004A: { n:\"PARSE\" },\n0x00FF: { n:\"\", f:parsenoop }\n\t};\n\n\tvar WK3Enum = {\n0x0000: { n:\"BOF\" },\n0x0001: { n:\"EOF\" },\n0x0003: { n:\"??\" },\n0x0004: { n:\"??\" },\n0x0005: { n:\"??\" },\n0x0006: { n:\"??\" },\n0x0007: { n:\"??\" },\n0x0009: { n:\"??\" },\n0x000a: { n:\"??\" },\n0x000b: { n:\"??\" },\n0x000c: { n:\"??\" },\n0x000e: { n:\"??\" },\n0x000f: { n:\"??\" },\n0x0010: { n:\"??\" },\n0x0011: { n:\"??\" },\n0x0012: { n:\"??\" },\n0x0013: { n:\"??\" },\n0x0015: { n:\"??\" },\n0x0016: { n:\"LABEL16\", f:parse_LABEL_16},\n0x0017: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n0x0018: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n0x0019: { n:\"FORMULA19\", f:parse_FORMULA_19},\n0x001a: { n:\"??\" },\n0x001b: { n:\"??\" },\n0x001c: { n:\"??\" },\n0x001d: { n:\"??\" },\n0x001e: { n:\"??\" },\n0x001f: { n:\"??\" },\n0x0021: { n:\"??\" },\n0x0025: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n0x0027: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n0x0028: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n0x00FF: { n:\"\", f:parsenoop }\n\t};\n\treturn {\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* Parse a list of tags */\nvar parse_rs = (function parse_rs_factory() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\"), rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/, nlregex = /\\r\\n/g;\n\t/* 18.4.7 rPr CT_RPrElt */\n\tvar parse_rpr = function parse_rpr(rpr, intro, outro) {\n\t\tvar font = {}, cp = 65001, align = \"\";\n\t\tvar pass = false;\n\t\tvar m = rpr.match(tagregex), i = 0;\n\t\tif(m) for(;i!=m.length; ++i) {\n\t\t\tvar y = parsexmltag(m[i]);\n\t\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t\t/* ** not required . */\n\t\t\t\tcase '':\n\t\t\t\tcase '': font.shadow = 1; break;\n\t\t\t\tcase '': break;\n\n\t\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\t\tcase '':\n\t\t\t\tcase '': font.outline = 1; break;\n\t\t\t\tcase '': break;\n\n\t\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\t\tcase '':\n\t\t\t\tcase '': font.strike = 1; break;\n\t\t\t\tcase '': break;\n\n\t\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\t\tcase '':\n\t\t\t\tcase '': font.u = 1; break;\n\t\t\t\tcase '': break;\n\n\t\t\t\t/* 18.8.2 b */\n\t\t\t\tcase '':\n\t\t\t\tcase '': font.b = 1; break;\n\t\t\t\tcase '': break;\n\n\t\t\t\t/* 18.8.26 i */\n\t\t\t\tcase '':\n\t\t\t\tcase '': font.i = 1; break;\n\t\t\t\tcase '': break;\n\n\t\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\t\tcase '': case '': break;\n\t\t\t\tcase '': pass = false; break;\n\t\t\t\tdefault:\n\t\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t\t}\n\t\t}\n\t\tvar style = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tif(align == \"superscript\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn cp;\n\t};\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\tvar terms = [[],\"\",[]];\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return \"\";\n\t\tterms[1] = t[1];\n\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) /*cp = */parse_rpr(rpr[1], terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
') + terms[2].join(\"\");\n\t}\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return null;\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = parse_rs(z.r);\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data, opts) {\n\tvar s = ([]), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nRELS.SST = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\";\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst, opts) {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS.main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts) {\n\tvar s = ([]);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* 'BrtBeginSst' */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* 'BrtSSTItem' */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* 'BrtEndSst' */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R_n.indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if(R_n.indexOf(\"End\") > 0){/* empty */}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSst\", write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, \"BrtSSTItem\", write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, \"BrtEndSst\");\n\treturn ba.end();\n}\nfunction _JS2ANSI(str) {\n\tif(typeof cptable !== 'undefined') return cptable.utils.encode(current_ansi, str);\n\tvar o = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length) {\n\tvar o = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\nif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt() { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = (function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) });\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = (function() {\n\tfunction rtf_to_sheet(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\tfunction rtf_to_sheet_str(str, opts) {\n\t\tvar o = opts || {};\n\t\tvar ws = o.dense ? ([]) : ({});\n\t\tvar range = ({s: {c:0, r:0}, e: {c:0, r:0}});\n\n\t\t// TODO: parse\n\t\tif(!str.match(/\\\\trowd/)) throw new Error(\"RTF missing table\");\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d, opts) { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws) {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {}/*, sub_border = {}*/;\n\tvar pass = false;\n\tt[0].match(tagregex).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = {};\n\t\t\t\tif (y.diagonalUp) { border.diagonalUp = y.diagonalUp; }\n\t\t\t\tif (y.diagonalDown) { border.diagonalDown = y.diagonalDown; }\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\tt[0].match(tagregex).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\tt[0].match(tagregex).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(SSF._table));\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF.load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\tt[0].match(tagregex).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = y.wrapText;\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs) {\n\tvar o = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) { o[o.length] = (writextag('xf', null, c)); });\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= (function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(//mg,\"\").replace(//gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nvar STYLES_XML_ROOT = writextag('styleSheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:vt': XMLNS.vt\n});\n\nRELS.STY = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\";\n\nfunction write_sty_xml(wb, opts) {\n\tvar o = [XML_HEADER, STYLES_XML_ROOT], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i, f, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length, opts) {\n\tvar out = ({});\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\tif(grbit.fItalic) out.italic = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames = (evert(XLSBFillPTNames));\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tvar fls = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]);\n\tfor(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* 'BrtFmt' */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF.load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* 'BrtFont' */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* 'BrtKnownFonts' */ break;\n\t\t\tcase 0x002D: /* 'BrtFill' */ break;\n\t\t\tcase 0x002E: /* 'BrtBorder' */ break;\n\t\t\tcase 0x002F: /* 'BrtXF' */\n\t\t\t\tif(state[state.length - 1] == \"BrtBeginCellXFs\") {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* 'BrtStyle' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x023C: /* 'BrtMRUColor' */\n\t\t\tcase 0x01DB: /* 'BrtIndexedColor': */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* 'BrtDXF14' */\n\t\t\tcase 0x0836: /* 'BrtDXF15' */\n\t\t\tcase 0x046A: /* 'BrtSlicerStyleElement' */\n\t\t\tcase 0x0200: /* 'BrtTableStyleElement' */\n\t\t\tcase 0x082F: /* 'BrtTimelineStyleElement' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0) state.push(R_n);\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFmts\", write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, \"BrtFmt\", write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, \"BrtEndFmts\");\n}\n\nfunction write_FONTS_bin(ba) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFonts\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtFont\", write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, \"BrtEndFonts\");\n}\n\nfunction write_FILLS_bin(ba) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFills\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtFill\", write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, \"BrtFill\", write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, \"BrtEndFills\");\n}\n\nfunction write_BORDERS_bin(ba) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginBorders\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtBorder\", write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, \"BrtEndBorders\");\n}\n\nfunction write_CELLSTYLEXFS_bin(ba) {\n\tvar cnt = 1;\n\twrite_record(ba, \"BrtBeginCellStyleXFs\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtXF\", write_BrtXF({\n\t\tnumFmtId:0,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, \"BrtEndCellStyleXFs\");\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, \"BrtBeginCellXFs\", write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, \"BrtXF\", write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, \"BrtEndCellXFs\");\n}\n\nfunction write_STYLES_bin(ba) {\n\tvar cnt = 1;\n\n\twrite_record(ba, \"BrtBeginStyles\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtStyle\", write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, \"BrtEndStyles\");\n}\n\nfunction write_DXFS_bin(ba) {\n\tvar cnt = 0;\n\n\twrite_record(ba, \"BrtBeginDXFs\", write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, \"BrtEndDXFs\");\n}\n\nfunction write_TABLESTYLES_bin(ba) {\n\tvar cnt = 0;\n\n\twrite_record(ba, \"BrtBeginTableStyles\", write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, \"BrtEndTableStyles\");\n}\n\nfunction write_COLORPALETTE_bin() {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginStyleSheet\");\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, \"BrtEndStyleSheet\");\n\treturn ba.end();\n}\nRELS.THEME = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\";\n\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme.push(color);\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme() { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme() { }\n\nvar clrsregex = /]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) return parse_theme_xml(write_theme());\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts) {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles || !jszip) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = new jszip(data); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob) {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: break; /* text color */\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data) {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ' 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn out;\n}\n\n//function write_cc_bin(data, opts) { }\n/* 18.14 Supplementary Workbook Data */\nfunction parse_xlink_xml() {\n\t//var opts = _opts || {};\n\t//if(opts.WTF) throw \"XLSX External Link\";\n}\n\n/* [MS-XLSB] 2.1.7.25 External Link */\nfunction parse_xlink_bin(data, name, _opts) {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\n\tvar pass = false, end = false;\n\n\trecordhopper(data, function xlink_parse(val, R_n, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0167: /* 'BrtSupTabs' */\n\t\t\tcase 0x016B: /* 'BrtExternTableStart' */\n\t\t\tcase 0x016C: /* 'BrtExternTableEnd' */\n\t\t\tcase 0x016E: /* 'BrtExternRowHdr' */\n\t\t\tcase 0x016F: /* 'BrtExternCellBlank' */\n\t\t\tcase 0x0170: /* 'BrtExternCellReal' */\n\t\t\tcase 0x0171: /* 'BrtExternCellBool' */\n\t\t\tcase 0x0172: /* 'BrtExternCellError' */\n\t\t\tcase 0x0173: /* 'BrtExternCellString' */\n\t\t\tcase 0x01D8: /* 'BrtExternValueMeta' */\n\t\t\tcase 0x0241: /* 'BrtSupNameStart' */\n\t\t\tcase 0x0242: /* 'BrtSupNameValueStart' */\n\t\t\tcase 0x0243: /* 'BrtSupNameValueEnd' */\n\t\t\tcase 0x0244: /* 'BrtSupNameNum' */\n\t\t\tcase 0x0245: /* 'BrtSupNameErr' */\n\t\t\tcase 0x0246: /* 'BrtSupNameSt' */\n\t\t\tcase 0x0247: /* 'BrtSupNameNil' */\n\t\t\tcase 0x0248: /* 'BrtSupNameBool' */\n\t\t\tcase 0x0249: /* 'BrtSupNameFmla' */\n\t\t\tcase 0x024A: /* 'BrtSupNameBits' */\n\t\t\tcase 0x024B: /* 'BrtSupNameEnd' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT.toString(16) + \" \" + R_n);\n\t\t}\n\t}, opts);\n}\nRELS.IMG = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\";\nRELS.DRAW = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\";\n/* 20.5 DrawingML - SpreadsheetML Drawing */\nfunction parse_drawing(data, rels) {\n\tif(!data) return \"??\";\n\t/*\n\t Chartsheet Drawing:\n\t - 20.5.2.35 wsDr CT_Drawing\n\t - 20.5.2.1 absoluteAnchor CT_AbsoluteAnchor\n\t - 20.5.2.16 graphicFrame CT_GraphicalObjectFrame\n\t - 20.1.2.2.16 graphic CT_GraphicalObject\n\t - 20.1.2.2.17 graphicData CT_GraphicalObjectData\n - chart reference\n\t the actual type is based on the URI of the graphicData\n\t\tTODO: handle embedded charts and other types of graphics\n\t*/\n\tvar id = (data.match(/]*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) { var c = decode_cell(x[0]);\n\to = o.concat([\n\t'',\n\t\twritextag('v:fill', writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}), {'color2':\"#BEFF82\", 'angle':\"-180\", 'type':\"gradient\"}),\n\t\twritextag(\"v:shadow\", null, {on:\"t\", 'obscured':\"t\"}),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c, 0, c.r, 0, c.c+3, 100, c.r+5, 100].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t]); });\n\to.push('');\n\treturn o.join(\"\");\n}\n\nRELS.CMNT = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\";\n\nfunction parse_comments(zip, dirComments, sheets, sheetRels, opts) {\n\tfor(var i = 0; i != dirComments.length; ++i) {\n\t\tvar canonicalpath=dirComments[i];\n\t\tvar comments=parse_cmnt(getzipdata(zip, canonicalpath.replace(/^\\//,''), true), canonicalpath, opts);\n\t\tif(!comments || !comments.length) continue;\n\t\t// find the sheets targeted by these comments\n\t\tvar sheetNames = keys(sheets);\n\t\tfor(var j = 0; j != sheetNames.length; ++j) {\n\t\t\tvar sheetName = sheetNames[j];\n\t\t\tvar rels = sheetRels[sheetName];\n\t\t\tif(rels) {\n\t\t\t\tvar rel = rels[canonicalpath];\n\t\t\t\tif(rel) insertCommentsIntoSheet(sheetName, sheets[sheetName], comments);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction insertCommentsIntoSheet(sheetName, sheet, comments) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = {};\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o = ({a: comment.author, t: comment.t, r: comment.r});\n\t\tif(comment.h) o.h = comment.h;\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data, opts) {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors = [];\n\tvar commentList = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid });\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = rt.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nvar CMNT_XML_ROOT = writextag('comments', null, { 'xmlns': XMLNS.main[0] });\nfunction write_comments_xml(data) {\n\tvar o = [XML_HEADER, CMNT_XML_ROOT];\n\n\tvar iauthor = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) > -1) return;\n\t\tiauthor.push(a);\n\t\to.push(\"\" + a + \"\");\n\t}); });\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\td[1].forEach(function(c) {\n\t\t\t/* 18.7.3 CT_Comment */\n\t\t\to.push('');\n\t\t\to.push(writetag(\"t\", c.t == null ? \"\" : escapexml(c.t)));\n\t\t\to.push('');\n\t\t});\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts) {\n\tvar out = [];\n\tvar authors = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete c.iauthor;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data) {\n\tvar ba = buf_array();\n\tvar iauthor = [];\n\twrite_record(ba, \"BrtBeginComments\");\n\n\twrite_record(ba, \"BrtBeginCommentAuthors\");\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, \"BrtCommentAuthor\", write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, \"BrtEndCommentAuthors\");\n\n\twrite_record(ba, \"BrtBeginCommentList\");\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, \"BrtBeginComment\", write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, \"BrtCommentText\", write_BrtCommentText(c));\n\t\t\twrite_record(ba, \"BrtEndComment\");\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, \"BrtEndCommentList\");\n\n\twrite_record(ba, \"BrtEndComments\");\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n\tvar newcfb = CFB.utils.cfb_new({root:\"R\"});\n\tcfb.FullPaths.forEach(function(p, i) {\n\t\tif(p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/)) return;\n\t\tvar newpath = p.replace(/^[^\\/]*/,\"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n\t\tCFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n\t});\n\treturn CFB.write(newcfb);\n}\n\nfunction fill_vba_xls(cfb, vba) {\n\tvba.FullPaths.forEach(function(p, i) {\n\t\tif(i == 0) return;\n\t\tvar newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n\t\tif(newpath.slice(-1) !== \"/\") CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n\t});\n}\n\nvar VBAFMTS = [ \"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\" ];\n\nRELS.DS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\";\nRELS.MS = \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\";\n\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin() { return {'!type':'dialog'}; }\nfunction parse_ds_xml() { return {'!type':'dialog'}; }\nfunction parse_ms_bin() { return {'!type':'macro'}; }\nfunction parse_ms_xml() { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = (function(){\n\tvar rcregex = /(^|[^A-Za-z])R(\\[?)(-?\\d+|)\\]?C(\\[?)(-?\\d+|)\\]?/g;\n\tvar rcbase = ({r:0,c:0});\n\tfunction rcfunc($$,$1,$2,$3,$4,$5) {\n\t\tvar R = $3.length>0?parseInt($3,10)|0:0, C = $5.length>0?parseInt($5,10)|0:0;\n\t\tif(C<0 && $4.length === 0) C=0;\n\t\tvar cRel = false, rRel = false;\n\t\tif($4.length > 0 || $5.length == 0) cRel = true; if(cRel) C += rcbase.c; else --C;\n\t\tif($2.length > 0 || $3.length == 0) rRel = true; if(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr, base) {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)([1-9]\\d{0,5}|10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6])(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc =(function(){\n\treturn function a1_to_rc(fstr, base) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f, delta) {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f, range, cell) {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f) {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f) {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts) {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n0x01: { n:'PtgExp', f:parse_PtgExp },\n0x02: { n:'PtgTbl', f:parse_PtgTbl },\n0x03: { n:'PtgAdd', f:parseread1 },\n0x04: { n:'PtgSub', f:parseread1 },\n0x05: { n:'PtgMul', f:parseread1 },\n0x06: { n:'PtgDiv', f:parseread1 },\n0x07: { n:'PtgPower', f:parseread1 },\n0x08: { n:'PtgConcat', f:parseread1 },\n0x09: { n:'PtgLt', f:parseread1 },\n0x0A: { n:'PtgLe', f:parseread1 },\n0x0B: { n:'PtgEq', f:parseread1 },\n0x0C: { n:'PtgGe', f:parseread1 },\n0x0D: { n:'PtgGt', f:parseread1 },\n0x0E: { n:'PtgNe', f:parseread1 },\n0x0F: { n:'PtgIsect', f:parseread1 },\n0x10: { n:'PtgUnion', f:parseread1 },\n0x11: { n:'PtgRange', f:parseread1 },\n0x12: { n:'PtgUplus', f:parseread1 },\n0x13: { n:'PtgUminus', f:parseread1 },\n0x14: { n:'PtgPercent', f:parseread1 },\n0x15: { n:'PtgParen', f:parseread1 },\n0x16: { n:'PtgMissArg', f:parseread1 },\n0x17: { n:'PtgStr', f:parse_PtgStr },\n0x1A: { n:'PtgSheet', f:parse_PtgSheet },\n0x1B: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n0x1C: { n:'PtgErr', f:parse_PtgErr },\n0x1D: { n:'PtgBool', f:parse_PtgBool },\n0x1E: { n:'PtgInt', f:parse_PtgInt },\n0x1F: { n:'PtgNum', f:parse_PtgNum },\n0x20: { n:'PtgArray', f:parse_PtgArray },\n0x21: { n:'PtgFunc', f:parse_PtgFunc },\n0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n0x23: { n:'PtgName', f:parse_PtgName },\n0x24: { n:'PtgRef', f:parse_PtgRef },\n0x25: { n:'PtgArea', f:parse_PtgArea },\n0x26: { n:'PtgMemArea', f:parse_PtgMemArea },\n0x27: { n:'PtgMemErr', f:parse_PtgMemErr },\n0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n0x2A: { n:'PtgRefErr', f:parse_PtgRefErr },\n0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n0x2C: { n:'PtgRefN', f:parse_PtgRefN },\n0x2D: { n:'PtgAreaN', f:parse_PtgAreaN },\n0x2E: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n0x2F: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n0x39: { n:'PtgNameX', f:parse_PtgNameX },\n0x3A: { n:'PtgRef3d', f:parse_PtgRef3d },\n0x3B: { n:'PtgArea3d', f:parse_PtgArea3d },\n0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n0xFF: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n0x40: 0x20, 0x60: 0x20,\n0x41: 0x21, 0x61: 0x21,\n0x42: 0x22, 0x62: 0x22,\n0x43: 0x23, 0x63: 0x23,\n0x44: 0x24, 0x64: 0x24,\n0x45: 0x25, 0x65: 0x25,\n0x46: 0x26, 0x66: 0x26,\n0x47: 0x27, 0x67: 0x27,\n0x48: 0x28, 0x68: 0x28,\n0x49: 0x29, 0x69: 0x29,\n0x4A: 0x2A, 0x6A: 0x2A,\n0x4B: 0x2B, 0x6B: 0x2B,\n0x4C: 0x2C, 0x6C: 0x2C,\n0x4D: 0x2D, 0x6D: 0x2D,\n0x4E: 0x2E, 0x6E: 0x2E,\n0x4F: 0x2F, 0x6F: 0x2F,\n0x58: 0x22, 0x78: 0x22,\n0x59: 0x39, 0x79: 0x39,\n0x5A: 0x3A, 0x7A: 0x3A,\n0x5B: 0x3B, 0x7B: 0x3B,\n0x5C: 0x3C, 0x7C: 0x3C,\n0x5D: 0x3D, 0x7D: 0x3D\n};\n(function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})();\n\nvar Ptg18 = {\n0x01: { n:'PtgElfLel', f:parse_PtgElfLel },\n0x02: { n:'PtgElfRw', f:parse_PtgElfRw },\n0x03: { n:'PtgElfCol', f:parse_PtgElfCol },\n0x06: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n0x07: { n:'PtgElfColV', f:parse_PtgElfColV },\n0x0A: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n0x0B: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n0x0D: { n:'PtgElfColS', f:parse_PtgElfColS },\n0x0F: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n0x10: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n0x19: { n:'PtgList', f:parse_PtgList },\n0x1D: { n:'PtgSxName', f:parse_PtgSxName },\n0xFF: {}\n};\nvar Ptg19 = {\n0x00: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n0x80: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n0xFF: {}\n};\nPtg19[0x21] = Ptg19[0x20];\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f) {\n\tvar o = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\nr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\nfunction formula_quote_sheet_name(sname, opts) {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif(sname.indexOf(\" \") > -1) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti, opts) {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti, opts) {\n\treturn formula_quote_sheet_name(get_ixti_raw(supbooks, ixti, opts), opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell, supbooks, opts) {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack = [], e1, e2, c, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\nc = shift_cell_xls((f[1][1]), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\nc = cell ? shift_cell_xls((f[1][1]), cell, opts) : (f[1][1]);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\nixti = f[1][1]; c = shift_cell_xls((f[1][2]), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc = (f[1][0]), func = (f[1][1]);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(f[1]); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(f[1]); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\nr = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\nr = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\nixti = f[1][1]; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\tif(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name];\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx = (f[1][1]); nameidx = (f[1][2]); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = get_ixti_raw(supbooks, bookidx, opts).split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]),r:(f[1][0])};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r});\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(f[1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(f[1]) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLS] 2.5.198.4 */\nvar Cetab = {\n0x0000: 'BEEP',\n0x0001: 'OPEN',\n0x0002: 'OPEN.LINKS',\n0x0003: 'CLOSE.ALL',\n0x0004: 'SAVE',\n0x0005: 'SAVE.AS',\n0x0006: 'FILE.DELETE',\n0x0007: 'PAGE.SETUP',\n0x0008: 'PRINT',\n0x0009: 'PRINTER.SETUP',\n0x000A: 'QUIT',\n0x000B: 'NEW.WINDOW',\n0x000C: 'ARRANGE.ALL',\n0x000D: 'WINDOW.SIZE',\n0x000E: 'WINDOW.MOVE',\n0x000F: 'FULL',\n0x0010: 'CLOSE',\n0x0011: 'RUN',\n0x0016: 'SET.PRINT.AREA',\n0x0017: 'SET.PRINT.TITLES',\n0x0018: 'SET.PAGE.BREAK',\n0x0019: 'REMOVE.PAGE.BREAK',\n0x001A: 'FONT',\n0x001B: 'DISPLAY',\n0x001C: 'PROTECT.DOCUMENT',\n0x001D: 'PRECISION',\n0x001E: 'A1.R1C1',\n0x001F: 'CALCULATE.NOW',\n0x0020: 'CALCULATION',\n0x0022: 'DATA.FIND',\n0x0023: 'EXTRACT',\n0x0024: 'DATA.DELETE',\n0x0025: 'SET.DATABASE',\n0x0026: 'SET.CRITERIA',\n0x0027: 'SORT',\n0x0028: 'DATA.SERIES',\n0x0029: 'TABLE',\n0x002A: 'FORMAT.NUMBER',\n0x002B: 'ALIGNMENT',\n0x002C: 'STYLE',\n0x002D: 'BORDER',\n0x002E: 'CELL.PROTECTION',\n0x002F: 'COLUMN.WIDTH',\n0x0030: 'UNDO',\n0x0031: 'CUT',\n0x0032: 'COPY',\n0x0033: 'PASTE',\n0x0034: 'CLEAR',\n0x0035: 'PASTE.SPECIAL',\n0x0036: 'EDIT.DELETE',\n0x0037: 'INSERT',\n0x0038: 'FILL.RIGHT',\n0x0039: 'FILL.DOWN',\n0x003D: 'DEFINE.NAME',\n0x003E: 'CREATE.NAMES',\n0x003F: 'FORMULA.GOTO',\n0x0040: 'FORMULA.FIND',\n0x0041: 'SELECT.LAST.CELL',\n0x0042: 'SHOW.ACTIVE.CELL',\n0x0043: 'GALLERY.AREA',\n0x0044: 'GALLERY.BAR',\n0x0045: 'GALLERY.COLUMN',\n0x0046: 'GALLERY.LINE',\n0x0047: 'GALLERY.PIE',\n0x0048: 'GALLERY.SCATTER',\n0x0049: 'COMBINATION',\n0x004A: 'PREFERRED',\n0x004B: 'ADD.OVERLAY',\n0x004C: 'GRIDLINES',\n0x004D: 'SET.PREFERRED',\n0x004E: 'AXES',\n0x004F: 'LEGEND',\n0x0050: 'ATTACH.TEXT',\n0x0051: 'ADD.ARROW',\n0x0052: 'SELECT.CHART',\n0x0053: 'SELECT.PLOT.AREA',\n0x0054: 'PATTERNS',\n0x0055: 'MAIN.CHART',\n0x0056: 'OVERLAY',\n0x0057: 'SCALE',\n0x0058: 'FORMAT.LEGEND',\n0x0059: 'FORMAT.TEXT',\n0x005A: 'EDIT.REPEAT',\n0x005B: 'PARSE',\n0x005C: 'JUSTIFY',\n0x005D: 'HIDE',\n0x005E: 'UNHIDE',\n0x005F: 'WORKSPACE',\n0x0060: 'FORMULA',\n0x0061: 'FORMULA.FILL',\n0x0062: 'FORMULA.ARRAY',\n0x0063: 'DATA.FIND.NEXT',\n0x0064: 'DATA.FIND.PREV',\n0x0065: 'FORMULA.FIND.NEXT',\n0x0066: 'FORMULA.FIND.PREV',\n0x0067: 'ACTIVATE',\n0x0068: 'ACTIVATE.NEXT',\n0x0069: 'ACTIVATE.PREV',\n0x006A: 'UNLOCKED.NEXT',\n0x006B: 'UNLOCKED.PREV',\n0x006C: 'COPY.PICTURE',\n0x006D: 'SELECT',\n0x006E: 'DELETE.NAME',\n0x006F: 'DELETE.FORMAT',\n0x0070: 'VLINE',\n0x0071: 'HLINE',\n0x0072: 'VPAGE',\n0x0073: 'HPAGE',\n0x0074: 'VSCROLL',\n0x0075: 'HSCROLL',\n0x0076: 'ALERT',\n0x0077: 'NEW',\n0x0078: 'CANCEL.COPY',\n0x0079: 'SHOW.CLIPBOARD',\n0x007A: 'MESSAGE',\n0x007C: 'PASTE.LINK',\n0x007D: 'APP.ACTIVATE',\n0x007E: 'DELETE.ARROW',\n0x007F: 'ROW.HEIGHT',\n0x0080: 'FORMAT.MOVE',\n0x0081: 'FORMAT.SIZE',\n0x0082: 'FORMULA.REPLACE',\n0x0083: 'SEND.KEYS',\n0x0084: 'SELECT.SPECIAL',\n0x0085: 'APPLY.NAMES',\n0x0086: 'REPLACE.FONT',\n0x0087: 'FREEZE.PANES',\n0x0088: 'SHOW.INFO',\n0x0089: 'SPLIT',\n0x008A: 'ON.WINDOW',\n0x008B: 'ON.DATA',\n0x008C: 'DISABLE.INPUT',\n0x008E: 'OUTLINE',\n0x008F: 'LIST.NAMES',\n0x0090: 'FILE.CLOSE',\n0x0091: 'SAVE.WORKBOOK',\n0x0092: 'DATA.FORM',\n0x0093: 'COPY.CHART',\n0x0094: 'ON.TIME',\n0x0095: 'WAIT',\n0x0096: 'FORMAT.FONT',\n0x0097: 'FILL.UP',\n0x0098: 'FILL.LEFT',\n0x0099: 'DELETE.OVERLAY',\n0x009B: 'SHORT.MENUS',\n0x009F: 'SET.UPDATE.STATUS',\n0x00A1: 'COLOR.PALETTE',\n0x00A2: 'DELETE.STYLE',\n0x00A3: 'WINDOW.RESTORE',\n0x00A4: 'WINDOW.MAXIMIZE',\n0x00A6: 'CHANGE.LINK',\n0x00A7: 'CALCULATE.DOCUMENT',\n0x00A8: 'ON.KEY',\n0x00A9: 'APP.RESTORE',\n0x00AA: 'APP.MOVE',\n0x00AB: 'APP.SIZE',\n0x00AC: 'APP.MINIMIZE',\n0x00AD: 'APP.MAXIMIZE',\n0x00AE: 'BRING.TO.FRONT',\n0x00AF: 'SEND.TO.BACK',\n0x00B9: 'MAIN.CHART.TYPE',\n0x00BA: 'OVERLAY.CHART.TYPE',\n0x00BB: 'SELECT.END',\n0x00BC: 'OPEN.MAIL',\n0x00BD: 'SEND.MAIL',\n0x00BE: 'STANDARD.FONT',\n0x00BF: 'CONSOLIDATE',\n0x00C0: 'SORT.SPECIAL',\n0x00C1: 'GALLERY.3D.AREA',\n0x00C2: 'GALLERY.3D.COLUMN',\n0x00C3: 'GALLERY.3D.LINE',\n0x00C4: 'GALLERY.3D.PIE',\n0x00C5: 'VIEW.3D',\n0x00C6: 'GOAL.SEEK',\n0x00C7: 'WORKGROUP',\n0x00C8: 'FILL.GROUP',\n0x00C9: 'UPDATE.LINK',\n0x00CA: 'PROMOTE',\n0x00CB: 'DEMOTE',\n0x00CC: 'SHOW.DETAIL',\n0x00CE: 'UNGROUP',\n0x00CF: 'OBJECT.PROPERTIES',\n0x00D0: 'SAVE.NEW.OBJECT',\n0x00D1: 'SHARE',\n0x00D2: 'SHARE.NAME',\n0x00D3: 'DUPLICATE',\n0x00D4: 'APPLY.STYLE',\n0x00D5: 'ASSIGN.TO.OBJECT',\n0x00D6: 'OBJECT.PROTECTION',\n0x00D7: 'HIDE.OBJECT',\n0x00D8: 'SET.EXTRACT',\n0x00D9: 'CREATE.PUBLISHER',\n0x00DA: 'SUBSCRIBE.TO',\n0x00DB: 'ATTRIBUTES',\n0x00DC: 'SHOW.TOOLBAR',\n0x00DE: 'PRINT.PREVIEW',\n0x00DF: 'EDIT.COLOR',\n0x00E0: 'SHOW.LEVELS',\n0x00E1: 'FORMAT.MAIN',\n0x00E2: 'FORMAT.OVERLAY',\n0x00E3: 'ON.RECALC',\n0x00E4: 'EDIT.SERIES',\n0x00E5: 'DEFINE.STYLE',\n0x00F0: 'LINE.PRINT',\n0x00F3: 'ENTER.DATA',\n0x00F9: 'GALLERY.RADAR',\n0x00FA: 'MERGE.STYLES',\n0x00FB: 'EDITION.OPTIONS',\n0x00FC: 'PASTE.PICTURE',\n0x00FD: 'PASTE.PICTURE.LINK',\n0x00FE: 'SPELLING',\n0x0100: 'ZOOM',\n0x0103: 'INSERT.OBJECT',\n0x0104: 'WINDOW.MINIMIZE',\n0x0109: 'SOUND.NOTE',\n0x010A: 'SOUND.PLAY',\n0x010B: 'FORMAT.SHAPE',\n0x010C: 'EXTEND.POLYGON',\n0x010D: 'FORMAT.AUTO',\n0x0110: 'GALLERY.3D.BAR',\n0x0111: 'GALLERY.3D.SURFACE',\n0x0112: 'FILL.AUTO',\n0x0114: 'CUSTOMIZE.TOOLBAR',\n0x0115: 'ADD.TOOL',\n0x0116: 'EDIT.OBJECT',\n0x0117: 'ON.DOUBLECLICK',\n0x0118: 'ON.ENTRY',\n0x0119: 'WORKBOOK.ADD',\n0x011A: 'WORKBOOK.MOVE',\n0x011B: 'WORKBOOK.COPY',\n0x011C: 'WORKBOOK.OPTIONS',\n0x011D: 'SAVE.WORKSPACE',\n0x0120: 'CHART.WIZARD',\n0x0121: 'DELETE.TOOL',\n0x0122: 'MOVE.TOOL',\n0x0123: 'WORKBOOK.SELECT',\n0x0124: 'WORKBOOK.ACTIVATE',\n0x0125: 'ASSIGN.TO.TOOL',\n0x0127: 'COPY.TOOL',\n0x0128: 'RESET.TOOL',\n0x0129: 'CONSTRAIN.NUMERIC',\n0x012A: 'PASTE.TOOL',\n0x012E: 'WORKBOOK.NEW',\n0x0131: 'SCENARIO.CELLS',\n0x0132: 'SCENARIO.DELETE',\n0x0133: 'SCENARIO.ADD',\n0x0134: 'SCENARIO.EDIT',\n0x0135: 'SCENARIO.SHOW',\n0x0136: 'SCENARIO.SHOW.NEXT',\n0x0137: 'SCENARIO.SUMMARY',\n0x0138: 'PIVOT.TABLE.WIZARD',\n0x0139: 'PIVOT.FIELD.PROPERTIES',\n0x013A: 'PIVOT.FIELD',\n0x013B: 'PIVOT.ITEM',\n0x013C: 'PIVOT.ADD.FIELDS',\n0x013E: 'OPTIONS.CALCULATION',\n0x013F: 'OPTIONS.EDIT',\n0x0140: 'OPTIONS.VIEW',\n0x0141: 'ADDIN.MANAGER',\n0x0142: 'MENU.EDITOR',\n0x0143: 'ATTACH.TOOLBARS',\n0x0144: 'VBAActivate',\n0x0145: 'OPTIONS.CHART',\n0x0148: 'VBA.INSERT.FILE',\n0x014A: 'VBA.PROCEDURE.DEFINITION',\n0x0150: 'ROUTING.SLIP',\n0x0152: 'ROUTE.DOCUMENT',\n0x0153: 'MAIL.LOGON',\n0x0156: 'INSERT.PICTURE',\n0x0157: 'EDIT.TOOL',\n0x0158: 'GALLERY.DOUGHNUT',\n0x015E: 'CHART.TREND',\n0x0160: 'PIVOT.ITEM.PROPERTIES',\n0x0162: 'WORKBOOK.INSERT',\n0x0163: 'OPTIONS.TRANSITION',\n0x0164: 'OPTIONS.GENERAL',\n0x0172: 'FILTER.ADVANCED',\n0x0175: 'MAIL.ADD.MAILER',\n0x0176: 'MAIL.DELETE.MAILER',\n0x0177: 'MAIL.REPLY',\n0x0178: 'MAIL.REPLY.ALL',\n0x0179: 'MAIL.FORWARD',\n0x017A: 'MAIL.NEXT.LETTER',\n0x017B: 'DATA.LABEL',\n0x017C: 'INSERT.TITLE',\n0x017D: 'FONT.PROPERTIES',\n0x017E: 'MACRO.OPTIONS',\n0x017F: 'WORKBOOK.HIDE',\n0x0180: 'WORKBOOK.UNHIDE',\n0x0181: 'WORKBOOK.DELETE',\n0x0182: 'WORKBOOK.NAME',\n0x0184: 'GALLERY.CUSTOM',\n0x0186: 'ADD.CHART.AUTOFORMAT',\n0x0187: 'DELETE.CHART.AUTOFORMAT',\n0x0188: 'CHART.ADD.DATA',\n0x0189: 'AUTO.OUTLINE',\n0x018A: 'TAB.ORDER',\n0x018B: 'SHOW.DIALOG',\n0x018C: 'SELECT.ALL',\n0x018D: 'UNGROUP.SHEETS',\n0x018E: 'SUBTOTAL.CREATE',\n0x018F: 'SUBTOTAL.REMOVE',\n0x0190: 'RENAME.OBJECT',\n0x019C: 'WORKBOOK.SCROLL',\n0x019D: 'WORKBOOK.NEXT',\n0x019E: 'WORKBOOK.PREV',\n0x019F: 'WORKBOOK.TAB.SPLIT',\n0x01A0: 'FULL.SCREEN',\n0x01A1: 'WORKBOOK.PROTECT',\n0x01A4: 'SCROLLBAR.PROPERTIES',\n0x01A5: 'PIVOT.SHOW.PAGES',\n0x01A6: 'TEXT.TO.COLUMNS',\n0x01A7: 'FORMAT.CHARTTYPE',\n0x01A8: 'LINK.FORMAT',\n0x01A9: 'TRACER.DISPLAY',\n0x01AE: 'TRACER.NAVIGATE',\n0x01AF: 'TRACER.CLEAR',\n0x01B0: 'TRACER.ERROR',\n0x01B1: 'PIVOT.FIELD.GROUP',\n0x01B2: 'PIVOT.FIELD.UNGROUP',\n0x01B3: 'CHECKBOX.PROPERTIES',\n0x01B4: 'LABEL.PROPERTIES',\n0x01B5: 'LISTBOX.PROPERTIES',\n0x01B6: 'EDITBOX.PROPERTIES',\n0x01B7: 'PIVOT.REFRESH',\n0x01B8: 'LINK.COMBO',\n0x01B9: 'OPEN.TEXT',\n0x01BA: 'HIDE.DIALOG',\n0x01BB: 'SET.DIALOG.FOCUS',\n0x01BC: 'ENABLE.OBJECT',\n0x01BD: 'PUSHBUTTON.PROPERTIES',\n0x01BE: 'SET.DIALOG.DEFAULT',\n0x01BF: 'FILTER',\n0x01C0: 'FILTER.SHOW.ALL',\n0x01C1: 'CLEAR.OUTLINE',\n0x01C2: 'FUNCTION.WIZARD',\n0x01C3: 'ADD.LIST.ITEM',\n0x01C4: 'SET.LIST.ITEM',\n0x01C5: 'REMOVE.LIST.ITEM',\n0x01C6: 'SELECT.LIST.ITEM',\n0x01C7: 'SET.CONTROL.VALUE',\n0x01C8: 'SAVE.COPY.AS',\n0x01CA: 'OPTIONS.LISTS.ADD',\n0x01CB: 'OPTIONS.LISTS.DELETE',\n0x01CC: 'SERIES.AXES',\n0x01CD: 'SERIES.X',\n0x01CE: 'SERIES.Y',\n0x01CF: 'ERRORBAR.X',\n0x01D0: 'ERRORBAR.Y',\n0x01D1: 'FORMAT.CHART',\n0x01D2: 'SERIES.ORDER',\n0x01D3: 'MAIL.LOGOFF',\n0x01D4: 'CLEAR.ROUTING.SLIP',\n0x01D5: 'APP.ACTIVATE.MICROSOFT',\n0x01D6: 'MAIL.EDIT.MAILER',\n0x01D7: 'ON.SHEET',\n0x01D8: 'STANDARD.WIDTH',\n0x01D9: 'SCENARIO.MERGE',\n0x01DA: 'SUMMARY.INFO',\n0x01DB: 'FIND.FILE',\n0x01DC: 'ACTIVE.CELL.FONT',\n0x01DD: 'ENABLE.TIPWIZARD',\n0x01DE: 'VBA.MAKE.ADDIN',\n0x01E0: 'INSERTDATATABLE',\n0x01E1: 'WORKGROUP.OPTIONS',\n0x01E2: 'MAIL.SEND.MAILER',\n0x01E5: 'AUTOCORRECT',\n0x01E9: 'POST.DOCUMENT',\n0x01EB: 'PICKLIST',\n0x01ED: 'VIEW.SHOW',\n0x01EE: 'VIEW.DEFINE',\n0x01EF: 'VIEW.DELETE',\n0x01FD: 'SHEET.BACKGROUND',\n0x01FE: 'INSERT.MAP.OBJECT',\n0x01FF: 'OPTIONS.MENONO',\n0x0205: 'MSOCHECKS',\n0x0206: 'NORMAL',\n0x0207: 'LAYOUT',\n0x0208: 'RM.PRINT.AREA',\n0x0209: 'CLEAR.PRINT.AREA',\n0x020A: 'ADD.PRINT.AREA',\n0x020B: 'MOVE.BRK',\n0x0221: 'HIDECURR.NOTE',\n0x0222: 'HIDEALL.NOTES',\n0x0223: 'DELETE.NOTE',\n0x0224: 'TRAVERSE.NOTES',\n0x0225: 'ACTIVATE.NOTES',\n0x026C: 'PROTECT.REVISIONS',\n0x026D: 'UNPROTECT.REVISIONS',\n0x0287: 'OPTIONS.ME',\n0x028D: 'WEB.PUBLISH',\n0x029B: 'NEWWEBQUERY',\n0x02A1: 'PIVOT.TABLE.CHART',\n0x02F1: 'OPTIONS.SAVE',\n0x02F3: 'OPTIONS.SPELL',\n0x0328: 'HIDEALL.INKANNOTS'\n};\n\n/* [MS-XLS] 2.5.198.17 */\n/* [MS-XLSB] 2.5.97.10 */\nvar Ftab = {\n0x0000: 'COUNT',\n0x0001: 'IF',\n0x0002: 'ISNA',\n0x0003: 'ISERROR',\n0x0004: 'SUM',\n0x0005: 'AVERAGE',\n0x0006: 'MIN',\n0x0007: 'MAX',\n0x0008: 'ROW',\n0x0009: 'COLUMN',\n0x000A: 'NA',\n0x000B: 'NPV',\n0x000C: 'STDEV',\n0x000D: 'DOLLAR',\n0x000E: 'FIXED',\n0x000F: 'SIN',\n0x0010: 'COS',\n0x0011: 'TAN',\n0x0012: 'ATAN',\n0x0013: 'PI',\n0x0014: 'SQRT',\n0x0015: 'EXP',\n0x0016: 'LN',\n0x0017: 'LOG10',\n0x0018: 'ABS',\n0x0019: 'INT',\n0x001A: 'SIGN',\n0x001B: 'ROUND',\n0x001C: 'LOOKUP',\n0x001D: 'INDEX',\n0x001E: 'REPT',\n0x001F: 'MID',\n0x0020: 'LEN',\n0x0021: 'VALUE',\n0x0022: 'TRUE',\n0x0023: 'FALSE',\n0x0024: 'AND',\n0x0025: 'OR',\n0x0026: 'NOT',\n0x0027: 'MOD',\n0x0028: 'DCOUNT',\n0x0029: 'DSUM',\n0x002A: 'DAVERAGE',\n0x002B: 'DMIN',\n0x002C: 'DMAX',\n0x002D: 'DSTDEV',\n0x002E: 'VAR',\n0x002F: 'DVAR',\n0x0030: 'TEXT',\n0x0031: 'LINEST',\n0x0032: 'TREND',\n0x0033: 'LOGEST',\n0x0034: 'GROWTH',\n0x0035: 'GOTO',\n0x0036: 'HALT',\n0x0037: 'RETURN',\n0x0038: 'PV',\n0x0039: 'FV',\n0x003A: 'NPER',\n0x003B: 'PMT',\n0x003C: 'RATE',\n0x003D: 'MIRR',\n0x003E: 'IRR',\n0x003F: 'RAND',\n0x0040: 'MATCH',\n0x0041: 'DATE',\n0x0042: 'TIME',\n0x0043: 'DAY',\n0x0044: 'MONTH',\n0x0045: 'YEAR',\n0x0046: 'WEEKDAY',\n0x0047: 'HOUR',\n0x0048: 'MINUTE',\n0x0049: 'SECOND',\n0x004A: 'NOW',\n0x004B: 'AREAS',\n0x004C: 'ROWS',\n0x004D: 'COLUMNS',\n0x004E: 'OFFSET',\n0x004F: 'ABSREF',\n0x0050: 'RELREF',\n0x0051: 'ARGUMENT',\n0x0052: 'SEARCH',\n0x0053: 'TRANSPOSE',\n0x0054: 'ERROR',\n0x0055: 'STEP',\n0x0056: 'TYPE',\n0x0057: 'ECHO',\n0x0058: 'SET.NAME',\n0x0059: 'CALLER',\n0x005A: 'DEREF',\n0x005B: 'WINDOWS',\n0x005C: 'SERIES',\n0x005D: 'DOCUMENTS',\n0x005E: 'ACTIVE.CELL',\n0x005F: 'SELECTION',\n0x0060: 'RESULT',\n0x0061: 'ATAN2',\n0x0062: 'ASIN',\n0x0063: 'ACOS',\n0x0064: 'CHOOSE',\n0x0065: 'HLOOKUP',\n0x0066: 'VLOOKUP',\n0x0067: 'LINKS',\n0x0068: 'INPUT',\n0x0069: 'ISREF',\n0x006A: 'GET.FORMULA',\n0x006B: 'GET.NAME',\n0x006C: 'SET.VALUE',\n0x006D: 'LOG',\n0x006E: 'EXEC',\n0x006F: 'CHAR',\n0x0070: 'LOWER',\n0x0071: 'UPPER',\n0x0072: 'PROPER',\n0x0073: 'LEFT',\n0x0074: 'RIGHT',\n0x0075: 'EXACT',\n0x0076: 'TRIM',\n0x0077: 'REPLACE',\n0x0078: 'SUBSTITUTE',\n0x0079: 'CODE',\n0x007A: 'NAMES',\n0x007B: 'DIRECTORY',\n0x007C: 'FIND',\n0x007D: 'CELL',\n0x007E: 'ISERR',\n0x007F: 'ISTEXT',\n0x0080: 'ISNUMBER',\n0x0081: 'ISBLANK',\n0x0082: 'T',\n0x0083: 'N',\n0x0084: 'FOPEN',\n0x0085: 'FCLOSE',\n0x0086: 'FSIZE',\n0x0087: 'FREADLN',\n0x0088: 'FREAD',\n0x0089: 'FWRITELN',\n0x008A: 'FWRITE',\n0x008B: 'FPOS',\n0x008C: 'DATEVALUE',\n0x008D: 'TIMEVALUE',\n0x008E: 'SLN',\n0x008F: 'SYD',\n0x0090: 'DDB',\n0x0091: 'GET.DEF',\n0x0092: 'REFTEXT',\n0x0093: 'TEXTREF',\n0x0094: 'INDIRECT',\n0x0095: 'REGISTER',\n0x0096: 'CALL',\n0x0097: 'ADD.BAR',\n0x0098: 'ADD.MENU',\n0x0099: 'ADD.COMMAND',\n0x009A: 'ENABLE.COMMAND',\n0x009B: 'CHECK.COMMAND',\n0x009C: 'RENAME.COMMAND',\n0x009D: 'SHOW.BAR',\n0x009E: 'DELETE.MENU',\n0x009F: 'DELETE.COMMAND',\n0x00A0: 'GET.CHART.ITEM',\n0x00A1: 'DIALOG.BOX',\n0x00A2: 'CLEAN',\n0x00A3: 'MDETERM',\n0x00A4: 'MINVERSE',\n0x00A5: 'MMULT',\n0x00A6: 'FILES',\n0x00A7: 'IPMT',\n0x00A8: 'PPMT',\n0x00A9: 'COUNTA',\n0x00AA: 'CANCEL.KEY',\n0x00AB: 'FOR',\n0x00AC: 'WHILE',\n0x00AD: 'BREAK',\n0x00AE: 'NEXT',\n0x00AF: 'INITIATE',\n0x00B0: 'REQUEST',\n0x00B1: 'POKE',\n0x00B2: 'EXECUTE',\n0x00B3: 'TERMINATE',\n0x00B4: 'RESTART',\n0x00B5: 'HELP',\n0x00B6: 'GET.BAR',\n0x00B7: 'PRODUCT',\n0x00B8: 'FACT',\n0x00B9: 'GET.CELL',\n0x00BA: 'GET.WORKSPACE',\n0x00BB: 'GET.WINDOW',\n0x00BC: 'GET.DOCUMENT',\n0x00BD: 'DPRODUCT',\n0x00BE: 'ISNONTEXT',\n0x00BF: 'GET.NOTE',\n0x00C0: 'NOTE',\n0x00C1: 'STDEVP',\n0x00C2: 'VARP',\n0x00C3: 'DSTDEVP',\n0x00C4: 'DVARP',\n0x00C5: 'TRUNC',\n0x00C6: 'ISLOGICAL',\n0x00C7: 'DCOUNTA',\n0x00C8: 'DELETE.BAR',\n0x00C9: 'UNREGISTER',\n0x00CC: 'USDOLLAR',\n0x00CD: 'FINDB',\n0x00CE: 'SEARCHB',\n0x00CF: 'REPLACEB',\n0x00D0: 'LEFTB',\n0x00D1: 'RIGHTB',\n0x00D2: 'MIDB',\n0x00D3: 'LENB',\n0x00D4: 'ROUNDUP',\n0x00D5: 'ROUNDDOWN',\n0x00D6: 'ASC',\n0x00D7: 'DBCS',\n0x00D8: 'RANK',\n0x00DB: 'ADDRESS',\n0x00DC: 'DAYS360',\n0x00DD: 'TODAY',\n0x00DE: 'VDB',\n0x00DF: 'ELSE',\n0x00E0: 'ELSE.IF',\n0x00E1: 'END.IF',\n0x00E2: 'FOR.CELL',\n0x00E3: 'MEDIAN',\n0x00E4: 'SUMPRODUCT',\n0x00E5: 'SINH',\n0x00E6: 'COSH',\n0x00E7: 'TANH',\n0x00E8: 'ASINH',\n0x00E9: 'ACOSH',\n0x00EA: 'ATANH',\n0x00EB: 'DGET',\n0x00EC: 'CREATE.OBJECT',\n0x00ED: 'VOLATILE',\n0x00EE: 'LAST.ERROR',\n0x00EF: 'CUSTOM.UNDO',\n0x00F0: 'CUSTOM.REPEAT',\n0x00F1: 'FORMULA.CONVERT',\n0x00F2: 'GET.LINK.INFO',\n0x00F3: 'TEXT.BOX',\n0x00F4: 'INFO',\n0x00F5: 'GROUP',\n0x00F6: 'GET.OBJECT',\n0x00F7: 'DB',\n0x00F8: 'PAUSE',\n0x00FB: 'RESUME',\n0x00FC: 'FREQUENCY',\n0x00FD: 'ADD.TOOLBAR',\n0x00FE: 'DELETE.TOOLBAR',\n0x00FF: 'User',\n0x0100: 'RESET.TOOLBAR',\n0x0101: 'EVALUATE',\n0x0102: 'GET.TOOLBAR',\n0x0103: 'GET.TOOL',\n0x0104: 'SPELLING.CHECK',\n0x0105: 'ERROR.TYPE',\n0x0106: 'APP.TITLE',\n0x0107: 'WINDOW.TITLE',\n0x0108: 'SAVE.TOOLBAR',\n0x0109: 'ENABLE.TOOL',\n0x010A: 'PRESS.TOOL',\n0x010B: 'REGISTER.ID',\n0x010C: 'GET.WORKBOOK',\n0x010D: 'AVEDEV',\n0x010E: 'BETADIST',\n0x010F: 'GAMMALN',\n0x0110: 'BETAINV',\n0x0111: 'BINOMDIST',\n0x0112: 'CHIDIST',\n0x0113: 'CHIINV',\n0x0114: 'COMBIN',\n0x0115: 'CONFIDENCE',\n0x0116: 'CRITBINOM',\n0x0117: 'EVEN',\n0x0118: 'EXPONDIST',\n0x0119: 'FDIST',\n0x011A: 'FINV',\n0x011B: 'FISHER',\n0x011C: 'FISHERINV',\n0x011D: 'FLOOR',\n0x011E: 'GAMMADIST',\n0x011F: 'GAMMAINV',\n0x0120: 'CEILING',\n0x0121: 'HYPGEOMDIST',\n0x0122: 'LOGNORMDIST',\n0x0123: 'LOGINV',\n0x0124: 'NEGBINOMDIST',\n0x0125: 'NORMDIST',\n0x0126: 'NORMSDIST',\n0x0127: 'NORMINV',\n0x0128: 'NORMSINV',\n0x0129: 'STANDARDIZE',\n0x012A: 'ODD',\n0x012B: 'PERMUT',\n0x012C: 'POISSON',\n0x012D: 'TDIST',\n0x012E: 'WEIBULL',\n0x012F: 'SUMXMY2',\n0x0130: 'SUMX2MY2',\n0x0131: 'SUMX2PY2',\n0x0132: 'CHITEST',\n0x0133: 'CORREL',\n0x0134: 'COVAR',\n0x0135: 'FORECAST',\n0x0136: 'FTEST',\n0x0137: 'INTERCEPT',\n0x0138: 'PEARSON',\n0x0139: 'RSQ',\n0x013A: 'STEYX',\n0x013B: 'SLOPE',\n0x013C: 'TTEST',\n0x013D: 'PROB',\n0x013E: 'DEVSQ',\n0x013F: 'GEOMEAN',\n0x0140: 'HARMEAN',\n0x0141: 'SUMSQ',\n0x0142: 'KURT',\n0x0143: 'SKEW',\n0x0144: 'ZTEST',\n0x0145: 'LARGE',\n0x0146: 'SMALL',\n0x0147: 'QUARTILE',\n0x0148: 'PERCENTILE',\n0x0149: 'PERCENTRANK',\n0x014A: 'MODE',\n0x014B: 'TRIMMEAN',\n0x014C: 'TINV',\n0x014E: 'MOVIE.COMMAND',\n0x014F: 'GET.MOVIE',\n0x0150: 'CONCATENATE',\n0x0151: 'POWER',\n0x0152: 'PIVOT.ADD.DATA',\n0x0153: 'GET.PIVOT.TABLE',\n0x0154: 'GET.PIVOT.FIELD',\n0x0155: 'GET.PIVOT.ITEM',\n0x0156: 'RADIANS',\n0x0157: 'DEGREES',\n0x0158: 'SUBTOTAL',\n0x0159: 'SUMIF',\n0x015A: 'COUNTIF',\n0x015B: 'COUNTBLANK',\n0x015C: 'SCENARIO.GET',\n0x015D: 'OPTIONS.LISTS.GET',\n0x015E: 'ISPMT',\n0x015F: 'DATEDIF',\n0x0160: 'DATESTRING',\n0x0161: 'NUMBERSTRING',\n0x0162: 'ROMAN',\n0x0163: 'OPEN.DIALOG',\n0x0164: 'SAVE.DIALOG',\n0x0165: 'VIEW.GET',\n0x0166: 'GETPIVOTDATA',\n0x0167: 'HYPERLINK',\n0x0168: 'PHONETIC',\n0x0169: 'AVERAGEA',\n0x016A: 'MAXA',\n0x016B: 'MINA',\n0x016C: 'STDEVPA',\n0x016D: 'VARPA',\n0x016E: 'STDEVA',\n0x016F: 'VARA',\n0x0170: 'BAHTTEXT',\n0x0171: 'THAIDAYOFWEEK',\n0x0172: 'THAIDIGIT',\n0x0173: 'THAIMONTHOFYEAR',\n0x0174: 'THAINUMSOUND',\n0x0175: 'THAINUMSTRING',\n0x0176: 'THAISTRINGLENGTH',\n0x0177: 'ISTHAIDIGIT',\n0x0178: 'ROUNDBAHTDOWN',\n0x0179: 'ROUNDBAHTUP',\n0x017A: 'THAIYEAR',\n0x017B: 'RTD',\n\n0x017C: 'CUBEVALUE',\n0x017D: 'CUBEMEMBER',\n0x017E: 'CUBEMEMBERPROPERTY',\n0x017F: 'CUBERANKEDMEMBER',\n0x0180: 'HEX2BIN',\n0x0181: 'HEX2DEC',\n0x0182: 'HEX2OCT',\n0x0183: 'DEC2BIN',\n0x0184: 'DEC2HEX',\n0x0185: 'DEC2OCT',\n0x0186: 'OCT2BIN',\n0x0187: 'OCT2HEX',\n0x0188: 'OCT2DEC',\n0x0189: 'BIN2DEC',\n0x018A: 'BIN2OCT',\n0x018B: 'BIN2HEX',\n0x018C: 'IMSUB',\n0x018D: 'IMDIV',\n0x018E: 'IMPOWER',\n0x018F: 'IMABS',\n0x0190: 'IMSQRT',\n0x0191: 'IMLN',\n0x0192: 'IMLOG2',\n0x0193: 'IMLOG10',\n0x0194: 'IMSIN',\n0x0195: 'IMCOS',\n0x0196: 'IMEXP',\n0x0197: 'IMARGUMENT',\n0x0198: 'IMCONJUGATE',\n0x0199: 'IMAGINARY',\n0x019A: 'IMREAL',\n0x019B: 'COMPLEX',\n0x019C: 'IMSUM',\n0x019D: 'IMPRODUCT',\n0x019E: 'SERIESSUM',\n0x019F: 'FACTDOUBLE',\n0x01A0: 'SQRTPI',\n0x01A1: 'QUOTIENT',\n0x01A2: 'DELTA',\n0x01A3: 'GESTEP',\n0x01A4: 'ISEVEN',\n0x01A5: 'ISODD',\n0x01A6: 'MROUND',\n0x01A7: 'ERF',\n0x01A8: 'ERFC',\n0x01A9: 'BESSELJ',\n0x01AA: 'BESSELK',\n0x01AB: 'BESSELY',\n0x01AC: 'BESSELI',\n0x01AD: 'XIRR',\n0x01AE: 'XNPV',\n0x01AF: 'PRICEMAT',\n0x01B0: 'YIELDMAT',\n0x01B1: 'INTRATE',\n0x01B2: 'RECEIVED',\n0x01B3: 'DISC',\n0x01B4: 'PRICEDISC',\n0x01B5: 'YIELDDISC',\n0x01B6: 'TBILLEQ',\n0x01B7: 'TBILLPRICE',\n0x01B8: 'TBILLYIELD',\n0x01B9: 'PRICE',\n0x01BA: 'YIELD',\n0x01BB: 'DOLLARDE',\n0x01BC: 'DOLLARFR',\n0x01BD: 'NOMINAL',\n0x01BE: 'EFFECT',\n0x01BF: 'CUMPRINC',\n0x01C0: 'CUMIPMT',\n0x01C1: 'EDATE',\n0x01C2: 'EOMONTH',\n0x01C3: 'YEARFRAC',\n0x01C4: 'COUPDAYBS',\n0x01C5: 'COUPDAYS',\n0x01C6: 'COUPDAYSNC',\n0x01C7: 'COUPNCD',\n0x01C8: 'COUPNUM',\n0x01C9: 'COUPPCD',\n0x01CA: 'DURATION',\n0x01CB: 'MDURATION',\n0x01CC: 'ODDLPRICE',\n0x01CD: 'ODDLYIELD',\n0x01CE: 'ODDFPRICE',\n0x01CF: 'ODDFYIELD',\n0x01D0: 'RANDBETWEEN',\n0x01D1: 'WEEKNUM',\n0x01D2: 'AMORDEGRC',\n0x01D3: 'AMORLINC',\n0x01D4: 'CONVERT',\n0x02D4: 'SHEETJS',\n0x01D5: 'ACCRINT',\n0x01D6: 'ACCRINTM',\n0x01D7: 'WORKDAY',\n0x01D8: 'NETWORKDAYS',\n0x01D9: 'GCD',\n0x01DA: 'MULTINOMIAL',\n0x01DB: 'LCM',\n0x01DC: 'FVSCHEDULE',\n0x01DD: 'CUBEKPIMEMBER',\n0x01DE: 'CUBESET',\n0x01DF: 'CUBESETCOUNT',\n0x01E0: 'IFERROR',\n0x01E1: 'COUNTIFS',\n0x01E2: 'SUMIFS',\n0x01E3: 'AVERAGEIF',\n0x01E4: 'AVERAGEIFS'\n};\nvar FtabArgc = {\n0x0002: 1, /* ISNA */\n0x0003: 1, /* ISERROR */\n0x000A: 0, /* NA */\n0x000F: 1, /* SIN */\n0x0010: 1, /* COS */\n0x0011: 1, /* TAN */\n0x0012: 1, /* ATAN */\n0x0013: 0, /* PI */\n0x0014: 1, /* SQRT */\n0x0015: 1, /* EXP */\n0x0016: 1, /* LN */\n0x0017: 1, /* LOG10 */\n0x0018: 1, /* ABS */\n0x0019: 1, /* INT */\n0x001A: 1, /* SIGN */\n0x001B: 2, /* ROUND */\n0x001E: 2, /* REPT */\n0x001F: 3, /* MID */\n0x0020: 1, /* LEN */\n0x0021: 1, /* VALUE */\n0x0022: 0, /* TRUE */\n0x0023: 0, /* FALSE */\n0x0026: 1, /* NOT */\n0x0027: 2, /* MOD */\n0x0028: 3, /* DCOUNT */\n0x0029: 3, /* DSUM */\n0x002A: 3, /* DAVERAGE */\n0x002B: 3, /* DMIN */\n0x002C: 3, /* DMAX */\n0x002D: 3, /* DSTDEV */\n0x002F: 3, /* DVAR */\n0x0030: 2, /* TEXT */\n0x0035: 1, /* GOTO */\n0x003D: 3, /* MIRR */\n0x003F: 0, /* RAND */\n0x0041: 3, /* DATE */\n0x0042: 3, /* TIME */\n0x0043: 1, /* DAY */\n0x0044: 1, /* MONTH */\n0x0045: 1, /* YEAR */\n0x0046: 1, /* WEEKDAY */\n0x0047: 1, /* HOUR */\n0x0048: 1, /* MINUTE */\n0x0049: 1, /* SECOND */\n0x004A: 0, /* NOW */\n0x004B: 1, /* AREAS */\n0x004C: 1, /* ROWS */\n0x004D: 1, /* COLUMNS */\n0x004F: 2, /* ABSREF */\n0x0050: 2, /* RELREF */\n0x0053: 1, /* TRANSPOSE */\n0x0055: 0, /* STEP */\n0x0056: 1, /* TYPE */\n0x0059: 0, /* CALLER */\n0x005A: 1, /* DEREF */\n0x005E: 0, /* ACTIVE.CELL */\n0x005F: 0, /* SELECTION */\n0x0061: 2, /* ATAN2 */\n0x0062: 1, /* ASIN */\n0x0063: 1, /* ACOS */\n0x0065: 3, /* HLOOKUP */\n0x0066: 3, /* VLOOKUP */\n0x0069: 1, /* ISREF */\n0x006A: 1, /* GET.FORMULA */\n0x006C: 2, /* SET.VALUE */\n0x006F: 1, /* CHAR */\n0x0070: 1, /* LOWER */\n0x0071: 1, /* UPPER */\n0x0072: 1, /* PROPER */\n0x0075: 2, /* EXACT */\n0x0076: 1, /* TRIM */\n0x0077: 4, /* REPLACE */\n0x0079: 1, /* CODE */\n0x007E: 1, /* ISERR */\n0x007F: 1, /* ISTEXT */\n0x0080: 1, /* ISNUMBER */\n0x0081: 1, /* ISBLANK */\n0x0082: 1, /* T */\n0x0083: 1, /* N */\n0x0085: 1, /* FCLOSE */\n0x0086: 1, /* FSIZE */\n0x0087: 1, /* FREADLN */\n0x0088: 2, /* FREAD */\n0x0089: 2, /* FWRITELN */\n0x008A: 2, /* FWRITE */\n0x008C: 1, /* DATEVALUE */\n0x008D: 1, /* TIMEVALUE */\n0x008E: 3, /* SLN */\n0x008F: 4, /* SYD */\n0x0090: 4, /* DDB */\n0x00A1: 1, /* DIALOG.BOX */\n0x00A2: 1, /* CLEAN */\n0x00A3: 1, /* MDETERM */\n0x00A4: 1, /* MINVERSE */\n0x00A5: 2, /* MMULT */\n0x00AC: 1, /* WHILE */\n0x00AF: 2, /* INITIATE */\n0x00B0: 2, /* REQUEST */\n0x00B1: 3, /* POKE */\n0x00B2: 2, /* EXECUTE */\n0x00B3: 1, /* TERMINATE */\n0x00B8: 1, /* FACT */\n0x00BA: 1, /* GET.WORKSPACE */\n0x00BD: 3, /* DPRODUCT */\n0x00BE: 1, /* ISNONTEXT */\n0x00C3: 3, /* DSTDEVP */\n0x00C4: 3, /* DVARP */\n0x00C5: 1, /* TRUNC */\n0x00C6: 1, /* ISLOGICAL */\n0x00C7: 3, /* DCOUNTA */\n0x00C9: 1, /* UNREGISTER */\n0x00CF: 4, /* REPLACEB */\n0x00D2: 3, /* MIDB */\n0x00D3: 1, /* LENB */\n0x00D4: 2, /* ROUNDUP */\n0x00D5: 2, /* ROUNDDOWN */\n0x00D6: 1, /* ASC */\n0x00D7: 1, /* DBCS */\n0x00E1: 0, /* END.IF */\n0x00E5: 1, /* SINH */\n0x00E6: 1, /* COSH */\n0x00E7: 1, /* TANH */\n0x00E8: 1, /* ASINH */\n0x00E9: 1, /* ACOSH */\n0x00EA: 1, /* ATANH */\n0x00EB: 3, /* DGET */\n0x00F4: 1, /* INFO */\n0x00F7: 4, /* DB */\n0x00FC: 2, /* FREQUENCY */\n0x0101: 1, /* EVALUATE */\n0x0105: 1, /* ERROR.TYPE */\n0x010F: 1, /* GAMMALN */\n0x0111: 4, /* BINOMDIST */\n0x0112: 2, /* CHIDIST */\n0x0113: 2, /* CHIINV */\n0x0114: 2, /* COMBIN */\n0x0115: 3, /* CONFIDENCE */\n0x0116: 3, /* CRITBINOM */\n0x0117: 1, /* EVEN */\n0x0118: 3, /* EXPONDIST */\n0x0119: 3, /* FDIST */\n0x011A: 3, /* FINV */\n0x011B: 1, /* FISHER */\n0x011C: 1, /* FISHERINV */\n0x011D: 2, /* FLOOR */\n0x011E: 4, /* GAMMADIST */\n0x011F: 3, /* GAMMAINV */\n0x0120: 2, /* CEILING */\n0x0121: 4, /* HYPGEOMDIST */\n0x0122: 3, /* LOGNORMDIST */\n0x0123: 3, /* LOGINV */\n0x0124: 3, /* NEGBINOMDIST */\n0x0125: 4, /* NORMDIST */\n0x0126: 1, /* NORMSDIST */\n0x0127: 3, /* NORMINV */\n0x0128: 1, /* NORMSINV */\n0x0129: 3, /* STANDARDIZE */\n0x012A: 1, /* ODD */\n0x012B: 2, /* PERMUT */\n0x012C: 3, /* POISSON */\n0x012D: 3, /* TDIST */\n0x012E: 4, /* WEIBULL */\n0x012F: 2, /* SUMXMY2 */\n0x0130: 2, /* SUMX2MY2 */\n0x0131: 2, /* SUMX2PY2 */\n0x0132: 2, /* CHITEST */\n0x0133: 2, /* CORREL */\n0x0134: 2, /* COVAR */\n0x0135: 3, /* FORECAST */\n0x0136: 2, /* FTEST */\n0x0137: 2, /* INTERCEPT */\n0x0138: 2, /* PEARSON */\n0x0139: 2, /* RSQ */\n0x013A: 2, /* STEYX */\n0x013B: 2, /* SLOPE */\n0x013C: 4, /* TTEST */\n0x0145: 2, /* LARGE */\n0x0146: 2, /* SMALL */\n0x0147: 2, /* QUARTILE */\n0x0148: 2, /* PERCENTILE */\n0x014B: 2, /* TRIMMEAN */\n0x014C: 2, /* TINV */\n0x0151: 2, /* POWER */\n0x0156: 1, /* RADIANS */\n0x0157: 1, /* DEGREES */\n0x015A: 2, /* COUNTIF */\n0x015B: 1, /* COUNTBLANK */\n0x015E: 4, /* ISPMT */\n0x015F: 3, /* DATEDIF */\n0x0160: 1, /* DATESTRING */\n0x0161: 2, /* NUMBERSTRING */\n0x0168: 1, /* PHONETIC */\n0x0170: 1, /* BAHTTEXT */\n0x0171: 1, /* THAIDAYOFWEEK */\n0x0172: 1, /* THAIDIGIT */\n0x0173: 1, /* THAIMONTHOFYEAR */\n0x0174: 1, /* THAINUMSOUND */\n0x0175: 1, /* THAINUMSTRING */\n0x0176: 1, /* THAISTRINGLENGTH */\n0x0177: 1, /* ISTHAIDIGIT */\n0x0178: 1, /* ROUNDBAHTDOWN */\n0x0179: 1, /* ROUNDBAHTUP */\n0x017A: 1, /* THAIYEAR */\n0x017E: 3, /* CUBEMEMBERPROPERTY */\n0x0181: 1, /* HEX2DEC */\n0x0188: 1, /* OCT2DEC */\n0x0189: 1, /* BIN2DEC */\n0x018C: 2, /* IMSUB */\n0x018D: 2, /* IMDIV */\n0x018E: 2, /* IMPOWER */\n0x018F: 1, /* IMABS */\n0x0190: 1, /* IMSQRT */\n0x0191: 1, /* IMLN */\n0x0192: 1, /* IMLOG2 */\n0x0193: 1, /* IMLOG10 */\n0x0194: 1, /* IMSIN */\n0x0195: 1, /* IMCOS */\n0x0196: 1, /* IMEXP */\n0x0197: 1, /* IMARGUMENT */\n0x0198: 1, /* IMCONJUGATE */\n0x0199: 1, /* IMAGINARY */\n0x019A: 1, /* IMREAL */\n0x019E: 4, /* SERIESSUM */\n0x019F: 1, /* FACTDOUBLE */\n0x01A0: 1, /* SQRTPI */\n0x01A1: 2, /* QUOTIENT */\n0x01A4: 1, /* ISEVEN */\n0x01A5: 1, /* ISODD */\n0x01A6: 2, /* MROUND */\n0x01A8: 1, /* ERFC */\n0x01A9: 2, /* BESSELJ */\n0x01AA: 2, /* BESSELK */\n0x01AB: 2, /* BESSELY */\n0x01AC: 2, /* BESSELI */\n0x01AE: 3, /* XNPV */\n0x01B6: 3, /* TBILLEQ */\n0x01B7: 3, /* TBILLPRICE */\n0x01B8: 3, /* TBILLYIELD */\n0x01BB: 2, /* DOLLARDE */\n0x01BC: 2, /* DOLLARFR */\n0x01BD: 2, /* NOMINAL */\n0x01BE: 2, /* EFFECT */\n0x01BF: 6, /* CUMPRINC */\n0x01C0: 6, /* CUMIPMT */\n0x01C1: 2, /* EDATE */\n0x01C2: 2, /* EOMONTH */\n0x01D0: 2, /* RANDBETWEEN */\n0x01D4: 3, /* CONVERT */\n0x01DC: 2, /* FVSCHEDULE */\n0x01DF: 1, /* CUBESETCOUNT */\n0x01E0: 2, /* IFERROR */\n0xFFFF: 0\n};\n/* [MS-XLSX] 2.2.3 Functions */\n/* [MS-XLSB] 2.5.97.10 Ftab */\nvar XLSXFutureFunctions = {\n\t\"_xlfn.ACOT\": \"ACOT\",\n\t\"_xlfn.ACOTH\": \"ACOTH\",\n\t\"_xlfn.AGGREGATE\": \"AGGREGATE\",\n\t\"_xlfn.ARABIC\": \"ARABIC\",\n\t\"_xlfn.AVERAGEIF\": \"AVERAGEIF\",\n\t\"_xlfn.AVERAGEIFS\": \"AVERAGEIFS\",\n\t\"_xlfn.BASE\": \"BASE\",\n\t\"_xlfn.BETA.DIST\": \"BETA.DIST\",\n\t\"_xlfn.BETA.INV\": \"BETA.INV\",\n\t\"_xlfn.BINOM.DIST\": \"BINOM.DIST\",\n\t\"_xlfn.BINOM.DIST.RANGE\": \"BINOM.DIST.RANGE\",\n\t\"_xlfn.BINOM.INV\": \"BINOM.INV\",\n\t\"_xlfn.BITAND\": \"BITAND\",\n\t\"_xlfn.BITLSHIFT\": \"BITLSHIFT\",\n\t\"_xlfn.BITOR\": \"BITOR\",\n\t\"_xlfn.BITRSHIFT\": \"BITRSHIFT\",\n\t\"_xlfn.BITXOR\": \"BITXOR\",\n\t\"_xlfn.CEILING.MATH\": \"CEILING.MATH\",\n\t\"_xlfn.CEILING.PRECISE\": \"CEILING.PRECISE\",\n\t\"_xlfn.CHISQ.DIST\": \"CHISQ.DIST\",\n\t\"_xlfn.CHISQ.DIST.RT\": \"CHISQ.DIST.RT\",\n\t\"_xlfn.CHISQ.INV\": \"CHISQ.INV\",\n\t\"_xlfn.CHISQ.INV.RT\": \"CHISQ.INV.RT\",\n\t\"_xlfn.CHISQ.TEST\": \"CHISQ.TEST\",\n\t\"_xlfn.COMBINA\": \"COMBINA\",\n\t\"_xlfn.CONCAT\": \"CONCAT\",\n\t\"_xlfn.CONFIDENCE.NORM\": \"CONFIDENCE.NORM\",\n\t\"_xlfn.CONFIDENCE.T\": \"CONFIDENCE.T\",\n\t\"_xlfn.COT\": \"COT\",\n\t\"_xlfn.COTH\": \"COTH\",\n\t\"_xlfn.COUNTIFS\": \"COUNTIFS\",\n\t\"_xlfn.COVARIANCE.P\": \"COVARIANCE.P\",\n\t\"_xlfn.COVARIANCE.S\": \"COVARIANCE.S\",\n\t\"_xlfn.CSC\": \"CSC\",\n\t\"_xlfn.CSCH\": \"CSCH\",\n\t\"_xlfn.DAYS\": \"DAYS\",\n\t\"_xlfn.DECIMAL\": \"DECIMAL\",\n\t\"_xlfn.ECMA.CEILING\": \"ECMA.CEILING\",\n\t\"_xlfn.ERF.PRECISE\": \"ERF.PRECISE\",\n\t\"_xlfn.ERFC.PRECISE\": \"ERFC.PRECISE\",\n\t\"_xlfn.EXPON.DIST\": \"EXPON.DIST\",\n\t\"_xlfn.F.DIST\": \"F.DIST\",\n\t\"_xlfn.F.DIST.RT\": \"F.DIST.RT\",\n\t\"_xlfn.F.INV\": \"F.INV\",\n\t\"_xlfn.F.INV.RT\": \"F.INV.RT\",\n\t\"_xlfn.F.TEST\": \"F.TEST\",\n\t\"_xlfn.FILTERXML\": \"FILTERXML\",\n\t\"_xlfn.FLOOR.MATH\": \"FLOOR.MATH\",\n\t\"_xlfn.FLOOR.PRECISE\": \"FLOOR.PRECISE\",\n\t\"_xlfn.FORECAST.ETS\": \"FORECAST.ETS\",\n\t\"_xlfn.FORECAST.ETS.CONFINT\": \"FORECAST.ETS.CONFINT\",\n\t\"_xlfn.FORECAST.ETS.SEASONALITY\": \"FORECAST.ETS.SEASONALITY\",\n\t\"_xlfn.FORECAST.ETS.STAT\": \"FORECAST.ETS.STAT\",\n\t\"_xlfn.FORECAST.LINEAR\": \"FORECAST.LINEAR\",\n\t\"_xlfn.FORMULATEXT\": \"FORMULATEXT\",\n\t\"_xlfn.GAMMA\": \"GAMMA\",\n\t\"_xlfn.GAMMA.DIST\": \"GAMMA.DIST\",\n\t\"_xlfn.GAMMA.INV\": \"GAMMA.INV\",\n\t\"_xlfn.GAMMALN.PRECISE\": \"GAMMALN.PRECISE\",\n\t\"_xlfn.GAUSS\": \"GAUSS\",\n\t\"_xlfn.HYPGEOM.DIST\": \"HYPGEOM.DIST\",\n\t\"_xlfn.IFERROR\": \"IFERROR\",\n\t\"_xlfn.IFNA\": \"IFNA\",\n\t\"_xlfn.IFS\": \"IFS\",\n\t\"_xlfn.IMCOSH\": \"IMCOSH\",\n\t\"_xlfn.IMCOT\": \"IMCOT\",\n\t\"_xlfn.IMCSC\": \"IMCSC\",\n\t\"_xlfn.IMCSCH\": \"IMCSCH\",\n\t\"_xlfn.IMSEC\": \"IMSEC\",\n\t\"_xlfn.IMSECH\": \"IMSECH\",\n\t\"_xlfn.IMSINH\": \"IMSINH\",\n\t\"_xlfn.IMTAN\": \"IMTAN\",\n\t\"_xlfn.ISFORMULA\": \"ISFORMULA\",\n\t\"_xlfn.ISO.CEILING\": \"ISO.CEILING\",\n\t\"_xlfn.ISOWEEKNUM\": \"ISOWEEKNUM\",\n\t\"_xlfn.LOGNORM.DIST\": \"LOGNORM.DIST\",\n\t\"_xlfn.LOGNORM.INV\": \"LOGNORM.INV\",\n\t\"_xlfn.MAXIFS\": \"MAXIFS\",\n\t\"_xlfn.MINIFS\": \"MINIFS\",\n\t\"_xlfn.MODE.MULT\": \"MODE.MULT\",\n\t\"_xlfn.MODE.SNGL\": \"MODE.SNGL\",\n\t\"_xlfn.MUNIT\": \"MUNIT\",\n\t\"_xlfn.NEGBINOM.DIST\": \"NEGBINOM.DIST\",\n\t\"_xlfn.NETWORKDAYS.INTL\": \"NETWORKDAYS.INTL\",\n\t\"_xlfn.NIGBINOM\": \"NIGBINOM\",\n\t\"_xlfn.NORM.DIST\": \"NORM.DIST\",\n\t\"_xlfn.NORM.INV\": \"NORM.INV\",\n\t\"_xlfn.NORM.S.DIST\": \"NORM.S.DIST\",\n\t\"_xlfn.NORM.S.INV\": \"NORM.S.INV\",\n\t\"_xlfn.NUMBERVALUE\": \"NUMBERVALUE\",\n\t\"_xlfn.PDURATION\": \"PDURATION\",\n\t\"_xlfn.PERCENTILE.EXC\": \"PERCENTILE.EXC\",\n\t\"_xlfn.PERCENTILE.INC\": \"PERCENTILE.INC\",\n\t\"_xlfn.PERCENTRANK.EXC\": \"PERCENTRANK.EXC\",\n\t\"_xlfn.PERCENTRANK.INC\": \"PERCENTRANK.INC\",\n\t\"_xlfn.PERMUTATIONA\": \"PERMUTATIONA\",\n\t\"_xlfn.PHI\": \"PHI\",\n\t\"_xlfn.POISSON.DIST\": \"POISSON.DIST\",\n\t\"_xlfn.QUARTILE.EXC\": \"QUARTILE.EXC\",\n\t\"_xlfn.QUARTILE.INC\": \"QUARTILE.INC\",\n\t\"_xlfn.QUERYSTRING\": \"QUERYSTRING\",\n\t\"_xlfn.RANK.AVG\": \"RANK.AVG\",\n\t\"_xlfn.RANK.EQ\": \"RANK.EQ\",\n\t\"_xlfn.RRI\": \"RRI\",\n\t\"_xlfn.SEC\": \"SEC\",\n\t\"_xlfn.SECH\": \"SECH\",\n\t\"_xlfn.SHEET\": \"SHEET\",\n\t\"_xlfn.SHEETS\": \"SHEETS\",\n\t\"_xlfn.SKEW.P\": \"SKEW.P\",\n\t\"_xlfn.STDEV.P\": \"STDEV.P\",\n\t\"_xlfn.STDEV.S\": \"STDEV.S\",\n\t\"_xlfn.SUMIFS\": \"SUMIFS\",\n\t\"_xlfn.SWITCH\": \"SWITCH\",\n\t\"_xlfn.T.DIST\": \"T.DIST\",\n\t\"_xlfn.T.DIST.2T\": \"T.DIST.2T\",\n\t\"_xlfn.T.DIST.RT\": \"T.DIST.RT\",\n\t\"_xlfn.T.INV\": \"T.INV\",\n\t\"_xlfn.T.INV.2T\": \"T.INV.2T\",\n\t\"_xlfn.T.TEST\": \"T.TEST\",\n\t\"_xlfn.TEXTJOIN\": \"TEXTJOIN\",\n\t\"_xlfn.UNICHAR\": \"UNICHAR\",\n\t\"_xlfn.UNICODE\": \"UNICODE\",\n\t\"_xlfn.VAR.P\": \"VAR.P\",\n\t\"_xlfn.VAR.S\": \"VAR.S\",\n\t\"_xlfn.WEBSERVICE\": \"WEBSERVICE\",\n\t\"_xlfn.WEIBULL.DIST\": \"WEIBULL.DIST\",\n\t\"_xlfn.WORKDAY.INTL\": \"WORKDAY.INTL\",\n\t\"_xlfn.XOR\": \"XOR\",\n\t\"_xlfn.Z.TEST\": \"Z.TEST\"\n};\n\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f) {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f) {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r) {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r) {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\nRELS.WS = [\n\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n];\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst, str, rev) {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : rev.hasOwnProperty(str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!rev.hasOwnProperty(str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C, col) {\n\tvar p = ({min:C+1,max:C+1});\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\treturn p;\n}\n\nfunction default_margins(margins, mode) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles, cell, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF.load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p, fmtid, fillid, opts, themes, styles) {\n\tif(p.t === 'z') return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\ttry {\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(SSF._table[fmtid] == null) SSF.load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = SSF._general_int(dd);\n\t\t\t\telse p.w = SSF._general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF._general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF.format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF.format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws, sname, i) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws, s) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data, opts, idx, rels, wb, themes, styles) {\n\tif(!data) return data;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]) : ({});\n\tvar refguess = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} });\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\t// $FlowIgnore\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges) {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr, s, wb, idx) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = data.codeName;\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nfunction write_ws_xml_protection(sp) {\n\t// algorithmName, hashValue, saltValue, spinCountpassword\n\tvar o = ({sheet:1});\n\tvar deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\n\tvar deftrue = [\n\t\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\t\"deleteColumns\", \"deleteRows\",\n\t\t\"sort\", \"autoFilter\", \"pivotTables\"\n\t];\n\tdeffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tdeftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+val.location;\n\t\t} else {\n\t\t\tval.Target = \"#\" + val.location;\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin) {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\n\nfunction write_ws_xml_cols(ws, cols) {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx) {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = {};\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/>/;\nfunction parse_ws_xml_sheetviews(data, wb) {\n\t(data.match(sviewregex)||[]).forEach(function(r) {\n\t\tvar tag = parsexmltag(r);\n\t\tif(parsexmlbool(tag.rightToLeft)) {\n\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\twb.Views[0].RTL = true;\n\t\t}\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb) {\n\tvar sview = {workbookViewId:\"0\"};\n\t// $FlowIgnore\n\tif( (((wb||{}).Workbook||{}).Views||[])[0] ) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell, ref, ws, opts) {\n\tif(cell.v === undefined && cell.f === undefined || cell.t === 'z') return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = SSF._table[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref});\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = (function() {\n\tvar cellregex = /<(?:\\w+:)?c[ >]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) {\n\tvar ri = 0, x = \"\", cells = [], cref = [], idx=0, i=0, cc=0, d=\"\", p;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows = [], rowobj = {}, rowrite = false;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tfor(ri = 0; ri < xlen; ++ri) if(x.charCodeAt(ri) === 62) break; ++ri;\n\t\ttag = parsexmltag(x.slice(0,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"});\n\n\t\t\tif((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=_xlfn(unescapexml(utf8read(cref[1])));\n\t\t\t\t\tif(cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, _xlfn(unescapexml(utf8read(cref[1]))), tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!opts.sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!opts.sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!opts.sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) p.v = sstr.t; else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws, opts, idx, wb) {\n\tvar o = [], r = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}), row, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr});\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1});\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nvar WS_XML_ROOT = writextag('worksheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\nfunction write_ws_xml(idx, opts, wb, rels) {\n\tvar o = [XML_HEADER, WS_XML_ROOT];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tws['!drawing'] = [];\n\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\to[o.length] = (writextag('sheetPr', null, {'codeName': escapexml(cname)}));\n\t}\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect'] != null) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(ws['!links'].length > 0) {\n\t\to[o.length] = \"\";\n\t\tws['!links'].forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]});\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\tif (ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\t/* pageSetup */\n\n\t//var hfidx = o.length;\n\to[o.length] = \"\";\n\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(ws['!drawing'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t}\n\telse delete ws['!drawing'];\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* drawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extList */\n\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({});\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 'BrtRowHdr', o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo() {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\t/* TODO: pull flags */\n\tdata.l += 19;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tfor(var i = 0; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\n\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display});\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\to.write_shift(1, flags); // bit flag\n\to.write_shift(1, 0); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data) {\n\tvar margins = ({});\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\nif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell;\n\tvar merges = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || wb.supbooks || ([[]]);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo = [], rowinfo = [];\n\tvar seencol = false;\n\n\trecordhopper(data, function ws_parse(val, R_n, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\t\tp = ({t:val[2]});\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && SSF.is_date(SSF._table[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:undefined});\n\t\t\t\tC = val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr]));\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01) };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x0031: /* 'BrtCellMeta' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba, cell, R, C, opts, ws) {\n\tif(cell.v === undefined) return \"\";\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || SSF._table[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o = ({r:R, c:C});\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\twrite_record(ba, \"BrtCellIsst\", write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\twrite_record(ba, \"BrtCellSt\", write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) write_record(ba, \"BrtCellRk\", write_BrtCellRk(cell, o));\n\t\t\telse write_record(ba, \"BrtCellReal\", write_BrtCellReal(cell, o));\n\t\t\treturn;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\twrite_record(ba, \"BrtCellBool\", write_BrtCellBool(cell, o));\n\t\t\treturn;\n\t\tcase 'e': /* TODO: error */ o.t = \"e\"; break;\n\t}\n\twrite_record(ba, \"BrtCellBlank\", write_BrtCellBlank(cell, o));\n}\n\nfunction write_CELLTABLE(ba, ws, idx, opts) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\twrite_record(ba, 'BrtBeginSheetData');\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_bin_cell(ba, cell, R, C, opts, ws);\n\t\t}\n\t}\n\twrite_record(ba, 'BrtEndSheetData');\n}\n\nfunction write_MERGECELLS(ba, ws) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 'BrtBeginMergeCells', write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 'BrtMergeCell', write_BrtMergeCell(m)); });\n\twrite_record(ba, 'BrtEndMergeCells');\n}\n\nfunction write_COLINFOS(ba, ws) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 'BrtBeginColInfos');\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 'BrtColInfo', write_BrtColInfo(i, m)); });\n\twrite_record(ba, 'BrtEndColInfos');\n}\n\nfunction write_IGNOREECS(ba, ws) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 'BrtBeginCellIgnoreECs');\n\twrite_record(ba, 'BrtCellIgnoreEC', write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 'BrtEndCellIgnoreECs');\n}\n\nfunction write_HLINKS(ba, ws, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, \"BrtHLink\", write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws, idx, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, \"BrtLegacyDrawing\", write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws) {\n\tif(!ws['!autofilter']) return;\n\twrite_record(ba, \"BrtBeginAFilter\", write_UncheckedRfX(safe_decode_range(ws['!autofilter'].ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, \"BrtEndAFilter\");\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, \"BrtBeginWsViews\");\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, \"BrtBeginWsView\", write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, \"BrtEndWsView\");\n\t}\n\t/* *FRT */\n\twrite_record(ba, \"BrtEndWsViews\");\n}\n\nfunction write_WSFMTINFO() {\n\t/* [ACWSFMTINFO] */\n\t//write_record(ba, \"BrtWsFmtInfo\", write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, \"BrtSheetProtection\", write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx, opts, wb, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, \"BrtBeginSheet\");\n\tif(wb.vbaraw) write_record(ba, \"BrtWsProp\", write_BrtWsProp(c));\n\twrite_record(ba, \"BrtWsDim\", write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, \"BrtMargins\", write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\nfunction parse_numCache(data) {\n\tvar col = [];\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = +q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\treturn [col, nf];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data, name, opts, rels, wb, csheet) {\n\tvar cs = ((csheet || {\"!type\":\"chart\"}));\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_numCache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\nRELS.CS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\";\n\nvar CS_XML_ROOT = writextag('chartsheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data, opts, idx, rels, wb) {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!chart':null, '!rel':\"\"};\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!chart'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx, opts, wb, rels) {\n\tvar o = [XML_HEADER, CS_XML_ROOT];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx, rels, wb) {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!chart':null, '!rel':\"\"};\n\tvar state = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R_n, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0) state.push(R_n);\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!chart'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin() {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSheet\");\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb) {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = \"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n, safe) {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts) {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" };\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = y.codeName;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr = ({codeName:\"ThisWorkbook\"});\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\nif((wb.Workbook.WBProps[x[0]]) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]);\n\t\t});\nif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews */\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))});\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', String(n.Ref).replace(//g, \">\"), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length) {\n\tvar o = ({});\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula});\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts) {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\trecordhopper(data, function hopper_wb(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != \"BrtACBegin\" && state[state.length-1] != \"BrtFRTBegin\")) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb) {\n\twrite_record(ba, \"BrtBeginBundleShs\");\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, \"BrtBundleSh\", write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, \"BrtEndBundleShs\");\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\to.length = o.l;\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, \"BrtBeginBookViews\");\n\twrite_record(ba, \"BrtBookView\", write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, \"BrtEndBookViews\");\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginBook\");\n\twrite_record(ba, \"BrtFileVersion\", write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, \"BrtWbProp\", write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, \"BrtCalcProp\", write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, \"BrtFileRecover\", write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, \"BrtEndBook\");\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data), opts);\n\treturn parse_wb_xml((data), opts);\n}\n\nfunction parse_ws(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data), themes, opts);\n\treturn parse_sty_xml((data), themes, opts);\n}\n\nfunction parse_theme(data, name, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data), opts);\n\treturn parse_sst_xml((data), opts);\n}\n\nfunction parse_cmnt(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data), opts);\n\treturn parse_comments_xml((data), opts);\n}\n\nfunction parse_cc(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data), name, opts);\n\treturn parse_cc_xml((data), name, opts);\n}\n\nfunction parse_xlink(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data), name, opts);\n\treturn parse_xlink_xml((data), name, opts);\n}\n\nfunction write_wb(wb, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data, name, opts, wb, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data, name, opts, wb, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nvar _chr = function(c) { return String.fromCharCode(c); };\nfunction xlml_parsexmltag(tag, skip_root) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = ([]); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\nif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\nif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\nfunction xlml_format(format, value) {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF._general(value);\n\treturn SSF.format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val) {\n\tvar oval = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = SSF._general_int(cell.v);\n\t\t\t\telse cell.w = SSF._general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF._general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && SSF.is_date(z)) {\n\t\t\tvar _d = SSF.parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = xml.indexOf(\"<\") > -1 ? unescapexml(ss) : cell.r;\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault: cell.t = 's'; cell.v = xlml_fixstr(ss||xml); break;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\nfunction xlml_normalize(d) {\n\tif(has_buf && Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n\n/* TODO: Everything */\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?>!\\/:]*:|)([^\\s?>:\\/]+)[^>]*>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\nfunction parse_xlml_xml(d, _opts) {\n\tvar opts = _opts || {};\n\tmake_ssf(SSF);\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof cptable !== 'undefined') str = cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return HTML_.to_workbook(str, opts);\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames = [], cursheet = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar table = {}, cell = ({}), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments = [], comment = ({});\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf = [];\n\tvar rowinfo = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook = ({ Sheets:[], WBProps:{date1904:false} }), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(//mg,\"\");\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'Data':\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==\"Comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'Cell':\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:cell.HRef});\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\nfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Row':\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Worksheet': /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Table':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\ttable = xlml_parsexmltag(Rn[0]);\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'Style':\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'NumberFormat':\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(SSF._table[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(SSF._table[ssfidx] == null) { SSF.load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'Column':\n\t\t\tif(state[state.length-1][0] !== 'Table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'NamedRange':\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t});\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\nWorkbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'NamedCell': break;\n\t\tcase 'B': break;\n\t\tcase 'I': break;\n\t\tcase 'U': break;\n\t\tcase 'S': break;\n\t\tcase 'Sub': break;\n\t\tcase 'Sup': break;\n\t\tcase 'Span': break;\n\t\tcase 'Border': break;\n\t\tcase 'Alignment': break;\n\t\tcase 'Borders': break;\n\t\tcase 'Font':\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'Interior':\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'Protection': break;\n\n\t\tcase 'Author':\n\t\tcase 'Title':\n\t\tcase 'Description':\n\t\tcase 'Created':\n\t\tcase 'Keywords':\n\t\tcase 'Subject':\n\t\tcase 'Category':\n\t\tcase 'Company':\n\t\tcase 'LastAuthor':\n\t\tcase 'LastSaved':\n\t\tcase 'LastPrinted':\n\t\tcase 'Version':\n\t\tcase 'Revision':\n\t\tcase 'TotalTime':\n\t\tcase 'HyperlinkBase':\n\t\tcase 'Manager':\n\t\tcase 'ContentStatus':\n\t\tcase 'Identifier':\n\t\tcase 'Language':\n\t\tcase 'AppName':\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, Rn[3], str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'Paragraphs': break;\n\n\t\tcase 'Styles':\n\t\tcase 'Workbook':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'Comment':\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author});\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'AutoFilter':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'Name': break;\n\n\t\tcase 'ComponentOptions':\n\t\tcase 'DocumentProperties':\n\t\tcase 'CustomDocumentProperties':\n\t\tcase 'OfficeDocumentSettings':\n\t\tcase 'PivotTable':\n\t\tcase 'PivotCache':\n\t\tcase 'Names':\n\t\tcase 'MapInfo':\n\t\tcase 'PageBreaks':\n\t\tcase 'QueryTable':\n\t\tcase 'DataValidation':\n\t\tcase 'Sorting':\n\t\tcase 'Schema':\n\t\tcase 'data':\n\t\tcase 'ConditionalFormatting':\n\t\tcase 'SmartTagType':\n\t\tcase 'SmartTags':\n\t\tcase 'ExcelWorkbook':\n\t\tcase 'WorkbookOptions':\n\t\tcase 'WorksheetOptions':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"UOF\") return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'OfficeDocumentSettings': switch(Rn[3]) {\n\t\t\t\t\tcase 'AllowPNG': break;\n\t\t\t\t\tcase 'RemovePersonalInformation': break;\n\t\t\t\t\tcase 'DownloadComponents': break;\n\t\t\t\t\tcase 'LocationOfComponents': break;\n\t\t\t\t\tcase 'Colors': break;\n\t\t\t\t\tcase 'Color': break;\n\t\t\t\t\tcase 'Index': break;\n\t\t\t\t\tcase 'RGB': break;\n\t\t\t\t\tcase 'PixelsPerInch': break; // TODO: set PPI\n\t\t\t\t\tcase 'TargetScreenSize': break;\n\t\t\t\t\tcase 'ReadOnlyRecommended': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'ComponentOptions': switch(Rn[3]) {\n\t\t\t\t\tcase 'Toolbar': break;\n\t\t\t\t\tcase 'HideOfficeLogo': break;\n\t\t\t\t\tcase 'SpreadsheetAutoFit': break;\n\t\t\t\t\tcase 'Label': break;\n\t\t\t\t\tcase 'Caption': break;\n\t\t\t\t\tcase 'MaxHeight': break;\n\t\t\t\t\tcase 'MaxWidth': break;\n\t\t\t\t\tcase 'NextSheetNumber': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'ExcelWorkbook': switch(Rn[3]) {\n\t\t\t\t\tcase 'Date1904':\nWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'WindowHeight': break;\n\t\t\t\t\tcase 'WindowWidth': break;\n\t\t\t\t\tcase 'WindowTopX': break;\n\t\t\t\t\tcase 'WindowTopY': break;\n\t\t\t\t\tcase 'TabRatio': break;\n\t\t\t\t\tcase 'ProtectStructure': break;\n\t\t\t\t\tcase 'ProtectWindows': break;\n\t\t\t\t\tcase 'ActiveSheet': break;\n\t\t\t\t\tcase 'DisplayInkNotes': break;\n\t\t\t\t\tcase 'FirstVisibleSheet': break;\n\t\t\t\t\tcase 'SupBook': break;\n\t\t\t\t\tcase 'SheetName': break;\n\t\t\t\t\tcase 'SheetIndex': break;\n\t\t\t\t\tcase 'SheetIndexFirst': break;\n\t\t\t\t\tcase 'SheetIndexLast': break;\n\t\t\t\t\tcase 'Dll': break;\n\t\t\t\t\tcase 'AcceptLabelsInFormulas': break;\n\t\t\t\t\tcase 'DoNotSaveLinkValues': break;\n\t\t\t\t\tcase 'Iteration': break;\n\t\t\t\t\tcase 'MaxIterations': break;\n\t\t\t\t\tcase 'MaxChange': break;\n\t\t\t\t\tcase 'Path': break;\n\t\t\t\t\tcase 'Xct': break;\n\t\t\t\t\tcase 'Count': break;\n\t\t\t\t\tcase 'SelectedSheets': break;\n\t\t\t\t\tcase 'Calculation': break;\n\t\t\t\t\tcase 'Uncalced': break;\n\t\t\t\t\tcase 'StartupPrompt': break;\n\t\t\t\t\tcase 'Crn': break;\n\t\t\t\t\tcase 'ExternName': break;\n\t\t\t\t\tcase 'Formula': break;\n\t\t\t\t\tcase 'ColFirst': break;\n\t\t\t\t\tcase 'ColLast': break;\n\t\t\t\t\tcase 'WantAdvise': break;\n\t\t\t\t\tcase 'Boolean': break;\n\t\t\t\t\tcase 'Error': break;\n\t\t\t\t\tcase 'Text': break;\n\t\t\t\t\tcase 'OLE': break;\n\t\t\t\t\tcase 'NoAutoRecover': break;\n\t\t\t\t\tcase 'PublishObjects': break;\n\t\t\t\t\tcase 'DoNotCalculateBeforeSave': break;\n\t\t\t\t\tcase 'Number': break;\n\t\t\t\t\tcase 'RefModeR1C1': break;\n\t\t\t\t\tcase 'EmbedSaveSmartTags': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'WorkbookOptions': switch(Rn[3]) {\n\t\t\t\t\tcase 'OWCVersion': break;\n\t\t\t\t\tcase 'Height': break;\n\t\t\t\t\tcase 'Width': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'WorksheetOptions': switch(Rn[3]) {\n\t\t\t\t\tcase 'Visible':\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Header':\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tcursheet['!margins'].header = parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Footer':\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tcursheet['!margins'].footer = parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'PageMargins':\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(pagemargins.Top) cursheet['!margins'].top = pagemargins.Top;\n\t\t\t\t\t\tif(pagemargins.Left) cursheet['!margins'].left = pagemargins.Left;\n\t\t\t\t\t\tif(pagemargins.Right) cursheet['!margins'].right = pagemargins.Right;\n\t\t\t\t\t\tif(pagemargins.Bottom) cursheet['!margins'].bottom = pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'DisplayRightToLeft':\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Unsynced': break;\n\t\t\t\t\tcase 'Print': break;\n\t\t\t\t\tcase 'Panes': break;\n\t\t\t\t\tcase 'Scale': break;\n\t\t\t\t\tcase 'Pane': break;\n\t\t\t\t\tcase 'Number': break;\n\t\t\t\t\tcase 'Layout': break;\n\t\t\t\t\tcase 'PageSetup': break;\n\t\t\t\t\tcase 'Selected': break;\n\t\t\t\t\tcase 'ProtectObjects': break;\n\t\t\t\t\tcase 'EnableSelection': break;\n\t\t\t\t\tcase 'ProtectScenarios': break;\n\t\t\t\t\tcase 'ValidPrinterInfo': break;\n\t\t\t\t\tcase 'HorizontalResolution': break;\n\t\t\t\t\tcase 'VerticalResolution': break;\n\t\t\t\t\tcase 'NumberofCopies': break;\n\t\t\t\t\tcase 'ActiveRow': break;\n\t\t\t\t\tcase 'ActiveCol': break;\n\t\t\t\t\tcase 'ActivePane': break;\n\t\t\t\t\tcase 'TopRowVisible': break;\n\t\t\t\t\tcase 'TopRowBottomPane': break;\n\t\t\t\t\tcase 'LeftColumnVisible': break;\n\t\t\t\t\tcase 'LeftColumnRightPane': break;\n\t\t\t\t\tcase 'FitToPage': break;\n\t\t\t\t\tcase 'RangeSelection': break;\n\t\t\t\t\tcase 'PaperSizeIndex': break;\n\t\t\t\t\tcase 'PageLayoutZoom': break;\n\t\t\t\t\tcase 'PageBreakZoom': break;\n\t\t\t\t\tcase 'FilterOn': break;\n\t\t\t\t\tcase 'DoNotDisplayGridlines': break;\n\t\t\t\t\tcase 'SplitHorizontal': break;\n\t\t\t\t\tcase 'SplitVertical': break;\n\t\t\t\t\tcase 'FreezePanes': break;\n\t\t\t\t\tcase 'FrozenNoSplit': break;\n\t\t\t\t\tcase 'FitWidth': break;\n\t\t\t\t\tcase 'FitHeight': break;\n\t\t\t\t\tcase 'CommentsLayout': break;\n\t\t\t\t\tcase 'Zoom': break;\n\t\t\t\t\tcase 'LeftToRight': break;\n\t\t\t\t\tcase 'Gridlines': break;\n\t\t\t\t\tcase 'AllowSort': break;\n\t\t\t\t\tcase 'AllowFilter': break;\n\t\t\t\t\tcase 'AllowInsertRows': break;\n\t\t\t\t\tcase 'AllowDeleteRows': break;\n\t\t\t\t\tcase 'AllowInsertCols': break;\n\t\t\t\t\tcase 'AllowDeleteCols': break;\n\t\t\t\t\tcase 'AllowInsertHyperlinks': break;\n\t\t\t\t\tcase 'AllowFormatCells': break;\n\t\t\t\t\tcase 'AllowSizeCols': break;\n\t\t\t\t\tcase 'AllowSizeRows': break;\n\t\t\t\t\tcase 'NoSummaryRowsBelowDetail': break;\n\t\t\t\t\tcase 'TabColorIndex': break;\n\t\t\t\t\tcase 'DoNotDisplayHeadings': break;\n\t\t\t\t\tcase 'ShowPageLayoutZoom': break;\n\t\t\t\t\tcase 'NoSummaryColumnsRightDetail': break;\n\t\t\t\t\tcase 'BlackAndWhite': break;\n\t\t\t\t\tcase 'DoNotDisplayZeros': break;\n\t\t\t\t\tcase 'DisplayPageBreak': break;\n\t\t\t\t\tcase 'RowColHeadings': break;\n\t\t\t\t\tcase 'DoNotDisplayOutline': break;\n\t\t\t\t\tcase 'NoOrientation': break;\n\t\t\t\t\tcase 'AllowUsePivotTables': break;\n\t\t\t\t\tcase 'ZeroHeight': break;\n\t\t\t\t\tcase 'ViewableRange': break;\n\t\t\t\t\tcase 'Selection': break;\n\t\t\t\t\tcase 'ProtectContents': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'PivotTable': case 'PivotCache': switch(Rn[3]) {\n\t\t\t\t\tcase 'ImmediateItemsOnDrop': break;\n\t\t\t\t\tcase 'ShowPageMultipleItemLabel': break;\n\t\t\t\t\tcase 'CompactRowIndent': break;\n\t\t\t\t\tcase 'Location': break;\n\t\t\t\t\tcase 'PivotField': break;\n\t\t\t\t\tcase 'Orientation': break;\n\t\t\t\t\tcase 'LayoutForm': break;\n\t\t\t\t\tcase 'LayoutSubtotalLocation': break;\n\t\t\t\t\tcase 'LayoutCompactRow': break;\n\t\t\t\t\tcase 'Position': break;\n\t\t\t\t\tcase 'PivotItem': break;\n\t\t\t\t\tcase 'DataType': break;\n\t\t\t\t\tcase 'DataField': break;\n\t\t\t\t\tcase 'SourceName': break;\n\t\t\t\t\tcase 'ParentField': break;\n\t\t\t\t\tcase 'PTLineItems': break;\n\t\t\t\t\tcase 'PTLineItem': break;\n\t\t\t\t\tcase 'CountOfSameItems': break;\n\t\t\t\t\tcase 'Item': break;\n\t\t\t\t\tcase 'ItemType': break;\n\t\t\t\t\tcase 'PTSource': break;\n\t\t\t\t\tcase 'CacheIndex': break;\n\t\t\t\t\tcase 'ConsolidationReference': break;\n\t\t\t\t\tcase 'FileName': break;\n\t\t\t\t\tcase 'Reference': break;\n\t\t\t\t\tcase 'NoColumnGrand': break;\n\t\t\t\t\tcase 'NoRowGrand': break;\n\t\t\t\t\tcase 'BlankLineAfterItems': break;\n\t\t\t\t\tcase 'Hidden': break;\n\t\t\t\t\tcase 'Subtotal': break;\n\t\t\t\t\tcase 'BaseField': break;\n\t\t\t\t\tcase 'MapChildItems': break;\n\t\t\t\t\tcase 'Function': break;\n\t\t\t\t\tcase 'RefreshOnFileOpen': break;\n\t\t\t\t\tcase 'PrintSetTitles': break;\n\t\t\t\t\tcase 'MergeLabels': break;\n\t\t\t\t\tcase 'DefaultVersion': break;\n\t\t\t\t\tcase 'RefreshName': break;\n\t\t\t\t\tcase 'RefreshDate': break;\n\t\t\t\t\tcase 'RefreshDateCopy': break;\n\t\t\t\t\tcase 'VersionLastRefresh': break;\n\t\t\t\t\tcase 'VersionLastUpdate': break;\n\t\t\t\t\tcase 'VersionUpdateableMin': break;\n\t\t\t\t\tcase 'VersionRefreshableMin': break;\n\t\t\t\t\tcase 'Calculation': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'PageBreaks': switch(Rn[3]) {\n\t\t\t\t\tcase 'ColBreaks': break;\n\t\t\t\t\tcase 'ColBreak': break;\n\t\t\t\t\tcase 'RowBreaks': break;\n\t\t\t\t\tcase 'RowBreak': break;\n\t\t\t\t\tcase 'ColStart': break;\n\t\t\t\t\tcase 'ColEnd': break;\n\t\t\t\t\tcase 'RowEnd': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'AutoFilter': switch(Rn[3]) {\n\t\t\t\t\tcase 'AutoFilterColumn': break;\n\t\t\t\t\tcase 'AutoFilterCondition': break;\n\t\t\t\t\tcase 'AutoFilterAnd': break;\n\t\t\t\t\tcase 'AutoFilterOr': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'QueryTable': switch(Rn[3]) {\n\t\t\t\t\tcase 'Id': break;\n\t\t\t\t\tcase 'AutoFormatFont': break;\n\t\t\t\t\tcase 'AutoFormatPattern': break;\n\t\t\t\t\tcase 'QuerySource': break;\n\t\t\t\t\tcase 'QueryType': break;\n\t\t\t\t\tcase 'EnableRedirections': break;\n\t\t\t\t\tcase 'RefreshedInXl9': break;\n\t\t\t\t\tcase 'URLString': break;\n\t\t\t\t\tcase 'HTMLTables': break;\n\t\t\t\t\tcase 'Connection': break;\n\t\t\t\t\tcase 'CommandText': break;\n\t\t\t\t\tcase 'RefreshInfo': break;\n\t\t\t\t\tcase 'NoTitles': break;\n\t\t\t\t\tcase 'NextId': break;\n\t\t\t\t\tcase 'ColumnInfo': break;\n\t\t\t\t\tcase 'OverwriteCells': break;\n\t\t\t\t\tcase 'DoNotPromptForFile': break;\n\t\t\t\t\tcase 'TextWizardSettings': break;\n\t\t\t\t\tcase 'Source': break;\n\t\t\t\t\tcase 'Number': break;\n\t\t\t\t\tcase 'Decimal': break;\n\t\t\t\t\tcase 'ThousandSeparator': break;\n\t\t\t\t\tcase 'TrailingMinusNumbers': break;\n\t\t\t\t\tcase 'FormatSettings': break;\n\t\t\t\t\tcase 'FieldType': break;\n\t\t\t\t\tcase 'Delimiters': break;\n\t\t\t\t\tcase 'Tab': break;\n\t\t\t\t\tcase 'Comma': break;\n\t\t\t\t\tcase 'AutoFormatName': break;\n\t\t\t\t\tcase 'VersionLastEdit': break;\n\t\t\t\t\tcase 'VersionLastRefresh': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'Sorting':\n\t\t\t\tcase 'ConditionalFormatting':\n\t\t\t\tcase 'DataValidation':\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'Range': break;\n\t\t\t\t\tcase 'Type': break;\n\t\t\t\t\tcase 'Min': break;\n\t\t\t\t\tcase 'Max': break;\n\t\t\t\t\tcase 'Sort': break;\n\t\t\t\t\tcase 'Descending': break;\n\t\t\t\t\tcase 'Order': break;\n\t\t\t\t\tcase 'CaseSensitive': break;\n\t\t\t\t\tcase 'Value': break;\n\t\t\t\t\tcase 'ErrorStyle': break;\n\t\t\t\t\tcase 'ErrorMessage': break;\n\t\t\t\t\tcase 'ErrorTitle': break;\n\t\t\t\t\tcase 'CellRangeList': break;\n\t\t\t\t\tcase 'InputMessage': break;\n\t\t\t\t\tcase 'InputTitle': break;\n\t\t\t\t\tcase 'ComboHide': break;\n\t\t\t\t\tcase 'InputHide': break;\n\t\t\t\t\tcase 'Condition': break;\n\t\t\t\t\tcase 'Qualifier': break;\n\t\t\t\t\tcase 'UseBlank': break;\n\t\t\t\t\tcase 'Value1': break;\n\t\t\t\t\tcase 'Value2': break;\n\t\t\t\t\tcase 'Format': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'MapInfo': case 'Schema': case 'data': switch(Rn[3]) {\n\t\t\t\t\tcase 'Map': break;\n\t\t\t\t\tcase 'Entry': break;\n\t\t\t\t\tcase 'Range': break;\n\t\t\t\t\tcase 'XPath': break;\n\t\t\t\t\tcase 'Field': break;\n\t\t\t\t\tcase 'XSDType': break;\n\t\t\t\t\tcase 'FilterOn': break;\n\t\t\t\t\tcase 'Aggregate': break;\n\t\t\t\t\tcase 'ElementType': break;\n\t\t\t\t\tcase 'AttributeType': break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema':\n\t\t\t\t\tcase 'element':\n\t\t\t\t\tcase 'complexType':\n\t\t\t\t\tcase 'datatype':\n\t\t\t\t\tcase 'all':\n\t\t\t\t\tcase 'attribute':\n\t\t\t\t\tcase 'extends': break;\n\n\t\t\t\t\tcase 'row': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'SmartTags': break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]==='CustomDocumentProperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, Rn[3], cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({});\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = SSF.get_table();\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data, opts) {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64.decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n}\n\n/* TODO */\nfunction write_props_xlml(wb, opts) {\n\tvar o = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml() {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts) {\n\t/* Styles */\n\tvar styles = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(SSF._table[xf.numFmtId])}));\n\t\tstyles.push(writextag('Style', payload.join(\"\"), {\"ss:ID\": \"s\" + (21+id)}));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb) {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\nvar names = wb.Workbook.Names;\n\tvar out = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws, opts, idx, wb) {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\nvar names = wb.Workbook.Names;\n\tvar out = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws, opts, idx, wb) {\n\tif(!ws) return \"\";\n\tvar o = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments) {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr){\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': return \"\";\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || SSF._table[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = '' + _v + '';\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R, row) {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws, opts, idx, wb) {\n\tif(!ws['!ref']) return \"\";\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar marr = ws['!merges'] || [], mi = 0;\n\tvar o = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx, opts, wb) {\n\tvar o = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts) {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = SSF.get_table();\n\tif(wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj) {\n\tvar v = {};\n\tvar o = obj.content;\n/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue\n\t- 2.4.59 ContinueBigName\n\t- 2.4.60 ContinueFrt\n\t- 2.4.61 ContinueFrt11\n\t- 2.4.62 ContinueFrt12\n*/\nfunction slurp(R, blob, length, opts) {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu) switch(R.n) {\n\tcase 'BOF': case 'FilePass': case 'FileLock': case 'InterfaceHdr': case 'RRDInfo': case 'RRDHead': case 'UsrExcl': break;\n\tdefault:\n\t\tif(d.length === 0) break;\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar next = (XLSRecordEnum[__readUInt16LE(blob,blob.l)]);\n\tvar start = 0;\n\twhile(next != null && next.n.slice(0,8) === 'Continue') {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(next.n == 'ContinueFrt') start += 4;\n\t\telse if(next.n.slice(0,11) == 'ContinueFrt') start += 12;\n\t\tbufs.push(blob.slice(start,blob.l+4+l));\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs));\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p, opts, date1904) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF._general(p.v);\n\t\t}\n\t\telse p.w = SSF.format(fmtid,p.v, {date1904:!!date1904});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && SSF.is_date(SSF._table[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t) {\n\treturn ({v:val, ixfe:ixfe, t:t});\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options) {\n\tvar wb = ({opts:{}});\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out = ((options.dense ? [] : {}));\n\tvar Directory = {};\n\tvar range = ({});\n\tvar last_formula = null;\n\tvar sst = ([]);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf = [];\n\tvar temp_val;\n\tvar country;\n\tvar cell_valid = true;\n\tvar XFs = []; /* XF records */\n\tvar palette = [];\n\tvar Workbook = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }), wsprops = {};\n\tvar get_rgb = function getrgb(icv) {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({});\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell, line, options) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) cell_valid = false;\n\t\tif(!cell_valid) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t});\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges = [];\n\tvar objects = [];\n\tvar colinfo = [], rowinfo = [];\n\t// eslint-disable-next-line no-unused-vars\n\tvar defwidth = 0, defheight = 0; // twips / MDW respectively\n\tvar seencol = false;\n\tvar supbooks = ([]); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_Rn = '';\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_Rn === 'EOF') break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break;\n\t\t\t}\n\t\t\tlast_Rn = R.n;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){ blob.l += 10; length -= 10; } // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val;\n\t\t\tif(R.n === 'EOF') val = R.f(blob, length, opts);\n\t\t\telse val = slurp(R, blob, length, opts);\n\t\t\tvar Rn = R.n;\n\t\t\tif(file_depth == 0 && Rn != 'BOF') continue;\n\t\t\t/* nested switch statements to workaround V8 128 limit */\n\t\t\tswitch(Rn) {\n\t\t\t\t/* Workbook Options */\n\t\t\t\tcase 'Date1904':\nwb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 'WriteProtect': wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 'FilePass':\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'WriteAccess': opts.lastuser = val; break;\n\t\t\t\tcase 'FileSharing': break; //TODO\n\t\t\t\tcase 'CodePage':\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(val) {\n\t\t\t\t\t\tcase 0x5212: val = 1200; break;\n\t\t\t\t\t\tcase 0x8000: val = 10000; break;\n\t\t\t\t\t\tcase 0x8001: val = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = val);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'RRTabId': opts.rrtabid = val; break;\n\t\t\t\tcase 'WinProtect': opts.winlocked = val; break;\n\t\t\t\tcase 'Template': break; // TODO\n\t\t\t\tcase 'BookBool': break; // TODO\n\t\t\t\tcase 'UsesELFs': break;\n\t\t\t\tcase 'MTRSettings': break;\n\t\t\t\tcase 'RefreshAll':\n\t\t\t\tcase 'CalcCount':\n\t\t\t\tcase 'CalcDelta':\n\t\t\t\tcase 'CalcIter':\n\t\t\t\tcase 'CalcMode':\n\t\t\t\tcase 'CalcPrecision':\n\t\t\t\tcase 'CalcSaveRecalc':\n\t\t\t\t\twb.opts[Rn] = val; break;\n\t\t\t\tcase 'CalcRefMode': opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 'Uncalced': break;\n\t\t\t\tcase 'ForceFullCalculation': wb.opts.FullCalc = val; break;\n\t\t\t\tcase 'WsBool':\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 'XF':\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 'ExtSST': break; // TODO\n\t\t\t\tcase 'BookExt': break; // TODO\n\t\t\t\tcase 'RichTextStream': break;\n\t\t\t\tcase 'BkHim': break;\n\n\t\t\t\tcase 'SupBook':\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ExternName':\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Index': break; // TODO\n\t\t\t\tcase 'Lbl':\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t});\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ExternCount': opts.ExternCount = val; break;\n\t\t\t\tcase 'ExternSheet':\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 'NameCmt':\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Protect': out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 'Password': if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 'Prot4Rev': case 'Prot4RevPass': break; /*TODO: Revision Control*/\n\n\t\t\t\tcase 'BoundSheet8': {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 'EOF': {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {}));\n\t\t\t\t} break;\n\t\t\t\tcase 'BOF': {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n0x0009:2,\n0x0209:3,\n0x0409:4\n\t\t\t\t\t}[RecordType] || {\n0x0200:2,\n0x0300:3,\n0x0400:4,\n0x0500:5,\n0x0600:8,\n0x0002:2,\n0x0007:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tcell_valid = true;\n\t\t\t\t\tout = ((options.dense ? [] : {}));\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\t\t\t\t\tif(opts.biff < 5) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tdefwidth = defheight = 0;\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\n\t\t\t\tcase 'Number': case 'BIFF2NUM': case 'BIFF2INT': {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'BoolErr': {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'RK': {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulRk': {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'});\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Formula': {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'String': {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 'Array': {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'ShrFmla': {\n\t\t\t\t\tif(!cell_valid) break;\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'LabelSst':\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Blank': if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulBlank': if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'});\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'RString':\n\t\t\t\tcase 'Label': case 'BIFF2STR':\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Dimensions': {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 'SST': {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'Format': { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(SSF._table[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF.load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF.load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 'BIFF2FORMAT': {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(SSF._table[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF.load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 'MergeCells': merges = merges.concat(val); break;\n\n\t\t\t\tcase 'Obj': objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 'TxO': opts.lastobj.TxO = val; break;\n\t\t\t\tcase 'ImData': opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 'HLink': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'HLinkTooltip': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\t/* Comments */\n\t\t\t\tcase 'Note': {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = {t:\"z\"};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = {t:\"z\"};\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\tcase 'ClrtClient': break;\n\t\t\t\tcase 'XFExt': update_xfext(XFs[val.ixfe], val.ext); break;\n\n\t\t\t\tcase 'DefColWidth': defwidth = val; break;\n\t\t\t\tcase 'DefaultRowHeight': defheight = val[1]; break; // TODO: flags\n\n\t\t\t\tcase 'ColInfo': {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256 };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Row': {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase 'LeftMargin':\n\t\t\t\tcase 'RightMargin':\n\t\t\t\tcase 'TopMargin':\n\t\t\t\tcase 'BottomMargin':\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][Rn.slice(0,-6).toLowerCase()] = val;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Setup': // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Window2': // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Header': break; // TODO\n\t\t\t\tcase 'Footer': break; // TODO\n\t\t\t\tcase 'HCenter': break; // TODO\n\t\t\t\tcase 'VCenter': break; // TODO\n\t\t\t\tcase 'Pls': break; // TODO\n\t\t\t\tcase 'GCW': break;\n\t\t\t\tcase 'LHRecord': break;\n\t\t\t\tcase 'DBCell': break; // TODO\n\t\t\t\tcase 'EntExU2': break; // TODO\n\t\t\t\tcase 'SxView': break; // TODO\n\t\t\t\tcase 'Sxvd': break; // TODO\n\t\t\t\tcase 'SXVI': break; // TODO\n\t\t\t\tcase 'SXVDEx': break; // TODO\n\t\t\t\tcase 'SxIvd': break; // TODO\n\t\t\t\tcase 'SXString': break; // TODO\n\t\t\t\tcase 'Sync': break;\n\t\t\t\tcase 'Addin': break;\n\t\t\t\tcase 'SXDI': break; // TODO\n\t\t\t\tcase 'SXLI': break; // TODO\n\t\t\t\tcase 'SXEx': break; // TODO\n\t\t\t\tcase 'QsiSXTag': break; // TODO\n\t\t\t\tcase 'Selection': break;\n\t\t\t\tcase 'Feat': break;\n\t\t\t\tcase 'FeatHdr': case 'FeatHdr11': break;\n\t\t\t\tcase 'Feature11': case 'Feature12': case 'List12': break;\n\t\t\t\tcase 'Country': country = val; break;\n\t\t\t\tcase 'RecalcId': break;\n\t\t\t\tcase 'DxGCol': break; // TODO: htmlify\n\t\t\t\tcase 'Fbi': case 'Fbi2': case 'GelFrame': break;\n\t\t\t\tcase 'Font': break; // TODO\n\t\t\t\tcase 'XFCRC': break; // TODO\n\t\t\t\tcase 'Style': break; // TODO\n\t\t\t\tcase 'StyleExt': break; // TODO\n\t\t\t\tcase 'Palette': palette = val; break;\n\t\t\t\tcase 'Theme': themes = val; break;\n\t\t\t\t/* Protection */\n\t\t\t\tcase 'ScenarioProtect': break;\n\t\t\t\tcase 'ObjProtect': break;\n\n\t\t\t\t/* Conditional Formatting */\n\t\t\t\tcase 'CondFmt12': break;\n\n\t\t\t\t/* Table */\n\t\t\t\tcase 'Table': break; // TODO\n\t\t\t\tcase 'TableStyles': break; // TODO\n\t\t\t\tcase 'TableStyle': break; // TODO\n\t\t\t\tcase 'TableStyleElement': break; // TODO\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'SXStreamID': break; // TODO\n\t\t\t\tcase 'SXVS': break; // TODO\n\t\t\t\tcase 'DConRef': break; // TODO\n\t\t\t\tcase 'SXAddl': break; // TODO\n\t\t\t\tcase 'DConBin': break; // TODO\n\t\t\t\tcase 'DConName': break; // TODO\n\t\t\t\tcase 'SXPI': break; // TODO\n\t\t\t\tcase 'SxFormat': break; // TODO\n\t\t\t\tcase 'SxSelect': break; // TODO\n\t\t\t\tcase 'SxRule': break; // TODO\n\t\t\t\tcase 'SxFilt': break; // TODO\n\t\t\t\tcase 'SxItm': break; // TODO\n\t\t\t\tcase 'SxDXF': break; // TODO\n\n\t\t\t\t/* Scenario Manager */\n\t\t\t\tcase 'ScenMan': break;\n\n\t\t\t\t/* Data Consolidation */\n\t\t\t\tcase 'DCon': break;\n\n\t\t\t\t/* Watched Cell */\n\t\t\t\tcase 'CellWatch': break;\n\n\t\t\t\t/* Print Settings */\n\t\t\t\tcase 'PrintRowCol': break;\n\t\t\t\tcase 'PrintGrid': break;\n\t\t\t\tcase 'PrintSize': break;\n\n\t\t\t\tcase 'XCT': break;\n\t\t\t\tcase 'CRN': break;\n\n\t\t\t\tcase 'Scl': {\n\t\t\t\t\t//console.log(\"Zoom Level:\", val[0]/val[1],val);\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExt': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExtOptional': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\n\t\t\t\t/* VBA */\n\t\t\t\tcase 'ObNoMacros': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'ObProj': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'CodeName': {\nif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t\tcase 'GUIDTypeLib': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\n\t\t\t\tcase 'WOpt': break; // TODO: WTF?\n\t\t\t\tcase 'PhoneticInfo': break;\n\n\t\t\t\tcase 'OleObjectSize': break;\n\n\t\t\t\t/* Differential Formatting */\n\t\t\t\tcase 'DXF': case 'DXFN': case 'DXFN12': case 'DXFN12List': case 'DXFN12NoCB': break;\n\n\t\t\t\t/* Data Validation */\n\t\t\t\tcase 'Dv': case 'DVal': break;\n\n\t\t\t\t/* Data Series */\n\t\t\t\tcase 'BRAI': case 'Series': case 'SeriesText': break;\n\n\t\t\t\t/* Data Connection */\n\t\t\t\tcase 'DConn': break;\n\t\t\t\tcase 'DbOrParamQry': break;\n\t\t\t\tcase 'DBQueryExt': break;\n\n\t\t\t\tcase 'OleDbConn': break;\n\t\t\t\tcase 'ExtString': break;\n\n\t\t\t\t/* Formatting */\n\t\t\t\tcase 'IFmtRecord': break;\n\t\t\t\tcase 'CondFmt': case 'CF': case 'CF12': case 'CFEx': break;\n\n\t\t\t\t/* Explicitly Ignored */\n\t\t\t\tcase 'Excel9File': break;\n\t\t\t\tcase 'Units': break;\n\t\t\t\tcase 'InterfaceHdr': case 'Mms': case 'InterfaceEnd': case 'DSF': break;\n\t\t\t\tcase 'BuiltInFnGroupCount': /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break;\n\t\t\t\t/* View Stuff */\n\t\t\t\tcase 'Window1': case 'HideObj': case 'GridSet': case 'Guts':\n\t\t\t\tcase 'UserBView': case 'UserSViewBegin': case 'UserSViewEnd':\n\t\t\t\tcase 'Pane': break;\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* Chart */\n\t\t\t\tcase 'Dat':\n\t\t\t\tcase 'Begin': case 'End':\n\t\t\t\tcase 'StartBlock': case 'EndBlock':\n\t\t\t\tcase 'Frame': case 'Area':\n\t\t\t\tcase 'Axis': case 'AxisLine': case 'Tick': break;\n\t\t\t\tcase 'AxesUsed':\n\t\t\t\tcase 'CrtLayout12': case 'CrtLayout12A': case 'CrtLink': case 'CrtLine': case 'CrtMlFrt': case 'CrtMlFrtContinue': break;\n\t\t\t\tcase 'LineFormat': case 'AreaFormat':\n\t\t\t\tcase 'Chart': case 'Chart3d': case 'Chart3DBarShape': case 'ChartFormat': case 'ChartFrtInfo': break;\n\t\t\t\tcase 'PlotArea': case 'PlotGrowth': break;\n\t\t\t\tcase 'SeriesList': case 'SerParent': case 'SerAuxTrend': break;\n\t\t\t\tcase 'DataFormat': case 'SerToCrt': case 'FontX': break;\n\t\t\t\tcase 'CatSerRange': case 'AxcExt': case 'SerFmt': break;\n\t\t\t\tcase 'ShtProps': break;\n\t\t\t\tcase 'DefaultText': case 'Text': case 'CatLab': break;\n\t\t\t\tcase 'DataLabExtContents': break;\n\t\t\t\tcase 'Legend': case 'LegendException': break;\n\t\t\t\tcase 'Pie': case 'Scatter': break;\n\t\t\t\tcase 'PieFormat': case 'MarkerFormat': break;\n\t\t\t\tcase 'StartObject': case 'EndObject': break;\n\t\t\t\tcase 'AlRuns': case 'ObjectLink': break;\n\t\t\t\tcase 'SIIndex': break;\n\t\t\t\tcase 'AttachedLabel': case 'YMult': break;\n\n\t\t\t\t/* Chart Group */\n\t\t\t\tcase 'Line': case 'Bar': break;\n\t\t\t\tcase 'Surf': break;\n\n\t\t\t\t/* Axis Group */\n\t\t\t\tcase 'AxisParent': break;\n\t\t\t\tcase 'Pos': break;\n\t\t\t\tcase 'ValueRange': break;\n\n\t\t\t\t/* Pivot Chart */\n\t\t\t\tcase 'SXViewEx9': break; // TODO\n\t\t\t\tcase 'SXViewLink': break;\n\t\t\t\tcase 'PivotChartBits': break;\n\t\t\t\tcase 'SBaseRef': break;\n\t\t\t\tcase 'TextPropsStream': break;\n\n\t\t\t\t/* Chart Misc */\n\t\t\t\tcase 'LnExt': break;\n\t\t\t\tcase 'MkrExt': break;\n\t\t\t\tcase 'CrtCoopt': break;\n\n\t\t\t\t/* Query Table */\n\t\t\t\tcase 'Qsi': case 'Qsif': case 'Qsir': case 'QsiSXTag': break;\n\t\t\t\tcase 'TxtQry': break;\n\n\t\t\t\t/* Filter */\n\t\t\t\tcase 'FilterMode': break;\n\t\t\t\tcase 'AutoFilter': case 'AutoFilterInfo': break;\n\t\t\t\tcase 'AutoFilter12': break;\n\t\t\t\tcase 'DropDownObjIds': break;\n\t\t\t\tcase 'Sort': break;\n\t\t\t\tcase 'SortData': break;\n\n\t\t\t\t/* Drawing */\n\t\t\t\tcase 'ShapePropsStream': break;\n\t\t\t\tcase 'MsoDrawing': case 'MsoDrawingGroup': case 'MsoDrawingSelection': break;\n\t\t\t\t/* Pub Stuff */\n\t\t\t\tcase 'WebPub': case 'AutoWebPub': break;\n\n\t\t\t\t/* Print Stuff */\n\t\t\t\tcase 'HeaderFooter': case 'HFPicture': case 'PLV':\n\t\t\t\tcase 'HorizontalPageBreaks': case 'VerticalPageBreaks': break;\n\t\t\t\t/* Behavioral */\n\t\t\t\tcase 'Backup': case 'CompressPictures': case 'Compat12': break;\n\n\t\t\t\t/* Should not Happen */\n\t\t\t\tcase 'Continue': case 'ContinueFrt12': break;\n\n\t\t\t\t/* Future Records */\n\t\t\t\tcase 'FrtFontList': case 'FrtWrapper': break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* BIFF5 records */\n\t\t\t\tcase 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break;\n\n\t\t\t\t/* BIFF2-4 records */\n\t\t\t\tcase 'BIFF2FONTCLR': case 'BIFF2FMTCNT': case 'BIFF2FONTXTRA': break;\n\t\t\t\tcase 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break;\n\t\t\t\tcase 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break;\n\n\t\t\t\t/* Miscellaneous */\n\t\t\t\tcase 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt':\n\t\t\t\tcase 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData':\n\t\t\t\tcase 'Name': break;\n\t\t\t\tcase 'LHNGraph': case 'FnGroupName': case 'AddMenu': case 'LPr': break;\n\t\t\t\tcase 'ListObj': case 'ListField': break;\n\t\t\t\tcase 'RRSort': break;\n\t\t\t\tcase 'BigName': break;\n\t\t\t\tcase 'ToolbarHdr': case 'ToolbarEnd': break;\n\t\t\t\tcase 'DDEObjName': break;\n\t\t\t\tcase 'FRTArchId$': break;\n\t\t\t\tdefault: if(options.WTF) throw 'Unrecognized Record ' + R.n;\n\t\t\t}}}}\n\t\t} else blob.l += length;\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Preamble=Preamble;\n\twb.Strings = sst;\n\twb.SSF = SSF.get_table();\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb, cfb) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (DocSummaryRE.hasOwnProperty(Keys[i]) ? DSEntries : SummaryRE.hasOwnProperty(Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!(wb.Props||{}).hasOwnProperty(Keys[i])) (DocSummaryRE.hasOwnProperty(Keys[i]) ? DSEntries : SummaryRE.hasOwnProperty(Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb, options) {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj, WB;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64.decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb});\n}\nvar WorkbookP;\n\nvar _data;\nif(CompObj) parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({});\nelse {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(cfb, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb, opts) {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n0x0000: { n:\"BrtRowHdr\", f:parse_BrtRowHdr },\n0x0001: { n:\"BrtCellBlank\", f:parse_BrtCellBlank },\n0x0002: { n:\"BrtCellRk\", f:parse_BrtCellRk },\n0x0003: { n:\"BrtCellError\", f:parse_BrtCellError },\n0x0004: { n:\"BrtCellBool\", f:parse_BrtCellBool },\n0x0005: { n:\"BrtCellReal\", f:parse_BrtCellReal },\n0x0006: { n:\"BrtCellSt\", f:parse_BrtCellSt },\n0x0007: { n:\"BrtCellIsst\", f:parse_BrtCellIsst },\n0x0008: { n:\"BrtFmlaString\", f:parse_BrtFmlaString },\n0x0009: { n:\"BrtFmlaNum\", f:parse_BrtFmlaNum },\n0x000A: { n:\"BrtFmlaBool\", f:parse_BrtFmlaBool },\n0x000B: { n:\"BrtFmlaError\", f:parse_BrtFmlaError },\n0x0010: { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ },\n0x0013: { n:\"BrtSSTItem\", f:parse_RichStr },\n0x0014: { n:\"BrtPCDIMissing\" },\n0x0015: { n:\"BrtPCDINumber\" },\n0x0016: { n:\"BrtPCDIBoolean\" },\n0x0017: { n:\"BrtPCDIError\" },\n0x0018: { n:\"BrtPCDIString\" },\n0x0019: { n:\"BrtPCDIDatetime\" },\n0x001A: { n:\"BrtPCDIIndex\" },\n0x001B: { n:\"BrtPCDIAMissing\" },\n0x001C: { n:\"BrtPCDIANumber\" },\n0x001D: { n:\"BrtPCDIABoolean\" },\n0x001E: { n:\"BrtPCDIAError\" },\n0x001F: { n:\"BrtPCDIAString\" },\n0x0020: { n:\"BrtPCDIADatetime\" },\n0x0021: { n:\"BrtPCRRecord\" },\n0x0022: { n:\"BrtPCRRecordDt\" },\n0x0023: { n:\"BrtFRTBegin\" },\n0x0024: { n:\"BrtFRTEnd\" },\n0x0025: { n:\"BrtACBegin\" },\n0x0026: { n:\"BrtACEnd\" },\n0x0027: { n:\"BrtName\", f:parse_BrtName },\n0x0028: { n:\"BrtIndexRowBlock\" },\n0x002A: { n:\"BrtIndexBlock\" },\n0x002B: { n:\"BrtFont\", f:parse_BrtFont },\n0x002C: { n:\"BrtFmt\", f:parse_BrtFmt },\n0x002D: { n:\"BrtFill\", f:parse_BrtFill },\n0x002E: { n:\"BrtBorder\", f:parse_BrtBorder },\n0x002F: { n:\"BrtXF\", f:parse_BrtXF },\n0x0030: { n:\"BrtStyle\" },\n0x0031: { n:\"BrtCellMeta\" },\n0x0032: { n:\"BrtValueMeta\" },\n0x0033: { n:\"BrtMdb\" },\n0x0034: { n:\"BrtBeginFmd\" },\n0x0035: { n:\"BrtEndFmd\" },\n0x0036: { n:\"BrtBeginMdx\" },\n0x0037: { n:\"BrtEndMdx\" },\n0x0038: { n:\"BrtBeginMdxTuple\" },\n0x0039: { n:\"BrtEndMdxTuple\" },\n0x003A: { n:\"BrtMdxMbrIstr\" },\n0x003B: { n:\"BrtStr\" },\n0x003C: { n:\"BrtColInfo\", f:parse_ColInfo },\n0x003E: { n:\"BrtCellRString\" },\n0x003F: { n:\"BrtCalcChainItem$\", f:parse_BrtCalcChainItem$ },\n0x0040: { n:\"BrtDVal\" },\n0x0041: { n:\"BrtSxvcellNum\" },\n0x0042: { n:\"BrtSxvcellStr\" },\n0x0043: { n:\"BrtSxvcellBool\" },\n0x0044: { n:\"BrtSxvcellErr\" },\n0x0045: { n:\"BrtSxvcellDate\" },\n0x0046: { n:\"BrtSxvcellNil\" },\n0x0080: { n:\"BrtFileVersion\" },\n0x0081: { n:\"BrtBeginSheet\" },\n0x0082: { n:\"BrtEndSheet\" },\n0x0083: { n:\"BrtBeginBook\", f:parsenoop, p:0 },\n0x0084: { n:\"BrtEndBook\" },\n0x0085: { n:\"BrtBeginWsViews\" },\n0x0086: { n:\"BrtEndWsViews\" },\n0x0087: { n:\"BrtBeginBookViews\" },\n0x0088: { n:\"BrtEndBookViews\" },\n0x0089: { n:\"BrtBeginWsView\", f:parse_BrtBeginWsView },\n0x008A: { n:\"BrtEndWsView\" },\n0x008B: { n:\"BrtBeginCsViews\" },\n0x008C: { n:\"BrtEndCsViews\" },\n0x008D: { n:\"BrtBeginCsView\" },\n0x008E: { n:\"BrtEndCsView\" },\n0x008F: { n:\"BrtBeginBundleShs\" },\n0x0090: { n:\"BrtEndBundleShs\" },\n0x0091: { n:\"BrtBeginSheetData\" },\n0x0092: { n:\"BrtEndSheetData\" },\n0x0093: { n:\"BrtWsProp\", f:parse_BrtWsProp },\n0x0094: { n:\"BrtWsDim\", f:parse_BrtWsDim, p:16 },\n0x0097: { n:\"BrtPane\" },\n0x0098: { n:\"BrtSel\" },\n0x0099: { n:\"BrtWbProp\", f:parse_BrtWbProp },\n0x009A: { n:\"BrtWbFactoid\" },\n0x009B: { n:\"BrtFileRecover\" },\n0x009C: { n:\"BrtBundleSh\", f:parse_BrtBundleSh },\n0x009D: { n:\"BrtCalcProp\" },\n0x009E: { n:\"BrtBookView\" },\n0x009F: { n:\"BrtBeginSst\", f:parse_BrtBeginSst },\n0x00A0: { n:\"BrtEndSst\" },\n0x00A1: { n:\"BrtBeginAFilter\", f:parse_UncheckedRfX },\n0x00A2: { n:\"BrtEndAFilter\" },\n0x00A3: { n:\"BrtBeginFilterColumn\" },\n0x00A4: { n:\"BrtEndFilterColumn\" },\n0x00A5: { n:\"BrtBeginFilters\" },\n0x00A6: { n:\"BrtEndFilters\" },\n0x00A7: { n:\"BrtFilter\" },\n0x00A8: { n:\"BrtColorFilter\" },\n0x00A9: { n:\"BrtIconFilter\" },\n0x00AA: { n:\"BrtTop10Filter\" },\n0x00AB: { n:\"BrtDynamicFilter\" },\n0x00AC: { n:\"BrtBeginCustomFilters\" },\n0x00AD: { n:\"BrtEndCustomFilters\" },\n0x00AE: { n:\"BrtCustomFilter\" },\n0x00AF: { n:\"BrtAFilterDateGroupItem\" },\n0x00B0: { n:\"BrtMergeCell\", f:parse_BrtMergeCell },\n0x00B1: { n:\"BrtBeginMergeCells\" },\n0x00B2: { n:\"BrtEndMergeCells\" },\n0x00B3: { n:\"BrtBeginPivotCacheDef\" },\n0x00B4: { n:\"BrtEndPivotCacheDef\" },\n0x00B5: { n:\"BrtBeginPCDFields\" },\n0x00B6: { n:\"BrtEndPCDFields\" },\n0x00B7: { n:\"BrtBeginPCDField\" },\n0x00B8: { n:\"BrtEndPCDField\" },\n0x00B9: { n:\"BrtBeginPCDSource\" },\n0x00BA: { n:\"BrtEndPCDSource\" },\n0x00BB: { n:\"BrtBeginPCDSRange\" },\n0x00BC: { n:\"BrtEndPCDSRange\" },\n0x00BD: { n:\"BrtBeginPCDFAtbl\" },\n0x00BE: { n:\"BrtEndPCDFAtbl\" },\n0x00BF: { n:\"BrtBeginPCDIRun\" },\n0x00C0: { n:\"BrtEndPCDIRun\" },\n0x00C1: { n:\"BrtBeginPivotCacheRecords\" },\n0x00C2: { n:\"BrtEndPivotCacheRecords\" },\n0x00C3: { n:\"BrtBeginPCDHierarchies\" },\n0x00C4: { n:\"BrtEndPCDHierarchies\" },\n0x00C5: { n:\"BrtBeginPCDHierarchy\" },\n0x00C6: { n:\"BrtEndPCDHierarchy\" },\n0x00C7: { n:\"BrtBeginPCDHFieldsUsage\" },\n0x00C8: { n:\"BrtEndPCDHFieldsUsage\" },\n0x00C9: { n:\"BrtBeginExtConnection\" },\n0x00CA: { n:\"BrtEndExtConnection\" },\n0x00CB: { n:\"BrtBeginECDbProps\" },\n0x00CC: { n:\"BrtEndECDbProps\" },\n0x00CD: { n:\"BrtBeginECOlapProps\" },\n0x00CE: { n:\"BrtEndECOlapProps\" },\n0x00CF: { n:\"BrtBeginPCDSConsol\" },\n0x00D0: { n:\"BrtEndPCDSConsol\" },\n0x00D1: { n:\"BrtBeginPCDSCPages\" },\n0x00D2: { n:\"BrtEndPCDSCPages\" },\n0x00D3: { n:\"BrtBeginPCDSCPage\" },\n0x00D4: { n:\"BrtEndPCDSCPage\" },\n0x00D5: { n:\"BrtBeginPCDSCPItem\" },\n0x00D6: { n:\"BrtEndPCDSCPItem\" },\n0x00D7: { n:\"BrtBeginPCDSCSets\" },\n0x00D8: { n:\"BrtEndPCDSCSets\" },\n0x00D9: { n:\"BrtBeginPCDSCSet\" },\n0x00DA: { n:\"BrtEndPCDSCSet\" },\n0x00DB: { n:\"BrtBeginPCDFGroup\" },\n0x00DC: { n:\"BrtEndPCDFGroup\" },\n0x00DD: { n:\"BrtBeginPCDFGItems\" },\n0x00DE: { n:\"BrtEndPCDFGItems\" },\n0x00DF: { n:\"BrtBeginPCDFGRange\" },\n0x00E0: { n:\"BrtEndPCDFGRange\" },\n0x00E1: { n:\"BrtBeginPCDFGDiscrete\" },\n0x00E2: { n:\"BrtEndPCDFGDiscrete\" },\n0x00E3: { n:\"BrtBeginPCDSDTupleCache\" },\n0x00E4: { n:\"BrtEndPCDSDTupleCache\" },\n0x00E5: { n:\"BrtBeginPCDSDTCEntries\" },\n0x00E6: { n:\"BrtEndPCDSDTCEntries\" },\n0x00E7: { n:\"BrtBeginPCDSDTCEMembers\" },\n0x00E8: { n:\"BrtEndPCDSDTCEMembers\" },\n0x00E9: { n:\"BrtBeginPCDSDTCEMember\" },\n0x00EA: { n:\"BrtEndPCDSDTCEMember\" },\n0x00EB: { n:\"BrtBeginPCDSDTCQueries\" },\n0x00EC: { n:\"BrtEndPCDSDTCQueries\" },\n0x00ED: { n:\"BrtBeginPCDSDTCQuery\" },\n0x00EE: { n:\"BrtEndPCDSDTCQuery\" },\n0x00EF: { n:\"BrtBeginPCDSDTCSets\" },\n0x00F0: { n:\"BrtEndPCDSDTCSets\" },\n0x00F1: { n:\"BrtBeginPCDSDTCSet\" },\n0x00F2: { n:\"BrtEndPCDSDTCSet\" },\n0x00F3: { n:\"BrtBeginPCDCalcItems\" },\n0x00F4: { n:\"BrtEndPCDCalcItems\" },\n0x00F5: { n:\"BrtBeginPCDCalcItem\" },\n0x00F6: { n:\"BrtEndPCDCalcItem\" },\n0x00F7: { n:\"BrtBeginPRule\" },\n0x00F8: { n:\"BrtEndPRule\" },\n0x00F9: { n:\"BrtBeginPRFilters\" },\n0x00FA: { n:\"BrtEndPRFilters\" },\n0x00FB: { n:\"BrtBeginPRFilter\" },\n0x00FC: { n:\"BrtEndPRFilter\" },\n0x00FD: { n:\"BrtBeginPNames\" },\n0x00FE: { n:\"BrtEndPNames\" },\n0x00FF: { n:\"BrtBeginPName\" },\n0x0100: { n:\"BrtEndPName\" },\n0x0101: { n:\"BrtBeginPNPairs\" },\n0x0102: { n:\"BrtEndPNPairs\" },\n0x0103: { n:\"BrtBeginPNPair\" },\n0x0104: { n:\"BrtEndPNPair\" },\n0x0105: { n:\"BrtBeginECWebProps\" },\n0x0106: { n:\"BrtEndECWebProps\" },\n0x0107: { n:\"BrtBeginEcWpTables\" },\n0x0108: { n:\"BrtEndECWPTables\" },\n0x0109: { n:\"BrtBeginECParams\" },\n0x010A: { n:\"BrtEndECParams\" },\n0x010B: { n:\"BrtBeginECParam\" },\n0x010C: { n:\"BrtEndECParam\" },\n0x010D: { n:\"BrtBeginPCDKPIs\" },\n0x010E: { n:\"BrtEndPCDKPIs\" },\n0x010F: { n:\"BrtBeginPCDKPI\" },\n0x0110: { n:\"BrtEndPCDKPI\" },\n0x0111: { n:\"BrtBeginDims\" },\n0x0112: { n:\"BrtEndDims\" },\n0x0113: { n:\"BrtBeginDim\" },\n0x0114: { n:\"BrtEndDim\" },\n0x0115: { n:\"BrtIndexPartEnd\" },\n0x0116: { n:\"BrtBeginStyleSheet\" },\n0x0117: { n:\"BrtEndStyleSheet\" },\n0x0118: { n:\"BrtBeginSXView\" },\n0x0119: { n:\"BrtEndSXVI\" },\n0x011A: { n:\"BrtBeginSXVI\" },\n0x011B: { n:\"BrtBeginSXVIs\" },\n0x011C: { n:\"BrtEndSXVIs\" },\n0x011D: { n:\"BrtBeginSXVD\" },\n0x011E: { n:\"BrtEndSXVD\" },\n0x011F: { n:\"BrtBeginSXVDs\" },\n0x0120: { n:\"BrtEndSXVDs\" },\n0x0121: { n:\"BrtBeginSXPI\" },\n0x0122: { n:\"BrtEndSXPI\" },\n0x0123: { n:\"BrtBeginSXPIs\" },\n0x0124: { n:\"BrtEndSXPIs\" },\n0x0125: { n:\"BrtBeginSXDI\" },\n0x0126: { n:\"BrtEndSXDI\" },\n0x0127: { n:\"BrtBeginSXDIs\" },\n0x0128: { n:\"BrtEndSXDIs\" },\n0x0129: { n:\"BrtBeginSXLI\" },\n0x012A: { n:\"BrtEndSXLI\" },\n0x012B: { n:\"BrtBeginSXLIRws\" },\n0x012C: { n:\"BrtEndSXLIRws\" },\n0x012D: { n:\"BrtBeginSXLICols\" },\n0x012E: { n:\"BrtEndSXLICols\" },\n0x012F: { n:\"BrtBeginSXFormat\" },\n0x0130: { n:\"BrtEndSXFormat\" },\n0x0131: { n:\"BrtBeginSXFormats\" },\n0x0132: { n:\"BrtEndSxFormats\" },\n0x0133: { n:\"BrtBeginSxSelect\" },\n0x0134: { n:\"BrtEndSxSelect\" },\n0x0135: { n:\"BrtBeginISXVDRws\" },\n0x0136: { n:\"BrtEndISXVDRws\" },\n0x0137: { n:\"BrtBeginISXVDCols\" },\n0x0138: { n:\"BrtEndISXVDCols\" },\n0x0139: { n:\"BrtEndSXLocation\" },\n0x013A: { n:\"BrtBeginSXLocation\" },\n0x013B: { n:\"BrtEndSXView\" },\n0x013C: { n:\"BrtBeginSXTHs\" },\n0x013D: { n:\"BrtEndSXTHs\" },\n0x013E: { n:\"BrtBeginSXTH\" },\n0x013F: { n:\"BrtEndSXTH\" },\n0x0140: { n:\"BrtBeginISXTHRws\" },\n0x0141: { n:\"BrtEndISXTHRws\" },\n0x0142: { n:\"BrtBeginISXTHCols\" },\n0x0143: { n:\"BrtEndISXTHCols\" },\n0x0144: { n:\"BrtBeginSXTDMPS\" },\n0x0145: { n:\"BrtEndSXTDMPs\" },\n0x0146: { n:\"BrtBeginSXTDMP\" },\n0x0147: { n:\"BrtEndSXTDMP\" },\n0x0148: { n:\"BrtBeginSXTHItems\" },\n0x0149: { n:\"BrtEndSXTHItems\" },\n0x014A: { n:\"BrtBeginSXTHItem\" },\n0x014B: { n:\"BrtEndSXTHItem\" },\n0x014C: { n:\"BrtBeginMetadata\" },\n0x014D: { n:\"BrtEndMetadata\" },\n0x014E: { n:\"BrtBeginEsmdtinfo\" },\n0x014F: { n:\"BrtMdtinfo\" },\n0x0150: { n:\"BrtEndEsmdtinfo\" },\n0x0151: { n:\"BrtBeginEsmdb\" },\n0x0152: { n:\"BrtEndEsmdb\" },\n0x0153: { n:\"BrtBeginEsfmd\" },\n0x0154: { n:\"BrtEndEsfmd\" },\n0x0155: { n:\"BrtBeginSingleCells\" },\n0x0156: { n:\"BrtEndSingleCells\" },\n0x0157: { n:\"BrtBeginList\" },\n0x0158: { n:\"BrtEndList\" },\n0x0159: { n:\"BrtBeginListCols\" },\n0x015A: { n:\"BrtEndListCols\" },\n0x015B: { n:\"BrtBeginListCol\" },\n0x015C: { n:\"BrtEndListCol\" },\n0x015D: { n:\"BrtBeginListXmlCPr\" },\n0x015E: { n:\"BrtEndListXmlCPr\" },\n0x015F: { n:\"BrtListCCFmla\" },\n0x0160: { n:\"BrtListTrFmla\" },\n0x0161: { n:\"BrtBeginExternals\" },\n0x0162: { n:\"BrtEndExternals\" },\n0x0163: { n:\"BrtSupBookSrc\", f:parse_RelID},\n0x0165: { n:\"BrtSupSelf\" },\n0x0166: { n:\"BrtSupSame\" },\n0x0167: { n:\"BrtSupTabs\" },\n0x0168: { n:\"BrtBeginSupBook\" },\n0x0169: { n:\"BrtPlaceholderName\" },\n0x016A: { n:\"BrtExternSheet\", f:parse_ExternSheet },\n0x016B: { n:\"BrtExternTableStart\" },\n0x016C: { n:\"BrtExternTableEnd\" },\n0x016E: { n:\"BrtExternRowHdr\" },\n0x016F: { n:\"BrtExternCellBlank\" },\n0x0170: { n:\"BrtExternCellReal\" },\n0x0171: { n:\"BrtExternCellBool\" },\n0x0172: { n:\"BrtExternCellError\" },\n0x0173: { n:\"BrtExternCellString\" },\n0x0174: { n:\"BrtBeginEsmdx\" },\n0x0175: { n:\"BrtEndEsmdx\" },\n0x0176: { n:\"BrtBeginMdxSet\" },\n0x0177: { n:\"BrtEndMdxSet\" },\n0x0178: { n:\"BrtBeginMdxMbrProp\" },\n0x0179: { n:\"BrtEndMdxMbrProp\" },\n0x017A: { n:\"BrtBeginMdxKPI\" },\n0x017B: { n:\"BrtEndMdxKPI\" },\n0x017C: { n:\"BrtBeginEsstr\" },\n0x017D: { n:\"BrtEndEsstr\" },\n0x017E: { n:\"BrtBeginPRFItem\" },\n0x017F: { n:\"BrtEndPRFItem\" },\n0x0180: { n:\"BrtBeginPivotCacheIDs\" },\n0x0181: { n:\"BrtEndPivotCacheIDs\" },\n0x0182: { n:\"BrtBeginPivotCacheID\" },\n0x0183: { n:\"BrtEndPivotCacheID\" },\n0x0184: { n:\"BrtBeginISXVIs\" },\n0x0185: { n:\"BrtEndISXVIs\" },\n0x0186: { n:\"BrtBeginColInfos\" },\n0x0187: { n:\"BrtEndColInfos\" },\n0x0188: { n:\"BrtBeginRwBrk\" },\n0x0189: { n:\"BrtEndRwBrk\" },\n0x018A: { n:\"BrtBeginColBrk\" },\n0x018B: { n:\"BrtEndColBrk\" },\n0x018C: { n:\"BrtBrk\" },\n0x018D: { n:\"BrtUserBookView\" },\n0x018E: { n:\"BrtInfo\" },\n0x018F: { n:\"BrtCUsr\" },\n0x0190: { n:\"BrtUsr\" },\n0x0191: { n:\"BrtBeginUsers\" },\n0x0193: { n:\"BrtEOF\" },\n0x0194: { n:\"BrtUCR\" },\n0x0195: { n:\"BrtRRInsDel\" },\n0x0196: { n:\"BrtRREndInsDel\" },\n0x0197: { n:\"BrtRRMove\" },\n0x0198: { n:\"BrtRREndMove\" },\n0x0199: { n:\"BrtRRChgCell\" },\n0x019A: { n:\"BrtRREndChgCell\" },\n0x019B: { n:\"BrtRRHeader\" },\n0x019C: { n:\"BrtRRUserView\" },\n0x019D: { n:\"BrtRRRenSheet\" },\n0x019E: { n:\"BrtRRInsertSh\" },\n0x019F: { n:\"BrtRRDefName\" },\n0x01A0: { n:\"BrtRRNote\" },\n0x01A1: { n:\"BrtRRConflict\" },\n0x01A2: { n:\"BrtRRTQSIF\" },\n0x01A3: { n:\"BrtRRFormat\" },\n0x01A4: { n:\"BrtRREndFormat\" },\n0x01A5: { n:\"BrtRRAutoFmt\" },\n0x01A6: { n:\"BrtBeginUserShViews\" },\n0x01A7: { n:\"BrtBeginUserShView\" },\n0x01A8: { n:\"BrtEndUserShView\" },\n0x01A9: { n:\"BrtEndUserShViews\" },\n0x01AA: { n:\"BrtArrFmla\", f:parse_BrtArrFmla },\n0x01AB: { n:\"BrtShrFmla\", f:parse_BrtShrFmla },\n0x01AC: { n:\"BrtTable\" },\n0x01AD: { n:\"BrtBeginExtConnections\" },\n0x01AE: { n:\"BrtEndExtConnections\" },\n0x01AF: { n:\"BrtBeginPCDCalcMems\" },\n0x01B0: { n:\"BrtEndPCDCalcMems\" },\n0x01B1: { n:\"BrtBeginPCDCalcMem\" },\n0x01B2: { n:\"BrtEndPCDCalcMem\" },\n0x01B3: { n:\"BrtBeginPCDHGLevels\" },\n0x01B4: { n:\"BrtEndPCDHGLevels\" },\n0x01B5: { n:\"BrtBeginPCDHGLevel\" },\n0x01B6: { n:\"BrtEndPCDHGLevel\" },\n0x01B7: { n:\"BrtBeginPCDHGLGroups\" },\n0x01B8: { n:\"BrtEndPCDHGLGroups\" },\n0x01B9: { n:\"BrtBeginPCDHGLGroup\" },\n0x01BA: { n:\"BrtEndPCDHGLGroup\" },\n0x01BB: { n:\"BrtBeginPCDHGLGMembers\" },\n0x01BC: { n:\"BrtEndPCDHGLGMembers\" },\n0x01BD: { n:\"BrtBeginPCDHGLGMember\" },\n0x01BE: { n:\"BrtEndPCDHGLGMember\" },\n0x01BF: { n:\"BrtBeginQSI\" },\n0x01C0: { n:\"BrtEndQSI\" },\n0x01C1: { n:\"BrtBeginQSIR\" },\n0x01C2: { n:\"BrtEndQSIR\" },\n0x01C3: { n:\"BrtBeginDeletedNames\" },\n0x01C4: { n:\"BrtEndDeletedNames\" },\n0x01C5: { n:\"BrtBeginDeletedName\" },\n0x01C6: { n:\"BrtEndDeletedName\" },\n0x01C7: { n:\"BrtBeginQSIFs\" },\n0x01C8: { n:\"BrtEndQSIFs\" },\n0x01C9: { n:\"BrtBeginQSIF\" },\n0x01CA: { n:\"BrtEndQSIF\" },\n0x01CB: { n:\"BrtBeginAutoSortScope\" },\n0x01CC: { n:\"BrtEndAutoSortScope\" },\n0x01CD: { n:\"BrtBeginConditionalFormatting\" },\n0x01CE: { n:\"BrtEndConditionalFormatting\" },\n0x01CF: { n:\"BrtBeginCFRule\" },\n0x01D0: { n:\"BrtEndCFRule\" },\n0x01D1: { n:\"BrtBeginIconSet\" },\n0x01D2: { n:\"BrtEndIconSet\" },\n0x01D3: { n:\"BrtBeginDatabar\" },\n0x01D4: { n:\"BrtEndDatabar\" },\n0x01D5: { n:\"BrtBeginColorScale\" },\n0x01D6: { n:\"BrtEndColorScale\" },\n0x01D7: { n:\"BrtCFVO\" },\n0x01D8: { n:\"BrtExternValueMeta\" },\n0x01D9: { n:\"BrtBeginColorPalette\" },\n0x01DA: { n:\"BrtEndColorPalette\" },\n0x01DB: { n:\"BrtIndexedColor\" },\n0x01DC: { n:\"BrtMargins\", f:parse_BrtMargins },\n0x01DD: { n:\"BrtPrintOptions\" },\n0x01DE: { n:\"BrtPageSetup\" },\n0x01DF: { n:\"BrtBeginHeaderFooter\" },\n0x01E0: { n:\"BrtEndHeaderFooter\" },\n0x01E1: { n:\"BrtBeginSXCrtFormat\" },\n0x01E2: { n:\"BrtEndSXCrtFormat\" },\n0x01E3: { n:\"BrtBeginSXCrtFormats\" },\n0x01E4: { n:\"BrtEndSXCrtFormats\" },\n0x01E5: { n:\"BrtWsFmtInfo\", f:parse_BrtWsFmtInfo },\n0x01E6: { n:\"BrtBeginMgs\" },\n0x01E7: { n:\"BrtEndMGs\" },\n0x01E8: { n:\"BrtBeginMGMaps\" },\n0x01E9: { n:\"BrtEndMGMaps\" },\n0x01EA: { n:\"BrtBeginMG\" },\n0x01EB: { n:\"BrtEndMG\" },\n0x01EC: { n:\"BrtBeginMap\" },\n0x01ED: { n:\"BrtEndMap\" },\n0x01EE: { n:\"BrtHLink\", f:parse_BrtHLink },\n0x01EF: { n:\"BrtBeginDCon\" },\n0x01F0: { n:\"BrtEndDCon\" },\n0x01F1: { n:\"BrtBeginDRefs\" },\n0x01F2: { n:\"BrtEndDRefs\" },\n0x01F3: { n:\"BrtDRef\" },\n0x01F4: { n:\"BrtBeginScenMan\" },\n0x01F5: { n:\"BrtEndScenMan\" },\n0x01F6: { n:\"BrtBeginSct\" },\n0x01F7: { n:\"BrtEndSct\" },\n0x01F8: { n:\"BrtSlc\" },\n0x01F9: { n:\"BrtBeginDXFs\" },\n0x01FA: { n:\"BrtEndDXFs\" },\n0x01FB: { n:\"BrtDXF\" },\n0x01FC: { n:\"BrtBeginTableStyles\" },\n0x01FD: { n:\"BrtEndTableStyles\" },\n0x01FE: { n:\"BrtBeginTableStyle\" },\n0x01FF: { n:\"BrtEndTableStyle\" },\n0x0200: { n:\"BrtTableStyleElement\" },\n0x0201: { n:\"BrtTableStyleClient\" },\n0x0202: { n:\"BrtBeginVolDeps\" },\n0x0203: { n:\"BrtEndVolDeps\" },\n0x0204: { n:\"BrtBeginVolType\" },\n0x0205: { n:\"BrtEndVolType\" },\n0x0206: { n:\"BrtBeginVolMain\" },\n0x0207: { n:\"BrtEndVolMain\" },\n0x0208: { n:\"BrtBeginVolTopic\" },\n0x0209: { n:\"BrtEndVolTopic\" },\n0x020A: { n:\"BrtVolSubtopic\" },\n0x020B: { n:\"BrtVolRef\" },\n0x020C: { n:\"BrtVolNum\" },\n0x020D: { n:\"BrtVolErr\" },\n0x020E: { n:\"BrtVolStr\" },\n0x020F: { n:\"BrtVolBool\" },\n0x0210: { n:\"BrtBeginCalcChain$\" },\n0x0211: { n:\"BrtEndCalcChain$\" },\n0x0212: { n:\"BrtBeginSortState\" },\n0x0213: { n:\"BrtEndSortState\" },\n0x0214: { n:\"BrtBeginSortCond\" },\n0x0215: { n:\"BrtEndSortCond\" },\n0x0216: { n:\"BrtBookProtection\" },\n0x0217: { n:\"BrtSheetProtection\" },\n0x0218: { n:\"BrtRangeProtection\" },\n0x0219: { n:\"BrtPhoneticInfo\" },\n0x021A: { n:\"BrtBeginECTxtWiz\" },\n0x021B: { n:\"BrtEndECTxtWiz\" },\n0x021C: { n:\"BrtBeginECTWFldInfoLst\" },\n0x021D: { n:\"BrtEndECTWFldInfoLst\" },\n0x021E: { n:\"BrtBeginECTwFldInfo\" },\n0x0224: { n:\"BrtFileSharing\" },\n0x0225: { n:\"BrtOleSize\" },\n0x0226: { n:\"BrtDrawing\", f:parse_RelID },\n0x0227: { n:\"BrtLegacyDrawing\" },\n0x0228: { n:\"BrtLegacyDrawingHF\" },\n0x0229: { n:\"BrtWebOpt\" },\n0x022A: { n:\"BrtBeginWebPubItems\" },\n0x022B: { n:\"BrtEndWebPubItems\" },\n0x022C: { n:\"BrtBeginWebPubItem\" },\n0x022D: { n:\"BrtEndWebPubItem\" },\n0x022E: { n:\"BrtBeginSXCondFmt\" },\n0x022F: { n:\"BrtEndSXCondFmt\" },\n0x0230: { n:\"BrtBeginSXCondFmts\" },\n0x0231: { n:\"BrtEndSXCondFmts\" },\n0x0232: { n:\"BrtBkHim\" },\n0x0234: { n:\"BrtColor\" },\n0x0235: { n:\"BrtBeginIndexedColors\" },\n0x0236: { n:\"BrtEndIndexedColors\" },\n0x0239: { n:\"BrtBeginMRUColors\" },\n0x023A: { n:\"BrtEndMRUColors\" },\n0x023C: { n:\"BrtMRUColor\" },\n0x023D: { n:\"BrtBeginDVals\" },\n0x023E: { n:\"BrtEndDVals\" },\n0x0241: { n:\"BrtSupNameStart\" },\n0x0242: { n:\"BrtSupNameValueStart\" },\n0x0243: { n:\"BrtSupNameValueEnd\" },\n0x0244: { n:\"BrtSupNameNum\" },\n0x0245: { n:\"BrtSupNameErr\" },\n0x0246: { n:\"BrtSupNameSt\" },\n0x0247: { n:\"BrtSupNameNil\" },\n0x0248: { n:\"BrtSupNameBool\" },\n0x0249: { n:\"BrtSupNameFmla\" },\n0x024A: { n:\"BrtSupNameBits\" },\n0x024B: { n:\"BrtSupNameEnd\" },\n0x024C: { n:\"BrtEndSupBook\" },\n0x024D: { n:\"BrtCellSmartTagProperty\" },\n0x024E: { n:\"BrtBeginCellSmartTag\" },\n0x024F: { n:\"BrtEndCellSmartTag\" },\n0x0250: { n:\"BrtBeginCellSmartTags\" },\n0x0251: { n:\"BrtEndCellSmartTags\" },\n0x0252: { n:\"BrtBeginSmartTags\" },\n0x0253: { n:\"BrtEndSmartTags\" },\n0x0254: { n:\"BrtSmartTagType\" },\n0x0255: { n:\"BrtBeginSmartTagTypes\" },\n0x0256: { n:\"BrtEndSmartTagTypes\" },\n0x0257: { n:\"BrtBeginSXFilters\" },\n0x0258: { n:\"BrtEndSXFilters\" },\n0x0259: { n:\"BrtBeginSXFILTER\" },\n0x025A: { n:\"BrtEndSXFilter\" },\n0x025B: { n:\"BrtBeginFills\" },\n0x025C: { n:\"BrtEndFills\" },\n0x025D: { n:\"BrtBeginCellWatches\" },\n0x025E: { n:\"BrtEndCellWatches\" },\n0x025F: { n:\"BrtCellWatch\" },\n0x0260: { n:\"BrtBeginCRErrs\" },\n0x0261: { n:\"BrtEndCRErrs\" },\n0x0262: { n:\"BrtCrashRecErr\" },\n0x0263: { n:\"BrtBeginFonts\" },\n0x0264: { n:\"BrtEndFonts\" },\n0x0265: { n:\"BrtBeginBorders\" },\n0x0266: { n:\"BrtEndBorders\" },\n0x0267: { n:\"BrtBeginFmts\" },\n0x0268: { n:\"BrtEndFmts\" },\n0x0269: { n:\"BrtBeginCellXFs\" },\n0x026A: { n:\"BrtEndCellXFs\" },\n0x026B: { n:\"BrtBeginStyles\" },\n0x026C: { n:\"BrtEndStyles\" },\n0x0271: { n:\"BrtBigName\" },\n0x0272: { n:\"BrtBeginCellStyleXFs\" },\n0x0273: { n:\"BrtEndCellStyleXFs\" },\n0x0274: { n:\"BrtBeginComments\" },\n0x0275: { n:\"BrtEndComments\" },\n0x0276: { n:\"BrtBeginCommentAuthors\" },\n0x0277: { n:\"BrtEndCommentAuthors\" },\n0x0278: { n:\"BrtCommentAuthor\", f:parse_BrtCommentAuthor },\n0x0279: { n:\"BrtBeginCommentList\" },\n0x027A: { n:\"BrtEndCommentList\" },\n0x027B: { n:\"BrtBeginComment\", f:parse_BrtBeginComment},\n0x027C: { n:\"BrtEndComment\" },\n0x027D: { n:\"BrtCommentText\", f:parse_BrtCommentText },\n0x027E: { n:\"BrtBeginOleObjects\" },\n0x027F: { n:\"BrtOleObject\" },\n0x0280: { n:\"BrtEndOleObjects\" },\n0x0281: { n:\"BrtBeginSxrules\" },\n0x0282: { n:\"BrtEndSxRules\" },\n0x0283: { n:\"BrtBeginActiveXControls\" },\n0x0284: { n:\"BrtActiveX\" },\n0x0285: { n:\"BrtEndActiveXControls\" },\n0x0286: { n:\"BrtBeginPCDSDTCEMembersSortBy\" },\n0x0288: { n:\"BrtBeginCellIgnoreECs\" },\n0x0289: { n:\"BrtCellIgnoreEC\" },\n0x028A: { n:\"BrtEndCellIgnoreECs\" },\n0x028B: { n:\"BrtCsProp\", f:parse_BrtCsProp },\n0x028C: { n:\"BrtCsPageSetup\" },\n0x028D: { n:\"BrtBeginUserCsViews\" },\n0x028E: { n:\"BrtEndUserCsViews\" },\n0x028F: { n:\"BrtBeginUserCsView\" },\n0x0290: { n:\"BrtEndUserCsView\" },\n0x0291: { n:\"BrtBeginPcdSFCIEntries\" },\n0x0292: { n:\"BrtEndPCDSFCIEntries\" },\n0x0293: { n:\"BrtPCDSFCIEntry\" },\n0x0294: { n:\"BrtBeginListParts\" },\n0x0295: { n:\"BrtListPart\" },\n0x0296: { n:\"BrtEndListParts\" },\n0x0297: { n:\"BrtSheetCalcProp\" },\n0x0298: { n:\"BrtBeginFnGroup\" },\n0x0299: { n:\"BrtFnGroup\" },\n0x029A: { n:\"BrtEndFnGroup\" },\n0x029B: { n:\"BrtSupAddin\" },\n0x029C: { n:\"BrtSXTDMPOrder\" },\n0x029D: { n:\"BrtCsProtection\" },\n0x029F: { n:\"BrtBeginWsSortMap\" },\n0x02A0: { n:\"BrtEndWsSortMap\" },\n0x02A1: { n:\"BrtBeginRRSort\" },\n0x02A2: { n:\"BrtEndRRSort\" },\n0x02A3: { n:\"BrtRRSortItem\" },\n0x02A4: { n:\"BrtFileSharingIso\" },\n0x02A5: { n:\"BrtBookProtectionIso\" },\n0x02A6: { n:\"BrtSheetProtectionIso\" },\n0x02A7: { n:\"BrtCsProtectionIso\" },\n0x02A8: { n:\"BrtRangeProtectionIso\" },\n0x0400: { n:\"BrtRwDescent\" },\n0x0401: { n:\"BrtKnownFonts\" },\n0x0402: { n:\"BrtBeginSXTupleSet\" },\n0x0403: { n:\"BrtEndSXTupleSet\" },\n0x0404: { n:\"BrtBeginSXTupleSetHeader\" },\n0x0405: { n:\"BrtEndSXTupleSetHeader\" },\n0x0406: { n:\"BrtSXTupleSetHeaderItem\" },\n0x0407: { n:\"BrtBeginSXTupleSetData\" },\n0x0408: { n:\"BrtEndSXTupleSetData\" },\n0x0409: { n:\"BrtBeginSXTupleSetRow\" },\n0x040A: { n:\"BrtEndSXTupleSetRow\" },\n0x040B: { n:\"BrtSXTupleSetRowItem\" },\n0x040C: { n:\"BrtNameExt\" },\n0x040D: { n:\"BrtPCDH14\" },\n0x040E: { n:\"BrtBeginPCDCalcMem14\" },\n0x040F: { n:\"BrtEndPCDCalcMem14\" },\n0x0410: { n:\"BrtSXTH14\" },\n0x0411: { n:\"BrtBeginSparklineGroup\" },\n0x0412: { n:\"BrtEndSparklineGroup\" },\n0x0413: { n:\"BrtSparkline\" },\n0x0414: { n:\"BrtSXDI14\" },\n0x0415: { n:\"BrtWsFmtInfoEx14\" },\n0x0416: { n:\"BrtBeginConditionalFormatting14\" },\n0x0417: { n:\"BrtEndConditionalFormatting14\" },\n0x0418: { n:\"BrtBeginCFRule14\" },\n0x0419: { n:\"BrtEndCFRule14\" },\n0x041A: { n:\"BrtCFVO14\" },\n0x041B: { n:\"BrtBeginDatabar14\" },\n0x041C: { n:\"BrtBeginIconSet14\" },\n0x041D: { n:\"BrtDVal14\" },\n0x041E: { n:\"BrtBeginDVals14\" },\n0x041F: { n:\"BrtColor14\" },\n0x0420: { n:\"BrtBeginSparklines\" },\n0x0421: { n:\"BrtEndSparklines\" },\n0x0422: { n:\"BrtBeginSparklineGroups\" },\n0x0423: { n:\"BrtEndSparklineGroups\" },\n0x0425: { n:\"BrtSXVD14\" },\n0x0426: { n:\"BrtBeginSXView14\" },\n0x0427: { n:\"BrtEndSXView14\" },\n0x0428: { n:\"BrtBeginSXView16\" },\n0x0429: { n:\"BrtEndSXView16\" },\n0x042A: { n:\"BrtBeginPCD14\" },\n0x042B: { n:\"BrtEndPCD14\" },\n0x042C: { n:\"BrtBeginExtConn14\" },\n0x042D: { n:\"BrtEndExtConn14\" },\n0x042E: { n:\"BrtBeginSlicerCacheIDs\" },\n0x042F: { n:\"BrtEndSlicerCacheIDs\" },\n0x0430: { n:\"BrtBeginSlicerCacheID\" },\n0x0431: { n:\"BrtEndSlicerCacheID\" },\n0x0433: { n:\"BrtBeginSlicerCache\" },\n0x0434: { n:\"BrtEndSlicerCache\" },\n0x0435: { n:\"BrtBeginSlicerCacheDef\" },\n0x0436: { n:\"BrtEndSlicerCacheDef\" },\n0x0437: { n:\"BrtBeginSlicersEx\" },\n0x0438: { n:\"BrtEndSlicersEx\" },\n0x0439: { n:\"BrtBeginSlicerEx\" },\n0x043A: { n:\"BrtEndSlicerEx\" },\n0x043B: { n:\"BrtBeginSlicer\" },\n0x043C: { n:\"BrtEndSlicer\" },\n0x043D: { n:\"BrtSlicerCachePivotTables\" },\n0x043E: { n:\"BrtBeginSlicerCacheOlapImpl\" },\n0x043F: { n:\"BrtEndSlicerCacheOlapImpl\" },\n0x0440: { n:\"BrtBeginSlicerCacheLevelsData\" },\n0x0441: { n:\"BrtEndSlicerCacheLevelsData\" },\n0x0442: { n:\"BrtBeginSlicerCacheLevelData\" },\n0x0443: { n:\"BrtEndSlicerCacheLevelData\" },\n0x0444: { n:\"BrtBeginSlicerCacheSiRanges\" },\n0x0445: { n:\"BrtEndSlicerCacheSiRanges\" },\n0x0446: { n:\"BrtBeginSlicerCacheSiRange\" },\n0x0447: { n:\"BrtEndSlicerCacheSiRange\" },\n0x0448: { n:\"BrtSlicerCacheOlapItem\" },\n0x0449: { n:\"BrtBeginSlicerCacheSelections\" },\n0x044A: { n:\"BrtSlicerCacheSelection\" },\n0x044B: { n:\"BrtEndSlicerCacheSelections\" },\n0x044C: { n:\"BrtBeginSlicerCacheNative\" },\n0x044D: { n:\"BrtEndSlicerCacheNative\" },\n0x044E: { n:\"BrtSlicerCacheNativeItem\" },\n0x044F: { n:\"BrtRangeProtection14\" },\n0x0450: { n:\"BrtRangeProtectionIso14\" },\n0x0451: { n:\"BrtCellIgnoreEC14\" },\n0x0457: { n:\"BrtList14\" },\n0x0458: { n:\"BrtCFIcon\" },\n0x0459: { n:\"BrtBeginSlicerCachesPivotCacheIDs\" },\n0x045A: { n:\"BrtEndSlicerCachesPivotCacheIDs\" },\n0x045B: { n:\"BrtBeginSlicers\" },\n0x045C: { n:\"BrtEndSlicers\" },\n0x045D: { n:\"BrtWbProp14\" },\n0x045E: { n:\"BrtBeginSXEdit\" },\n0x045F: { n:\"BrtEndSXEdit\" },\n0x0460: { n:\"BrtBeginSXEdits\" },\n0x0461: { n:\"BrtEndSXEdits\" },\n0x0462: { n:\"BrtBeginSXChange\" },\n0x0463: { n:\"BrtEndSXChange\" },\n0x0464: { n:\"BrtBeginSXChanges\" },\n0x0465: { n:\"BrtEndSXChanges\" },\n0x0466: { n:\"BrtSXTupleItems\" },\n0x0468: { n:\"BrtBeginSlicerStyle\" },\n0x0469: { n:\"BrtEndSlicerStyle\" },\n0x046A: { n:\"BrtSlicerStyleElement\" },\n0x046B: { n:\"BrtBeginStyleSheetExt14\" },\n0x046C: { n:\"BrtEndStyleSheetExt14\" },\n0x046D: { n:\"BrtBeginSlicerCachesPivotCacheID\" },\n0x046E: { n:\"BrtEndSlicerCachesPivotCacheID\" },\n0x046F: { n:\"BrtBeginConditionalFormattings\" },\n0x0470: { n:\"BrtEndConditionalFormattings\" },\n0x0471: { n:\"BrtBeginPCDCalcMemExt\" },\n0x0472: { n:\"BrtEndPCDCalcMemExt\" },\n0x0473: { n:\"BrtBeginPCDCalcMemsExt\" },\n0x0474: { n:\"BrtEndPCDCalcMemsExt\" },\n0x0475: { n:\"BrtPCDField14\" },\n0x0476: { n:\"BrtBeginSlicerStyles\" },\n0x0477: { n:\"BrtEndSlicerStyles\" },\n0x0478: { n:\"BrtBeginSlicerStyleElements\" },\n0x0479: { n:\"BrtEndSlicerStyleElements\" },\n0x047A: { n:\"BrtCFRuleExt\" },\n0x047B: { n:\"BrtBeginSXCondFmt14\" },\n0x047C: { n:\"BrtEndSXCondFmt14\" },\n0x047D: { n:\"BrtBeginSXCondFmts14\" },\n0x047E: { n:\"BrtEndSXCondFmts14\" },\n0x0480: { n:\"BrtBeginSortCond14\" },\n0x0481: { n:\"BrtEndSortCond14\" },\n0x0482: { n:\"BrtEndDVals14\" },\n0x0483: { n:\"BrtEndIconSet14\" },\n0x0484: { n:\"BrtEndDatabar14\" },\n0x0485: { n:\"BrtBeginColorScale14\" },\n0x0486: { n:\"BrtEndColorScale14\" },\n0x0487: { n:\"BrtBeginSxrules14\" },\n0x0488: { n:\"BrtEndSxrules14\" },\n0x0489: { n:\"BrtBeginPRule14\" },\n0x048A: { n:\"BrtEndPRule14\" },\n0x048B: { n:\"BrtBeginPRFilters14\" },\n0x048C: { n:\"BrtEndPRFilters14\" },\n0x048D: { n:\"BrtBeginPRFilter14\" },\n0x048E: { n:\"BrtEndPRFilter14\" },\n0x048F: { n:\"BrtBeginPRFItem14\" },\n0x0490: { n:\"BrtEndPRFItem14\" },\n0x0491: { n:\"BrtBeginCellIgnoreECs14\" },\n0x0492: { n:\"BrtEndCellIgnoreECs14\" },\n0x0493: { n:\"BrtDxf14\" },\n0x0494: { n:\"BrtBeginDxF14s\" },\n0x0495: { n:\"BrtEndDxf14s\" },\n0x0499: { n:\"BrtFilter14\" },\n0x049A: { n:\"BrtBeginCustomFilters14\" },\n0x049C: { n:\"BrtCustomFilter14\" },\n0x049D: { n:\"BrtIconFilter14\" },\n0x049E: { n:\"BrtPivotCacheConnectionName\" },\n0x0800: { n:\"BrtBeginDecoupledPivotCacheIDs\" },\n0x0801: { n:\"BrtEndDecoupledPivotCacheIDs\" },\n0x0802: { n:\"BrtDecoupledPivotCacheID\" },\n0x0803: { n:\"BrtBeginPivotTableRefs\" },\n0x0804: { n:\"BrtEndPivotTableRefs\" },\n0x0805: { n:\"BrtPivotTableRef\" },\n0x0806: { n:\"BrtSlicerCacheBookPivotTables\" },\n0x0807: { n:\"BrtBeginSxvcells\" },\n0x0808: { n:\"BrtEndSxvcells\" },\n0x0809: { n:\"BrtBeginSxRow\" },\n0x080A: { n:\"BrtEndSxRow\" },\n0x080C: { n:\"BrtPcdCalcMem15\" },\n0x0813: { n:\"BrtQsi15\" },\n0x0814: { n:\"BrtBeginWebExtensions\" },\n0x0815: { n:\"BrtEndWebExtensions\" },\n0x0816: { n:\"BrtWebExtension\" },\n0x0817: { n:\"BrtAbsPath15\" },\n0x0818: { n:\"BrtBeginPivotTableUISettings\" },\n0x0819: { n:\"BrtEndPivotTableUISettings\" },\n0x081B: { n:\"BrtTableSlicerCacheIDs\" },\n0x081C: { n:\"BrtTableSlicerCacheID\" },\n0x081D: { n:\"BrtBeginTableSlicerCache\" },\n0x081E: { n:\"BrtEndTableSlicerCache\" },\n0x081F: { n:\"BrtSxFilter15\" },\n0x0820: { n:\"BrtBeginTimelineCachePivotCacheIDs\" },\n0x0821: { n:\"BrtEndTimelineCachePivotCacheIDs\" },\n0x0822: { n:\"BrtTimelineCachePivotCacheID\" },\n0x0823: { n:\"BrtBeginTimelineCacheIDs\" },\n0x0824: { n:\"BrtEndTimelineCacheIDs\" },\n0x0825: { n:\"BrtBeginTimelineCacheID\" },\n0x0826: { n:\"BrtEndTimelineCacheID\" },\n0x0827: { n:\"BrtBeginTimelinesEx\" },\n0x0828: { n:\"BrtEndTimelinesEx\" },\n0x0829: { n:\"BrtBeginTimelineEx\" },\n0x082A: { n:\"BrtEndTimelineEx\" },\n0x082B: { n:\"BrtWorkBookPr15\" },\n0x082C: { n:\"BrtPCDH15\" },\n0x082D: { n:\"BrtBeginTimelineStyle\" },\n0x082E: { n:\"BrtEndTimelineStyle\" },\n0x082F: { n:\"BrtTimelineStyleElement\" },\n0x0830: { n:\"BrtBeginTimelineStylesheetExt15\" },\n0x0831: { n:\"BrtEndTimelineStylesheetExt15\" },\n0x0832: { n:\"BrtBeginTimelineStyles\" },\n0x0833: { n:\"BrtEndTimelineStyles\" },\n0x0834: { n:\"BrtBeginTimelineStyleElements\" },\n0x0835: { n:\"BrtEndTimelineStyleElements\" },\n0x0836: { n:\"BrtDxf15\" },\n0x0837: { n:\"BrtBeginDxfs15\" },\n0x0838: { n:\"brtEndDxfs15\" },\n0x0839: { n:\"BrtSlicerCacheHideItemsWithNoData\" },\n0x083A: { n:\"BrtBeginItemUniqueNames\" },\n0x083B: { n:\"BrtEndItemUniqueNames\" },\n0x083C: { n:\"BrtItemUniqueName\" },\n0x083D: { n:\"BrtBeginExtConn15\" },\n0x083E: { n:\"BrtEndExtConn15\" },\n0x083F: { n:\"BrtBeginOledbPr15\" },\n0x0840: { n:\"BrtEndOledbPr15\" },\n0x0841: { n:\"BrtBeginDataFeedPr15\" },\n0x0842: { n:\"BrtEndDataFeedPr15\" },\n0x0843: { n:\"BrtTextPr15\" },\n0x0844: { n:\"BrtRangePr15\" },\n0x0845: { n:\"BrtDbCommand15\" },\n0x0846: { n:\"BrtBeginDbTables15\" },\n0x0847: { n:\"BrtEndDbTables15\" },\n0x0848: { n:\"BrtDbTable15\" },\n0x0849: { n:\"BrtBeginDataModel\" },\n0x084A: { n:\"BrtEndDataModel\" },\n0x084B: { n:\"BrtBeginModelTables\" },\n0x084C: { n:\"BrtEndModelTables\" },\n0x084D: { n:\"BrtModelTable\" },\n0x084E: { n:\"BrtBeginModelRelationships\" },\n0x084F: { n:\"BrtEndModelRelationships\" },\n0x0850: { n:\"BrtModelRelationship\" },\n0x0851: { n:\"BrtBeginECTxtWiz15\" },\n0x0852: { n:\"BrtEndECTxtWiz15\" },\n0x0853: { n:\"BrtBeginECTWFldInfoLst15\" },\n0x0854: { n:\"BrtEndECTWFldInfoLst15\" },\n0x0855: { n:\"BrtBeginECTWFldInfo15\" },\n0x0856: { n:\"BrtFieldListActiveItem\" },\n0x0857: { n:\"BrtPivotCacheIdVersion\" },\n0x0858: { n:\"BrtSXDI15\" },\n0x0859: { n:\"BrtBeginModelTimeGroupings\" },\n0x085A: { n:\"BrtEndModelTimeGroupings\" },\n0x085B: { n:\"BrtBeginModelTimeGrouping\" },\n0x085C: { n:\"BrtEndModelTimeGrouping\" },\n0x085D: { n:\"BrtModelTimeGroupingCalcCol\" },\n0x0C00: { n:\"BrtUid\" },\n0x0C01: { n:\"BrtRevisionPtr\" },\n0x13e7: { n:\"BrtBeginCalcFeatures\" },\n0x13e8: { n:\"BrtEndCalcFeatures\" },\n0x13e9: { n:\"BrtCalcFeature\" },\n0xFFFF: { n:\"\" }\n};\n\nvar XLSBRE = evert_key(XLSBRecordEnum, 'n');\n\n/* [MS-XLS] 2.3 Record Enumeration */\nvar XLSRecordEnum = {\n0x0003: { n:\"BIFF2NUM\", f:parse_BIFF2NUM },\n0x0004: { n:\"BIFF2STR\", f:parse_BIFF2STR },\n0x0006: { n:\"Formula\", f:parse_Formula },\n0x0009: { n:'BOF', f:parse_BOF },\n0x000a: { n:'EOF', f:parsenoop2 },\n0x000c: { n:\"CalcCount\", f:parseuint16 },\n0x000d: { n:\"CalcMode\", f:parseuint16 },\n0x000e: { n:\"CalcPrecision\", f:parsebool },\n0x000f: { n:\"CalcRefMode\", f:parsebool },\n0x0010: { n:\"CalcDelta\", f:parse_Xnum },\n0x0011: { n:\"CalcIter\", f:parsebool },\n0x0012: { n:\"Protect\", f:parsebool },\n0x0013: { n:\"Password\", f:parseuint16 },\n0x0014: { n:\"Header\", f:parse_XLHeaderFooter },\n0x0015: { n:\"Footer\", f:parse_XLHeaderFooter },\n0x0017: { n:\"ExternSheet\", f:parse_ExternSheet },\n0x0018: { n:\"Lbl\", f:parse_Lbl },\n0x0019: { n:\"WinProtect\", f:parsebool },\n0x001a: { n:\"VerticalPageBreaks\" },\n0x001b: { n:\"HorizontalPageBreaks\" },\n0x001c: { n:\"Note\", f:parse_Note },\n0x001d: { n:\"Selection\" },\n0x0022: { n:\"Date1904\", f:parsebool },\n0x0023: { n:\"ExternName\", f:parse_ExternName },\n0x0026: { n:\"LeftMargin\", f:parse_Xnum },\n0x0027: { n:\"RightMargin\", f:parse_Xnum },\n0x0028: { n:\"TopMargin\", f:parse_Xnum },\n0x0029: { n:\"BottomMargin\", f:parse_Xnum },\n0x002a: { n:\"PrintRowCol\", f:parsebool },\n0x002b: { n:\"PrintGrid\", f:parsebool },\n0x002f: { n:\"FilePass\", f:parse_FilePass },\n0x0031: { n:\"Font\", f:parse_Font },\n0x0033: { n:\"PrintSize\", f:parseuint16 },\n0x003c: { n:\"Continue\" },\n0x003d: { n:\"Window1\", f:parse_Window1 },\n0x0040: { n:\"Backup\", f:parsebool },\n0x0041: { n:\"Pane\" },\n0x0042: { n:'CodePage', f:parseuint16 },\n0x004d: { n:\"Pls\" },\n0x0050: { n:\"DCon\" },\n0x0051: { n:\"DConRef\" },\n0x0052: { n:\"DConName\" },\n0x0055: { n:\"DefColWidth\", f:parseuint16 },\n0x0059: { n:\"XCT\" },\n0x005a: { n:\"CRN\" },\n0x005b: { n:\"FileSharing\" },\n0x005c: { n:'WriteAccess', f:parse_WriteAccess },\n0x005d: { n:\"Obj\", f:parse_Obj },\n0x005e: { n:\"Uncalced\" },\n0x005f: { n:\"CalcSaveRecalc\", f:parsebool },\n0x0060: { n:\"Template\" },\n0x0061: { n:\"Intl\" },\n0x0063: { n:\"ObjProtect\", f:parsebool },\n0x007d: { n:\"ColInfo\", f:parse_ColInfo },\n0x0080: { n:\"Guts\", f:parse_Guts },\n0x0081: { n:\"WsBool\", f:parse_WsBool },\n0x0082: { n:\"GridSet\", f:parseuint16 },\n0x0083: { n:\"HCenter\", f:parsebool },\n0x0084: { n:\"VCenter\", f:parsebool },\n0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 },\n0x0086: { n:\"WriteProtect\" },\n0x008c: { n:\"Country\", f:parse_Country },\n0x008d: { n:\"HideObj\", f:parseuint16 },\n0x0090: { n:\"Sort\" },\n0x0092: { n:\"Palette\", f:parse_Palette },\n0x0097: { n:\"Sync\" },\n0x0098: { n:\"LPr\" },\n0x0099: { n:\"DxGCol\" },\n0x009a: { n:\"FnGroupName\" },\n0x009b: { n:\"FilterMode\" },\n0x009c: { n:\"BuiltInFnGroupCount\", f:parseuint16 },\n0x009d: { n:\"AutoFilterInfo\" },\n0x009e: { n:\"AutoFilter\" },\n0x00a0: { n:\"Scl\", f:parse_Scl },\n0x00a1: { n:\"Setup\", f:parse_Setup },\n0x00ae: { n:\"ScenMan\" },\n0x00af: { n:\"SCENARIO\" },\n0x00b0: { n:\"SxView\" },\n0x00b1: { n:\"Sxvd\" },\n0x00b2: { n:\"SXVI\" },\n0x00b4: { n:\"SxIvd\" },\n0x00b5: { n:\"SXLI\" },\n0x00b6: { n:\"SXPI\" },\n0x00b8: { n:\"DocRoute\" },\n0x00b9: { n:\"RecipName\" },\n0x00bd: { n:\"MulRk\", f:parse_MulRk },\n0x00be: { n:\"MulBlank\", f:parse_MulBlank },\n0x00c1: { n:'Mms', f:parsenoop2 },\n0x00c5: { n:\"SXDI\" },\n0x00c6: { n:\"SXDB\" },\n0x00c7: { n:\"SXFDB\" },\n0x00c8: { n:\"SXDBB\" },\n0x00c9: { n:\"SXNum\" },\n0x00ca: { n:\"SxBool\", f:parsebool },\n0x00cb: { n:\"SxErr\" },\n0x00cc: { n:\"SXInt\" },\n0x00cd: { n:\"SXString\" },\n0x00ce: { n:\"SXDtr\" },\n0x00cf: { n:\"SxNil\" },\n0x00d0: { n:\"SXTbl\" },\n0x00d1: { n:\"SXTBRGIITM\" },\n0x00d2: { n:\"SxTbpg\" },\n0x00d3: { n:\"ObProj\" },\n0x00d5: { n:\"SXStreamID\" },\n0x00d7: { n:\"DBCell\" },\n0x00d8: { n:\"SXRng\" },\n0x00d9: { n:\"SxIsxoper\" },\n0x00da: { n:\"BookBool\", f:parseuint16 },\n0x00dc: { n:\"DbOrParamQry\" },\n0x00dd: { n:\"ScenarioProtect\", f:parsebool },\n0x00de: { n:\"OleObjectSize\" },\n0x00e0: { n:\"XF\", f:parse_XF },\n0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr },\n0x00e2: { n:'InterfaceEnd', f:parsenoop2 },\n0x00e3: { n:\"SXVS\" },\n0x00e5: { n:\"MergeCells\", f:parse_MergeCells },\n0x00e9: { n:\"BkHim\" },\n0x00eb: { n:\"MsoDrawingGroup\" },\n0x00ec: { n:\"MsoDrawing\" },\n0x00ed: { n:\"MsoDrawingSelection\" },\n0x00ef: { n:\"PhoneticInfo\" },\n0x00f0: { n:\"SxRule\" },\n0x00f1: { n:\"SXEx\" },\n0x00f2: { n:\"SxFilt\" },\n0x00f4: { n:\"SxDXF\" },\n0x00f5: { n:\"SxItm\" },\n0x00f6: { n:\"SxName\" },\n0x00f7: { n:\"SxSelect\" },\n0x00f8: { n:\"SXPair\" },\n0x00f9: { n:\"SxFmla\" },\n0x00fb: { n:\"SxFormat\" },\n0x00fc: { n:\"SST\", f:parse_SST },\n0x00fd: { n:\"LabelSst\", f:parse_LabelSst },\n0x00ff: { n:\"ExtSST\", f:parse_ExtSST },\n0x0100: { n:\"SXVDEx\" },\n0x0103: { n:\"SXFormula\" },\n0x0122: { n:\"SXDBEx\" },\n0x0137: { n:\"RRDInsDel\" },\n0x0138: { n:\"RRDHead\" },\n0x013b: { n:\"RRDChgCell\" },\n0x013d: { n:\"RRTabId\", f:parseuint16a },\n0x013e: { n:\"RRDRenSheet\" },\n0x013f: { n:\"RRSort\" },\n0x0140: { n:\"RRDMove\" },\n0x014a: { n:\"RRFormat\" },\n0x014b: { n:\"RRAutoFmt\" },\n0x014d: { n:\"RRInsertSh\" },\n0x014e: { n:\"RRDMoveBegin\" },\n0x014f: { n:\"RRDMoveEnd\" },\n0x0150: { n:\"RRDInsDelBegin\" },\n0x0151: { n:\"RRDInsDelEnd\" },\n0x0152: { n:\"RRDConflict\" },\n0x0153: { n:\"RRDDefName\" },\n0x0154: { n:\"RRDRstEtxp\" },\n0x015f: { n:\"LRng\" },\n0x0160: { n:\"UsesELFs\", f:parsebool },\n0x0161: { n:\"DSF\", f:parsenoop2 },\n0x0191: { n:\"CUsr\" },\n0x0192: { n:\"CbUsr\" },\n0x0193: { n:\"UsrInfo\" },\n0x0194: { n:\"UsrExcl\" },\n0x0195: { n:\"FileLock\" },\n0x0196: { n:\"RRDInfo\" },\n0x0197: { n:\"BCUsrs\" },\n0x0198: { n:\"UsrChk\" },\n0x01a9: { n:\"UserBView\" },\n0x01aa: { n:\"UserSViewBegin\" },\n0x01ab: { n:\"UserSViewEnd\" },\n0x01ac: { n:\"RRDUserView\" },\n0x01ad: { n:\"Qsi\" },\n0x01ae: { n:\"SupBook\", f:parse_SupBook },\n0x01af: { n:\"Prot4Rev\", f:parsebool },\n0x01b0: { n:\"CondFmt\" },\n0x01b1: { n:\"CF\" },\n0x01b2: { n:\"DVal\" },\n0x01b5: { n:\"DConBin\" },\n0x01b6: { n:\"TxO\", f:parse_TxO },\n0x01b7: { n:\"RefreshAll\", f:parsebool },\n0x01b8: { n:\"HLink\", f:parse_HLink },\n0x01b9: { n:\"Lel\" },\n0x01ba: { n:\"CodeName\", f:parse_XLUnicodeString },\n0x01bb: { n:\"SXFDBType\" },\n0x01bc: { n:\"Prot4RevPass\", f:parseuint16 },\n0x01bd: { n:\"ObNoMacros\" },\n0x01be: { n:\"Dv\" },\n0x01c0: { n:\"Excel9File\", f:parsenoop2 },\n0x01c1: { n:\"RecalcId\", f:parse_RecalcId, r:2},\n0x01c2: { n:\"EntExU2\", f:parsenoop2 },\n0x0200: { n:\"Dimensions\", f:parse_Dimensions },\n0x0201: { n:\"Blank\", f:parse_Blank },\n0x0203: { n:\"Number\", f:parse_Number },\n0x0204: { n:\"Label\", f:parse_Label },\n0x0205: { n:\"BoolErr\", f:parse_BoolErr },\n0x0206: { n:\"Formula\", f:parse_Formula },\n0x0207: { n:\"String\", f:parse_String },\n0x0208: { n:'Row', f:parse_Row },\n0x020b: { n:\"Index\" },\n0x0221: { n:\"Array\", f:parse_Array },\n0x0225: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n0x0236: { n:\"Table\" },\n0x023e: { n:\"Window2\", f:parse_Window2 },\n0x027e: { n:\"RK\", f:parse_RK },\n0x0293: { n:\"Style\" },\n0x0406: { n:\"Formula\", f:parse_Formula },\n0x0418: { n:\"BigName\" },\n0x041e: { n:\"Format\", f:parse_Format },\n0x043c: { n:\"ContinueBigName\" },\n0x04bc: { n:\"ShrFmla\", f:parse_ShrFmla },\n0x0800: { n:\"HLinkTooltip\", f:parse_HLinkTooltip },\n0x0801: { n:\"WebPub\" },\n0x0802: { n:\"QsiSXTag\" },\n0x0803: { n:\"DBQueryExt\" },\n0x0804: { n:\"ExtString\" },\n0x0805: { n:\"TxtQry\" },\n0x0806: { n:\"Qsir\" },\n0x0807: { n:\"Qsif\" },\n0x0808: { n:\"RRDTQSIF\" },\n0x0809: { n:'BOF', f:parse_BOF },\n0x080a: { n:\"OleDbConn\" },\n0x080b: { n:\"WOpt\" },\n0x080c: { n:\"SXViewEx\" },\n0x080d: { n:\"SXTH\" },\n0x080e: { n:\"SXPIEx\" },\n0x080f: { n:\"SXVDTEx\" },\n0x0810: { n:\"SXViewEx9\" },\n0x0812: { n:\"ContinueFrt\" },\n0x0813: { n:\"RealTimeData\" },\n0x0850: { n:\"ChartFrtInfo\" },\n0x0851: { n:\"FrtWrapper\" },\n0x0852: { n:\"StartBlock\" },\n0x0853: { n:\"EndBlock\" },\n0x0854: { n:\"StartObject\" },\n0x0855: { n:\"EndObject\" },\n0x0856: { n:\"CatLab\" },\n0x0857: { n:\"YMult\" },\n0x0858: { n:\"SXViewLink\" },\n0x0859: { n:\"PivotChartBits\" },\n0x085a: { n:\"FrtFontList\" },\n0x0862: { n:\"SheetExt\" },\n0x0863: { n:\"BookExt\", r:12},\n0x0864: { n:\"SXAddl\" },\n0x0865: { n:\"CrErr\" },\n0x0866: { n:\"HFPicture\" },\n0x0867: { n:'FeatHdr', f:parsenoop2 },\n0x0868: { n:\"Feat\" },\n0x086a: { n:\"DataLabExt\" },\n0x086b: { n:\"DataLabExtContents\" },\n0x086c: { n:\"CellWatch\" },\n0x0871: { n:\"FeatHdr11\" },\n0x0872: { n:\"Feature11\" },\n0x0874: { n:\"DropDownObjIds\" },\n0x0875: { n:\"ContinueFrt11\" },\n0x0876: { n:\"DConn\" },\n0x0877: { n:\"List12\" },\n0x0878: { n:\"Feature12\" },\n0x0879: { n:\"CondFmt12\" },\n0x087a: { n:\"CF12\" },\n0x087b: { n:\"CFEx\" },\n0x087c: { n:\"XFCRC\", f:parse_XFCRC, r:12 },\n0x087d: { n:\"XFExt\", f:parse_XFExt, r:12 },\n0x087e: { n:\"AutoFilter12\" },\n0x087f: { n:\"ContinueFrt12\" },\n0x0884: { n:\"MDTInfo\" },\n0x0885: { n:\"MDXStr\" },\n0x0886: { n:\"MDXTuple\" },\n0x0887: { n:\"MDXSet\" },\n0x0888: { n:\"MDXProp\" },\n0x0889: { n:\"MDXKPI\" },\n0x088a: { n:\"MDB\" },\n0x088b: { n:\"PLV\" },\n0x088c: { n:\"Compat12\", f:parsebool, r:12 },\n0x088d: { n:\"DXF\" },\n0x088e: { n:\"TableStyles\", r:12 },\n0x088f: { n:\"TableStyle\" },\n0x0890: { n:\"TableStyleElement\" },\n0x0892: { n:\"StyleExt\" },\n0x0893: { n:\"NamePublish\" },\n0x0894: { n:\"NameCmt\", f:parse_NameCmt, r:12 },\n0x0895: { n:\"SortData\" },\n0x0896: { n:\"Theme\", f:parse_Theme, r:12 },\n0x0897: { n:\"GUIDTypeLib\" },\n0x0898: { n:\"FnGrp12\" },\n0x0899: { n:\"NameFnGrp12\" },\n0x089a: { n:\"MTRSettings\", f:parse_MTRSettings, r:12 },\n0x089b: { n:\"CompressPictures\", f:parsenoop2 },\n0x089c: { n:\"HeaderFooter\" },\n0x089d: { n:\"CrtLayout12\" },\n0x089e: { n:\"CrtMlFrt\" },\n0x089f: { n:\"CrtMlFrtContinue\" },\n0x08a3: { n:\"ForceFullCalculation\", f:parse_ForceFullCalculation },\n0x08a4: { n:\"ShapePropsStream\" },\n0x08a5: { n:\"TextPropsStream\" },\n0x08a6: { n:\"RichTextStream\" },\n0x08a7: { n:\"CrtLayout12A\" },\n0x1001: { n:\"Units\" },\n0x1002: { n:\"Chart\" },\n0x1003: { n:\"Series\" },\n0x1006: { n:\"DataFormat\" },\n0x1007: { n:\"LineFormat\" },\n0x1009: { n:\"MarkerFormat\" },\n0x100a: { n:\"AreaFormat\" },\n0x100b: { n:\"PieFormat\" },\n0x100c: { n:\"AttachedLabel\" },\n0x100d: { n:\"SeriesText\" },\n0x1014: { n:\"ChartFormat\" },\n0x1015: { n:\"Legend\" },\n0x1016: { n:\"SeriesList\" },\n0x1017: { n:\"Bar\" },\n0x1018: { n:\"Line\" },\n0x1019: { n:\"Pie\" },\n0x101a: { n:\"Area\" },\n0x101b: { n:\"Scatter\" },\n0x101c: { n:\"CrtLine\" },\n0x101d: { n:\"Axis\" },\n0x101e: { n:\"Tick\" },\n0x101f: { n:\"ValueRange\" },\n0x1020: { n:\"CatSerRange\" },\n0x1021: { n:\"AxisLine\" },\n0x1022: { n:\"CrtLink\" },\n0x1024: { n:\"DefaultText\" },\n0x1025: { n:\"Text\" },\n0x1026: { n:\"FontX\", f:parseuint16 },\n0x1027: { n:\"ObjectLink\" },\n0x1032: { n:\"Frame\" },\n0x1033: { n:\"Begin\" },\n0x1034: { n:\"End\" },\n0x1035: { n:\"PlotArea\" },\n0x103a: { n:\"Chart3d\" },\n0x103c: { n:\"PicF\" },\n0x103d: { n:\"DropBar\" },\n0x103e: { n:\"Radar\" },\n0x103f: { n:\"Surf\" },\n0x1040: { n:\"RadarArea\" },\n0x1041: { n:\"AxisParent\" },\n0x1043: { n:\"LegendException\" },\n0x1044: { n:\"ShtProps\", f:parse_ShtProps },\n0x1045: { n:\"SerToCrt\" },\n0x1046: { n:\"AxesUsed\" },\n0x1048: { n:\"SBaseRef\" },\n0x104a: { n:\"SerParent\" },\n0x104b: { n:\"SerAuxTrend\" },\n0x104e: { n:\"IFmtRecord\" },\n0x104f: { n:\"Pos\" },\n0x1050: { n:\"AlRuns\" },\n0x1051: { n:\"BRAI\" },\n0x105b: { n:\"SerAuxErrBar\" },\n0x105c: { n:\"ClrtClient\", f:parse_ClrtClient },\n0x105d: { n:\"SerFmt\" },\n0x105f: { n:\"Chart3DBarShape\" },\n0x1060: { n:\"Fbi\" },\n0x1061: { n:\"BopPop\" },\n0x1062: { n:\"AxcExt\" },\n0x1063: { n:\"Dat\" },\n0x1064: { n:\"PlotGrowth\" },\n0x1065: { n:\"SIIndex\" },\n0x1066: { n:\"GelFrame\" },\n0x1067: { n:\"BopPopCustom\" },\n0x1068: { n:\"Fbi2\" },\n\n0x0000: { n:\"Dimensions\", f:parse_Dimensions },\n0x0002: { n:\"BIFF2INT\", f:parse_BIFF2INT },\n0x0005: { n:\"BoolErr\", f:parse_BoolErr },\n0x0007: { n:\"String\", f:parse_BIFF2STRING },\n0x0008: { n:\"BIFF2ROW\" },\n0x000b: { n:\"Index\" },\n0x0016: { n:\"ExternCount\", f:parseuint16 },\n0x001e: { n:\"BIFF2FORMAT\", f:parse_BIFF2Format },\n0x001f: { n:\"BIFF2FMTCNT\" }, /* 16-bit cnt of BIFF2FORMAT records */\n0x0020: { n:\"BIFF2COLINFO\" },\n0x0021: { n:\"Array\", f:parse_Array },\n0x0025: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n0x0032: { n:\"BIFF2FONTXTRA\", f:parse_BIFF2FONTXTRA },\n0x0034: { n:\"DDEObjName\" },\n0x003e: { n:\"BIFF2WINDOW2\" },\n0x0043: { n:\"BIFF2XF\" },\n0x0045: { n:\"BIFF2FONTCLR\" },\n0x0056: { n:\"BIFF4FMTCNT\" }, /* 16-bit cnt, similar to BIFF2 */\n0x007e: { n:\"RK\" }, /* Not necessarily same as 0x027e */\n0x007f: { n:\"ImData\", f:parse_ImData },\n0x0087: { n:\"Addin\" },\n0x0088: { n:\"Edg\" },\n0x0089: { n:\"Pub\" },\n0x0091: { n:\"Sub\" },\n0x0094: { n:\"LHRecord\" },\n0x0095: { n:\"LHNGraph\" },\n0x0096: { n:\"Sound\" },\n0x00a9: { n:\"CoordList\" },\n0x00ab: { n:\"GCW\" },\n0x00bc: { n:\"ShrFmla\" }, /* Not necessarily same as 0x04bc */\n0x00bf: { n:\"ToolbarHdr\" },\n0x00c0: { n:\"ToolbarEnd\" },\n0x00c2: { n:\"AddMenu\" },\n0x00c3: { n:\"DelMenu\" },\n0x00d6: { n:\"RString\", f:parse_RString },\n0x00df: { n:\"UDDesc\" },\n0x00ea: { n:\"TabIdConf\" },\n0x0162: { n:\"XL5Modify\" },\n0x01a5: { n:\"FileSharing2\" },\n0x0209: { n:'BOF', f:parse_BOF },\n0x0218: { n:\"Lbl\", f:parse_Lbl },\n0x0223: { n:\"ExternName\", f:parse_ExternName },\n0x0231: { n:\"Font\" },\n0x0243: { n:\"BIFF3XF\" },\n0x0409: { n:'BOF', f:parse_BOF },\n0x0443: { n:\"BIFF4XF\" },\n0x086d: { n:\"FeatInfo\" },\n0x0873: { n:\"FeatInfo11\" },\n0x0881: { n:\"SXAddl12\" },\n0x08c0: { n:\"AutoWebPub\" },\n0x08c1: { n:\"ListObj\" },\n0x08c2: { n:\"ListField\" },\n0x08c3: { n:\"ListDV\" },\n0x08c4: { n:\"ListCondFmt\" },\n0x08c5: { n:\"ListCF\" },\n0x08c6: { n:\"FMQry\" },\n0x08c7: { n:\"FMSQry\" },\n0x08c8: { n:\"PLV\" },\n0x08c9: { n:\"LnExt\" },\n0x08ca: { n:\"MkrExt\" },\n0x08cb: { n:\"CrtCoopt\" },\n0x08d6: { n:\"FRTArchId$\", r:12 },\n\n0x7262: {}\n};\n\nvar XLSRE = evert_key(XLSRecordEnum, 'n');\nfunction write_biff_rec(ba, type, payload, length) {\n\tvar t = +type || +XLSRE[type];\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_BIFF2Cell(out, r, c) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r, c, val, t) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tif(t == 'e') { out.write_shift(1, val); out.write_shift(1, 1); }\n\telse { out.write_shift(1, val?1:0); out.write_shift(1, 0); }\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r, c, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba, cell, R, C) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba, ws, idx, opts) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb, opts) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* ... */\n\twrite_biff_rec(ba, \"CalcMode\", writeuint16(1));\n\twrite_biff_rec(ba, \"CalcCount\", writeuint16(100));\n\twrite_biff_rec(ba, \"CalcRefMode\", writebool(true));\n\twrite_biff_rec(ba, \"CalcIter\", writebool(false));\n\twrite_biff_rec(ba, \"CalcDelta\", write_Xnum(0.001));\n\twrite_biff_rec(ba, \"CalcSaveRecalc\", writebool(true));\n\twrite_biff_rec(ba, \"PrintRowCol\", writebool(false));\n\twrite_biff_rec(ba, \"PrintGrid\", writebool(false));\n\twrite_biff_rec(ba, \"GridSet\", writeuint16(1));\n\twrite_biff_rec(ba, \"Guts\", write_Guts([0,0]));\n\t/* ... */\n\twrite_biff_rec(ba, \"HCenter\", writebool(false));\n\twrite_biff_rec(ba, \"VCenter\", writebool(false));\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8 && _WB.Views) write_biff_rec(ba, \"Window2\", write_Window2(_WB.Views[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, \"MergeCells\", write_MergeCells(ws['!merges']));\n\t/* ... */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* ... */\n\twrite_biff_rec(ba, \"CodeName\", write_XLUnicodeString(cname, opts));\n\t/* ... */\n\tif(b8) write_FEAT(ba, ws);\n\t/* ... */\n\twrite_biff_rec(ba, \"EOF\");\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb, bufs, opts) {\n\tvar A = buf_array();\n\tvar _WB = ((wb||{}).Workbook||{});\n\tvar _sheets = (_WB.Sheets||[]);\n\tvar _wb = _WB.WBProps||{};\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, \"Addin\");\n\twrite_biff_rec(A, \"InterfaceHdr\", b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, \"Mms\", writezeroes(2));\n\tif(b5) write_biff_rec(A, \"ToolbarHdr\");\n\tif(b5) write_biff_rec(A, \"ToolbarEnd\");\n\twrite_biff_rec(A, \"InterfaceEnd\");\n\twrite_biff_rec(A, \"WriteAccess\", write_WriteAccess(\"SheetJS\", opts));\n\twrite_biff_rec(A, \"CodePage\", writeuint16(b8 ? 0x04b0 : 0x04E4));\n\tif(b8) write_biff_rec(A, \"DSF\", writeuint16(0));\n\tif(b8) write_biff_rec(A, \"Excel9File\");\n\twrite_biff_rec(A, \"RRTabId\", write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) {\n\t\twrite_biff_rec(A, \"ObProj\");\n\t\tvar cname = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, \"CodeName\", write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, \"BuiltInFnGroupCount\", writeuint16(0x11));\n\twrite_biff_rec(A, \"WinProtect\", writebool(false));\n\twrite_biff_rec(A, \"Protect\", writebool(false));\n\twrite_biff_rec(A, \"Password\", writeuint16(0));\n\tif(b8) write_biff_rec(A, \"Prot4Rev\", writebool(false));\n\tif(b8) write_biff_rec(A, \"Prot4RevPass\", writeuint16(0));\n\twrite_biff_rec(A, \"Window1\", write_Window1(opts));\n\twrite_biff_rec(A, \"Backup\", writebool(false));\n\twrite_biff_rec(A, \"HideObj\", writeuint16(0));\n\twrite_biff_rec(A, \"Date1904\", writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, \"CalcPrecision\", writebool(true));\n\tif(b8) write_biff_rec(A, \"RefreshAll\", writebool(false));\n\twrite_biff_rec(A, \"BookBool\", writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, \"UsesELFs\", writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\tif(b8) write_biff_rec(C, \"Country\", write_Country());\n\t/* BIFF8: [SST *Continue] ExtSST */\n\twrite_biff_rec(C, \"EOF\");\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet = _sheets[j] || ({});\n\t\twrite_biff_rec(B, \"BoundSheet8\", write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn __toBuffer([out]);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb, opts) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\to.cellXfs = [];\n\to.Strings = []; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn __toBuffer([bufs]);\n}\n\nfunction write_biff_buf(wb, opts) {\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nvar HTML_ = (function() {\n\tfunction html_to_sheet(str, _opts) {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar ws = opts.dense ? ([]) : ({});\n\t\tvar mtch = str.match(/\");\n\t\tvar mtch2 = str.match(/<\\/table/i);\n\t\tvar i = mtch.index, j = mtch2 && mtch2.index || str.length;\n\t\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\t\tvar R = -1, C = 0, RS = 0, CS = 0;\n\t\tvar range = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\t\tvar merges = [];\n\t\tfor(i = 0; i < rows.length; ++i) {\n\t\t\tvar row = rows[i].trim();\n\t\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\t\tif(hd == \"/i);\n\t\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\t\tvar cell = cells[j].trim();\n\t\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\t\tvar _t = tag.t || \"\";\n\t\t\t\t/* TODO: generate stub cells */\n\t\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\t\tm = htmldecode(m);\n\t\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\t\tif(!m.length) continue;\n\t\t\t\tvar o = {t:'s', v:m};\n\t\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(m)});\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)});\n\t\t\t\t\to.z = opts.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\t\tC += CS;\n\t\t\t}\n\t\t}\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\tfunction html_to_book(str, opts) {\n\t\treturn sheet_to_workbook(html_to_sheet(str, opts), opts);\n\t}\n\tfunction make_html_row(ws, r, R, o) {\n\t\tvar M = (ws['!merges'] ||[]);\n\t\tvar oo = [];\n\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tvar RS = 0, CS = 0;\n\t\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t\t}\n\t\t\tif(RS < 0) continue;\n\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\tvar sp = {};\n\t\t\tif(RS > 1) sp.rowspan = RS;\n\t\t\tif(CS > 1) sp.colspan = CS;\n\t\t\t/* TODO: html entities */\n\t\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\t\tsp.t = cell && cell.t || 'z';\n\t\t\tif(o.editable) w = '' + w + '';\n\t\t\tsp.id = \"sjs-\" + coord;\n\t\t\too.push(writextag('td', w, sp));\n\t\t}\n\t\tvar preamble = \"\";\n\t\treturn preamble + oo.join(\"\") + \"\";\n\t}\n\tfunction make_html_preamble(ws, R, o) {\n\t\tvar out = [];\n\t\treturn out.join(\"\") + '';\n\t}\n\tvar _BEGIN = 'SheetJS Table Export';\n\tvar _END = '';\n\tfunction sheet_to_html(ws, opts/*, wb:?Workbook*/) {\n\t\tvar o = opts || {};\n\t\tvar header = o.header != null ? o.header : _BEGIN;\n\t\tvar footer = o.footer != null ? o.footer : _END;\n\t\tvar out = [header];\n\t\tvar r = decode_range(ws['!ref']);\n\t\to.dense = Array.isArray(ws);\n\t\tout.push(make_html_preamble(ws, r, o));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\t\tout.push(\"
\" + footer);\n\t\treturn out.join(\"\");\n\t}\n\n\treturn {\n\t\tto_workbook: html_to_book,\n\t\tto_sheet: html_to_sheet,\n\t\t_row: make_html_row,\n\t\tBEGIN: _BEGIN,\n\t\tEND: _END,\n\t\t_preamble: make_html_preamble,\n\t\tfrom_sheet: sheet_to_html\n\t};\n})();\n\nfunction parse_dom_table(table, _opts) {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar ws = opts.dense ? ([]) : ({});\n\tvar rows = table.getElementsByTagName('tr');\n\tvar sheetRows = opts.sheetRows || 10000000;\n\tvar range = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar merges = [], midx = 0;\n\tvar rowinfo = [];\n\tvar _R = 0, R = 0, _C, C, RS, CS;\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts = (row.children);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v = htmldecode(elt.innerHTML);\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m = merges[midx];\n\t\t\t\tif(m.s.c == C && m.s.r <= R && R <= m.e.r) { C = m.e.c+1; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif((RS = +elt.getAttribute(\"rowspan\"))>0 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar o = {t:'s', v:v};\n\t\t\tvar _t = elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)});\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)});\n\t\t\t\t\to.z = opts.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\telse ws[encode_cell({c:C, r:R})] = o;\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = merges;\n\tif(rowinfo.length) ws['!rows'] = rowinfo;\n\trange.e.r = R - 1;\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction table_to_book(table, opts) {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element) {\n\tvar display = '';\n\tvar get_computed_style = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style.display; // Fallback for cases when getComputedStyle is not available (e.g. an old browser or some Node.js environments) or doesn't work (e.g. if the element is not inserted to a document)\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element) {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nvar parse_content_xml = (function() {\n\n\tvar parse_text_p = function(text) {\n\t\t/* 6.1.2 White Space Characters */\n\t\tvar fixed = text\n\t\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t\t.replace(//g,\" \")\n\t\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t\t.replace(//g,\"\\n\");\n\t\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\t\treturn [v];\n\t};\n\n\tvar number_formats = {\n\t\t/* ods name: [short ssf fmt, long ssf fmt] */\n\t\tday: [\"d\", \"dd\"],\n\t\tmonth: [\"m\", \"mm\"],\n\t\tyear: [\"y\", \"yy\"],\n\t\thours: [\"h\", \"hh\"],\n\t\tminutes: [\"m\", \"mm\"],\n\t\tseconds: [\"s\", \"ss\"],\n\t\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\t\tera: [\"e\", \"ee\"],\n\t\t/* there is no native representation of LO \"Q\" format */\n\t\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n\t};\n\n\treturn function pcx(d, _opts) {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state = [], tmp;\n\t\tvar tag;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag;\n\t\tvar rowtag;\n\t\tvar Sheets = {}, SheetNames = [];\n\t\tvar ws = opts.dense ? ([]) : ({});\n\t\tvar Rn, q;\n\t\tvar ctag = ({value:\"\"});\n\t\tvar textp = \"\", textpidx = 0, textptag;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({});\n\t\tvar _Ref = [\"\", \"\"];\n\t\tvar comments = [], comment = ({});\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]) : ({}); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null});\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({});\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null});\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({});\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) comment.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\t\t\tcase 'master-styles': break; // TODO: \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]});\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = atag.href; delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ';\n\treturn function wso() {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods = (function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text) {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb, i) {\n\t\t/* Section 9 Tables */\n\t\tvar o = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']);\n\t\tvar marr = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(R = 0; R < range.s.r; ++R) o.push(' \\n');\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target; _tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o) {\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") o.push('\\n');\n\t\telse o.push('\\n');\n\t\twrite_automatic_styles_ods(o);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb, opts) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\nvar zip = new jszip();\n\tvar f = \"\";\n\n\tvar manifest = [];\n\tvar rdf = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip.file(f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip.file(f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip.file(f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip.file(f, write_meta_ods());\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip.file(f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip.file(f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\nfunction write_sheet_index(wb, sheet) {\n\tif(!sheet) return 0;\n\tvar idx = wb.SheetNames.indexOf(sheet);\n\tif(idx == -1) throw new Error(\"Sheet not found: \" + sheet);\n\treturn idx;\n}\n\nfunction write_obj_str(factory) {\n\treturn function write_str(wb, o) {\n\t\tvar idx = write_sheet_index(wb, o.sheet);\n\t\treturn factory.from_sheet(wb.Sheets[wb.SheetNames[idx]], o, wb);\n\t};\n}\n\nvar write_htm_str = write_obj_str(HTML_);\nvar write_csv_str = write_obj_str({from_sheet:sheet_to_csv});\nvar write_slk_str = write_obj_str(SYLK);\nvar write_dif_str = write_obj_str(DIF);\nvar write_prn_str = write_obj_str(PRN);\nvar write_rtf_str = write_obj_str(RTF);\nvar write_txt_str = write_obj_str({from_sheet:sheet_to_txt});\nvar write_dbf_buf = write_obj_str(DBF);\nvar write_eth_str = write_obj_str(ETH);\n\nfunction fix_opts_func(defaults) {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nvar fix_read_opts = fix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n]);\n\n\nvar fix_write_opts = fix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n]);\nfunction get_sheet_type(n) {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, stype, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!chart']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!chart'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t}\n\t\tsheets[sheet] = _ws;\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x) { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip, opts) {\n\tmake_ssf(SSF);\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) throw new Error('Unsupported NUMBERS file');\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({});\n\tvar styles = ({});\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), link, opts);\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({});\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({});\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile);\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\tfor(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tif(dir.comments) parse_comments(zip, dir.comments, sheets, sheetRels, opts);\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: SSF.get_table()\n\t});\n\tif(opts.bookFiles) {\n\t\tout.keys = entries;\n\t\tout.files = zip.files;\n\t}\n\tif(opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts) {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\nif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\nif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb, opts) {\n\t_shapeid = 1024;\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = []; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\nvar zip = new jszip();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip.file(f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\nf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip.file(f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip.file(f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\": /*\n\t\t\tf = \"xl/chartsheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip.file(f, write_cs(rId-1, f, opts, wb, wsrels));\n\t\t\tct.charts.push(f);\n\t\t\tadd_rels(wsrels, -1, \"chartsheets/sheet\" + rId + \".\" + wbext, RELS.CS);\n\t\t\tbreak; */\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip.file(f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar cf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip.file(cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip.file(\"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip.file(get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip.file(f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip.file(f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip.file(f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip.file(f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip.file(f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tzip.file(\"[Content_Types].xml\", write_ct(ct, opts));\n\tzip.file('_rels/.rels', write_rels(opts.rels));\n\tzip.file('xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\nfunction firstbyte(f,o) {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3]];\n\t\tcase 'base64': x = Base64.decode(f.slice(0,24)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3)];\n}\n\nfunction read_cfb(cfb, opts) {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data, opts) {\nvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tswitch(o.type) {\n\t\tcase \"base64\": zip = new jszip(d, { base64:true }); break;\n\t\tcase \"binary\": case \"array\": zip = new jszip(d, { base64:false }); break;\n\t\tcase \"buffer\": zip = new jszip(d); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data, o) {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data, o) {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64.decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data, o) {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64.decode(d);\n\td = cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data) {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data, opts) {\n\treset_cp();\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), opts);\n\tvar d = data, n = [0,0,0,0], str = false;\n\tvar o = opts||{};\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: return read_cfb(CFB.read(d, o), o);\n\t\tcase 0x09: return parse_xlscfb(d, o);\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49: if(n[1] === 0x44) return read_wb_ID(d, o); break;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF: if(n[1] === 0xFE) { return read_utf16(d, o); } break;\n\t\tcase 0x00: if(n[1] === 0x00 && n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o); break;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t}\n\tif(n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb, o) {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\n/*global encrypt_agile */\nfunction write_zip_type(wb, opts) {\n\tvar o = opts||{};\n\tvar z = write_zip(wb, o);\n\tvar oopts = {};\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = has_buf ? \"nodebuffer\" : \"string\";\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = has_buf ? \"nodebuffer\" : \"string\"; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.generate(oopts);\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o);\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(out) : out;\n}\n\nfunction write_cfb_type(wb, opts) {\n\tvar o = opts||{};\n\tvar cfb = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out, opts, bom) {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64.encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\t// $FlowIgnore\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out, opts) {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64.encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\t// $FlowIgnore\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts) {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64.encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSync(wb, opts) {\n\tcheck_wb(wb);\n\tvar o = opts||{};\n\tif(o.type == \"array\") { o.type = \"binary\"; var out = (writeSync(wb, o)); o.type = \"array\"; return s2ab(out); }\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(write_slk_str(wb, o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(write_htm_str(wb, o), o);\n\t\tcase 'txt': return write_stxt_type(write_txt_str(wb, o), o);\n\t\tcase 'csv': return write_string_type(write_csv_str(wb, o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(write_dif_str(wb, o), o);\n\t\tcase 'dbf': return write_binary_type(write_dbf_buf(wb, o), o);\n\t\tcase 'prn': return write_string_type(write_prn_str(wb, o), o);\n\t\tcase 'rtf': return write_string_type(write_rtf_str(wb, o), o);\n\t\tcase 'eth': return write_string_type(write_eth_str(wb, o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb, filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileAsync(filename, wb, opts, cb) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\nfunction make_json_row(sheet, r, R, cols, header, hdr, dense, o) {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !o.hasOwnProperty(\"raw\");\n\tvar isempty = true;\n\tvar row = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = void 0; break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet, opts) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols = [];\n\tvar out = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0, CC = 0;\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = 0;\n\t\t\t\tfor(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + \"_\" + (++counter);\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet, r, R, cols, fs, rs, FS, o) {\n\tvar isempty = true;\n\tvar row = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+format_cell(val, null, o);\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet, opts) {\n\tvar out = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tout.push(row + RS);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet, opts) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet) {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols = [], C;\n\tvar cmds = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws, js, opts) {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws = _ws || ({});\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell;\n\tvar range = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}});\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t}\n\tvar hdr = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[encode_cell({c:_C + C,r:_R + R + offset})] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = o.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t\tws[encode_cell({c:_C + C,r:_R + R + offset})] = cell = ({t:t, v:v});\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js, opts) { return sheet_add_json(null, js, opts); }\n\nvar utils = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tget_formulae: sheet_to_formulae,\n\tmake_csv: sheet_to_csv,\n\tmake_json: sheet_to_json,\n\tmake_formulae: sheet_to_formulae,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: HTML_.from_sheet,\n\tsheet_to_dif: DIF.from_sheet,\n\tsheet_to_slk: SYLK.from_sheet,\n\tsheet_to_eth: ETH.from_sheet,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json\n};\n\n(function(utils) {\nutils.consts = utils.consts || {};\nfunction add_consts(R/*Array*/) { R.forEach(function(a){ utils.consts[a[0]] = a[1]; }); }\n\nfunction get_default(x, y, z) { return x[y] != null ? x[y] : (x[y] = z); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws, R, C) {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") return ws[R] || (ws[R] = {t:'z'});\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb, sh) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nutils.book_new = function() {\n\treturn { SheetNames: [], Sheets: {} };\n};\n\n/* add a worksheet to the end of a given workbook */\nutils.book_append_sheet = function(wb, ws, name) {\n\tif(!name) for(var i = 1; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name) throw new Error(\"Too many worksheets\");\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n};\n\n/* set sheet visibility (visible/hidden/very hidden) */\nutils.book_set_sheet_visibility = function(wb, sh, vis) {\n\tget_default(wb,\"Workbook\",{});\n\tget_default(wb.Workbook,\"Sheets\",[]);\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tget_default(wb.Workbook.Sheets,idx, {});\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n};\nadd_consts([\n\t[\"SHEET_VISIBLE\", 0],\n\t[\"SHEET_HIDDEN\", 1],\n\t[\"SHEET_VERY_HIDDEN\", 2]\n]);\n\n/* set number format */\nutils.cell_set_number_format = function(cell, fmt) {\n\tcell.z = fmt;\n\treturn cell;\n};\n\n/* set cell hyperlink */\nutils.cell_set_hyperlink = function(cell, target, tooltip) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target });\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n};\nutils.cell_set_internal_link = function(cell, range, tooltip) { return utils.cell_set_hyperlink(cell, \"#\" + range, tooltip); };\n\n/* add to cell comments */\nutils.cell_add_comment = function(cell, text, author) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n};\n\n/* set array formula and flush related cells */\nutils.sheet_set_array_formula = function(ws, range, formula) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) cell.f = formula;\n\t}\n\treturn ws;\n};\n\nreturn utils;\n})(utils);\n\nif(has_buf && typeof require != 'undefined') (function() {\n\tvar Readable = require('stream').Readable;\n\n\tvar write_csv_stream = function(sheet, opts) {\n\t\tvar stream = Readable();\n\t\tvar o = opts == null ? {} : opts;\n\t\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\t\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\t\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\t\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\t\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\t\tvar row = \"\", cols = [];\n\t\to.dense = Array.isArray(sheet);\n\t\tvar colinfo = o.skipHidden && sheet[\"!cols\"] || [];\n\t\tvar rowinfo = o.skipHidden && sheet[\"!rows\"] || [];\n\t\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\t\tvar R = r.s.r;\n\t\tvar BOM = false;\n\t\tstream._read = function() {\n\t\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\t++R;\n\t\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\t\tif(row != null) {\n\t\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\t\tstream.push(row + RS);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(R > r.e.r) return stream.push(null);\n\t\t};\n\t\treturn stream;\n\t};\n\n\tvar write_html_stream = function(ws, opts) {\n\t\tvar stream = Readable();\n\n\t\tvar o = opts || {};\n\t\tvar header = o.header != null ? o.header : HTML_.BEGIN;\n\t\tvar footer = o.footer != null ? o.footer : HTML_.END;\n\t\tstream.push(header);\n\t\tvar r = decode_range(ws['!ref']);\n\t\to.dense = Array.isArray(ws);\n\t\tstream.push(HTML_._preamble(ws, r, o));\n\t\tvar R = r.s.r;\n\t\tvar end = false;\n\t\tstream._read = function() {\n\t\t\tif(R > r.e.r) {\n\t\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\t\treturn stream.push(null);\n\t\t\t}\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\tstream.push(HTML_._row(ws, r, R, o));\n\t\t\t\t++R;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\t\treturn stream;\n\t};\n\n\tvar write_json_stream = function(sheet, opts) {\n\t\tvar stream = Readable({objectMode:true});\n\n\t\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\t\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr = [], v=0, vv=\"\";\n\t\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tvar o = opts || {};\n\t\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\t\tif(o.header === 1) header = 1;\n\t\telse if(o.header === \"A\") header = 2;\n\t\telse if(Array.isArray(o.header)) header = 3;\n\t\tswitch(typeof range) {\n\t\t\tcase 'string': r = safe_decode_range(range); break;\n\t\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\t\tdefault: r = range;\n\t\t}\n\t\tif(header > 0) offset = 0;\n\t\tvar rr = encode_row(r.s.r);\n\t\tvar cols = [];\n\t\tvar counter = 0;\n\t\tvar dense = Array.isArray(sheet);\n\t\tvar R = r.s.r, C = 0, CC = 0;\n\t\tif(dense && !sheet[R]) sheet[R] = [];\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tcols[C] = encode_col(C);\n\t\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\t\tswitch(header) {\n\t\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\t\tdefault:\n\t\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\t\tcounter = 0;\n\t\t\t\t\tfor(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + \"_\" + (++counter);\n\t\t\t\t\thdr[C] = vv;\n\t\t\t}\n\t\t}\n\t\tR = r.s.r + offset;\n\t\tstream._read = function() {\n\t\t\tif(R > r.e.r) return stream.push(null);\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\t//if ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t\t++R;\n\t\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\t\tstream.push(row.row);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn stream;\n\t};\n\n\tXLSX.stream = {\n\t\tto_json: write_json_stream,\n\t\tto_html: write_html_stream,\n\t\tto_csv: write_csv_stream\n\t};\n})();\n\nXLSX.parse_xlscfb = parse_xlscfb;\nXLSX.parse_ods = parse_ods;\nXLSX.parse_fods = parse_fods;\nXLSX.write_ods = write_ods;\nXLSX.parse_zip = parse_zip;\nXLSX.read = readSync; //xlsread\nXLSX.readFile = readFileSync; //readFile\nXLSX.readFileSync = readFileSync;\nXLSX.write = writeSync;\nXLSX.writeFile = writeFileSync;\nXLSX.writeFileSync = writeFileSync;\nXLSX.writeFileAsync = writeFileAsync;\nXLSX.utils = utils;\nXLSX.SSF = SSF;\nXLSX.CFB = CFB;\n}\n/*global define */\nif(typeof exports !== 'undefined') make_xlsx_lib(exports);\nelse if(typeof module !== 'undefined' && module.exports) make_xlsx_lib(module.exports);\nelse if(typeof define === 'function' && define.amd) define('xlsx', function() { if(!XLSX.version) make_xlsx_lib(XLSX); return XLSX; });\nelse make_xlsx_lib(XLSX);\n/*exported XLS, ODS */\nvar XLS = XLSX, ODS = XLSX;\n","/*\n\nJSZip - A Javascript class for generating and reading zip files\n\n\n(c) 2009-2014 Stuart Knightley \nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/master/LICENSE\n\nNote: since JSZip 3 removed critical functionality, this version assigns to the\n`JSZipSync` variable. Another JSZip version can be loaded in parallel.\n*/\n(function(e){\n\tif(\"object\"==typeof exports&&\"undefined\"!=typeof module&&\"undefined\"==typeof DO_NOT_EXPORT_JSZIP)module.exports=e();\n\telse if(\"function\"==typeof define&&define.amd&&\"undefined\"==typeof DO_NOT_EXPORT_JSZIP){JSZipSync=e();define([],e);}\n\telse{\n\t\tvar f;\n\t\t\"undefined\"!=typeof window?f=window:\n\t\t\"undefined\"!=typeof global?f=global:\n\t\t\"undefined\"!=typeof $ && $.global?f=$.global:\n\t\t\"undefined\"!=typeof self&&(f=self),f.JSZipSync=e()\n\t}\n}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error(\"Cannot find module '\"+o+\"'\")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o> 2;\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n }\n else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\n\n }\n\n return output;\n};\n\n// public method for decoding\nexports.decode = function(input, utf8) {\n var output = \"\";\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n while (i < input.length) {\n\n enc1 = _keyStr.indexOf(input.charAt(i++));\n enc2 = _keyStr.indexOf(input.charAt(i++));\n enc3 = _keyStr.indexOf(input.charAt(i++));\n enc4 = _keyStr.indexOf(input.charAt(i++));\n\n chr1 = (enc1 << 2) | (enc2 >> 4);\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n chr3 = ((enc3 & 3) << 6) | enc4;\n\n output = output + String.fromCharCode(chr1);\n\n if (enc3 != 64) {\n output = output + String.fromCharCode(chr2);\n }\n if (enc4 != 64) {\n output = output + String.fromCharCode(chr3);\n }\n\n }\n\n return output;\n\n};\n\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nfunction CompressedObject() {\n this.compressedSize = 0;\n this.uncompressedSize = 0;\n this.crc32 = 0;\n this.compressionMethod = null;\n this.compressedContent = null;\n}\n\nCompressedObject.prototype = {\n /**\n * Return the decompressed content in an unspecified format.\n * The format will depend on the decompressor.\n * @return {Object} the decompressed content.\n */\n getContent: function() {\n return null; // see implementation\n },\n /**\n * Return the compressed content in an unspecified format.\n * The format will depend on the compressed conten source.\n * @return {Object} the compressed content.\n */\n getCompressedContent: function() {\n return null; // see implementation\n }\n};\nmodule.exports = CompressedObject;\n\n},{}],3:[function(_dereq_,module,exports){\n'use strict';\nexports.STORE = {\n magic: \"\\x00\\x00\",\n compress: function(content) {\n return content; // no compression\n },\n uncompress: function(content) {\n return content; // no compression\n },\n compressInputType: null,\n uncompressInputType: null\n};\nexports.DEFLATE = _dereq_('./flate');\n\n},{\"./flate\":8}],4:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\nvar table = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D\n];\n\n/**\n *\n * Javascript crc32\n * http://www.webtoolkit.info/\n *\n */\nmodule.exports = function crc32(input, crc) {\n if (typeof input === \"undefined\" || !input.length) {\n return 0;\n }\n\n var isArray = utils.getTypeOf(input) !== \"string\";\n\n if (typeof(crc) == \"undefined\") {\n crc = 0;\n }\n var x = 0;\n var y = 0;\n var b = 0;\n\n crc = crc ^ (-1);\n for (var i = 0, iTop = input.length; i < iTop; i++) {\n b = isArray ? input[i] : input.charCodeAt(i);\n y = (crc ^ b) & 0xFF;\n x = table[y];\n crc = (crc >>> 8) ^ x;\n }\n\n return crc ^ (-1);\n};\n// vim: set shiftwidth=4 softtabstop=4:\n\n},{\"./utils\":21}],5:[function(_dereq_,module,exports){\n'use strict';\nvar utils = _dereq_('./utils');\n\nfunction DataReader(data) {\n this.data = null; // type : see implementation\n this.length = 0;\n this.index = 0;\n}\nDataReader.prototype = {\n /**\n * Check that the offset will not go too far.\n * @param {string} offset the additional offset to check.\n * @throws {Error} an Error if the offset is out of bounds.\n */\n checkOffset: function(offset) {\n this.checkIndex(this.index + offset);\n },\n /**\n * Check that the specifed index will not be too far.\n * @param {string} newIndex the index to check.\n * @throws {Error} an Error if the index is out of bounds.\n */\n checkIndex: function(newIndex) {\n if (this.length < newIndex || newIndex < 0) {\n throw new Error(\"End of data reached (data length = \" + this.length + \", asked index = \" + (newIndex) + \"). Corrupted zip ?\");\n }\n },\n /**\n * Change the index.\n * @param {number} newIndex The new index.\n * @throws {Error} if the new index is out of the data.\n */\n setIndex: function(newIndex) {\n this.checkIndex(newIndex);\n this.index = newIndex;\n },\n /**\n * Skip the next n bytes.\n * @param {number} n the number of bytes to skip.\n * @throws {Error} if the new index is out of the data.\n */\n skip: function(n) {\n this.setIndex(this.index + n);\n },\n /**\n * Get the byte at the specified index.\n * @param {number} i the index to use.\n * @return {number} a byte.\n */\n byteAt: function(i) {\n // see implementations\n },\n /**\n * Get the next number with a given byte size.\n * @param {number} size the number of bytes to read.\n * @return {number} the corresponding number.\n */\n readInt: function(size) {\n var result = 0,\n i;\n this.checkOffset(size);\n for (i = this.index + size - 1; i >= this.index; i--) {\n result = (result << 8) + this.byteAt(i);\n }\n this.index += size;\n return result;\n },\n /**\n * Get the next string with a given byte size.\n * @param {number} size the number of bytes to read.\n * @return {string} the corresponding string.\n */\n readString: function(size) {\n return utils.transformTo(\"string\", this.readData(size));\n },\n /**\n * Get raw data without conversion, bytes.\n * @param {number} size the number of bytes to read.\n * @return {Object} the raw data, implementation specific.\n */\n readData: function(size) {\n // see implementations\n },\n /**\n * Find the last occurence of a zip signature (4 bytes).\n * @param {string} sig the signature to find.\n * @return {number} the index of the last occurence, -1 if not found.\n */\n lastIndexOfSignature: function(sig) {\n // see implementations\n },\n /**\n * Get the next date.\n * @return {Date} the date.\n */\n readDate: function() {\n var dostime = this.readInt(4);\n return new Date(\n ((dostime >> 25) & 0x7f) + 1980, // year\n ((dostime >> 21) & 0x0f) - 1, // month\n (dostime >> 16) & 0x1f, // day\n (dostime >> 11) & 0x1f, // hour\n (dostime >> 5) & 0x3f, // minute\n (dostime & 0x1f) << 1); // second\n }\n};\nmodule.exports = DataReader;\n\n},{\"./utils\":21}],6:[function(_dereq_,module,exports){\n'use strict';\nexports.base64 = false;\nexports.binary = false;\nexports.dir = false;\nexports.createFolders = false;\nexports.date = null;\nexports.compression = null;\nexports.comment = null;\n\n},{}],7:[function(_dereq_,module,exports){\n'use strict';\nvar utils = _dereq_('./utils');\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2binary = function(str) {\n return utils.string2binary(str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2Uint8Array = function(str) {\n return utils.transformTo(\"uint8array\", str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.uint8Array2String = function(array) {\n return utils.transformTo(\"string\", array);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2Blob = function(str) {\n var buffer = utils.transformTo(\"arraybuffer\", str);\n return utils.arrayBuffer2Blob(buffer);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.arrayBuffer2Blob = function(buffer) {\n return utils.arrayBuffer2Blob(buffer);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.transformTo = function(outputType, input) {\n return utils.transformTo(outputType, input);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.getTypeOf = function(input) {\n return utils.getTypeOf(input);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.checkSupport = function(type) {\n return utils.checkSupport(type);\n};\n\n/**\n * @deprecated\n * This value will be removed in a future version without replacement.\n */\nexports.MAX_VALUE_16BITS = utils.MAX_VALUE_16BITS;\n\n/**\n * @deprecated\n * This value will be removed in a future version without replacement.\n */\nexports.MAX_VALUE_32BITS = utils.MAX_VALUE_32BITS;\n\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.pretty = function(str) {\n return utils.pretty(str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.findCompression = function(compressionMethod) {\n return utils.findCompression(compressionMethod);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.isRegExp = function (object) {\n return utils.isRegExp(object);\n};\n\n\n},{\"./utils\":21}],8:[function(_dereq_,module,exports){\n'use strict';\nvar USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined');\n\nvar pako = _dereq_(\"pako\");\nexports.uncompressInputType = USE_TYPEDARRAY ? \"uint8array\" : \"array\";\nexports.compressInputType = USE_TYPEDARRAY ? \"uint8array\" : \"array\";\n\nexports.magic = \"\\x08\\x00\";\nexports.compress = function(input) {\n return pako.deflateRaw(input);\n};\nexports.uncompress = function(input) {\n return pako.inflateRaw(input);\n};\n\n},{\"pako\":24}],9:[function(_dereq_,module,exports){\n'use strict';\n\nvar base64 = _dereq_('./base64');\n\n/**\nUsage:\n zip = new JSZip();\n zip.file(\"hello.txt\", \"Hello, World!\").file(\"tempfile\", \"nothing\");\n zip.folder(\"images\").file(\"smile.gif\", base64Data, {base64: true});\n zip.file(\"Xmas.txt\", \"Ho ho ho !\", {date : new Date(\"December 25, 2007 00:00:01\")});\n zip.remove(\"tempfile\");\n\n base64zip = zip.generate();\n\n**/\n\n/**\n * Representation a of zip file in js\n * @constructor\n * @param {String=|ArrayBuffer=|Uint8Array=} data the data to load, if any (optional).\n * @param {Object=} options the options for creating this objects (optional).\n */\nfunction JSZipSync(data, options) {\n // if this constructor is used without `new`, it adds `new` before itself:\n if(!(this instanceof JSZipSync)) return new JSZipSync(data, options);\n\n // object containing the files :\n // {\n // \"folder/\" : {...},\n // \"folder/data.txt\" : {...}\n // }\n this.files = {};\n\n this.comment = null;\n\n // Where we are in the hierarchy\n this.root = \"\";\n if (data) {\n this.load(data, options);\n }\n this.clone = function() {\n var newObj = new JSZipSync();\n for (var i in this) {\n if (typeof this[i] !== \"function\") {\n newObj[i] = this[i];\n }\n }\n return newObj;\n };\n}\nJSZipSync.prototype = _dereq_('./object');\nJSZipSync.prototype.load = _dereq_('./load');\nJSZipSync.support = _dereq_('./support');\nJSZipSync.defaults = _dereq_('./defaults');\n\n/**\n * @deprecated\n * This namespace will be removed in a future version without replacement.\n */\nJSZipSync.utils = _dereq_('./deprecatedPublicUtils');\n\nJSZipSync.base64 = {\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n encode : function(input) {\n return base64.encode(input);\n },\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n decode : function(input) {\n return base64.decode(input);\n }\n};\nJSZipSync.compressions = _dereq_('./compressions');\nmodule.exports = JSZipSync;\n\n},{\"./base64\":1,\"./compressions\":3,\"./defaults\":6,\"./deprecatedPublicUtils\":7,\"./load\":10,\"./object\":13,\"./support\":17}],10:[function(_dereq_,module,exports){\n'use strict';\nvar base64 = _dereq_('./base64');\nvar ZipEntries = _dereq_('./zipEntries');\nmodule.exports = function(data, options) {\n var files, zipEntries, i, input;\n options = options || {};\n if (options.base64) {\n data = base64.decode(data);\n }\n\n zipEntries = new ZipEntries(data, options);\n files = zipEntries.files;\n for (i = 0; i < files.length; i++) {\n input = files[i];\n this.file(input.fileName, input.decompressed, {\n binary: true,\n optimizedBinaryString: true,\n date: input.date,\n dir: input.dir,\n comment : input.fileComment.length ? input.fileComment : null,\n createFolders: options.createFolders\n });\n }\n if (zipEntries.zipComment.length) {\n this.comment = zipEntries.zipComment;\n }\n\n return this;\n};\n\n},{\"./base64\":1,\"./zipEntries\":22}],11:[function(_dereq_,module,exports){\n(function (Buffer){\n'use strict';\nvar Buffer_from = /*::(*/function(){}/*:: :any)*/;\nif(typeof Buffer !== 'undefined') {\n\tvar nbfs = !Buffer.from;\n\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\tBuffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t// $FlowIgnore\n\tif(!Buffer.alloc) Buffer.alloc = function(n) { return new Buffer(n); };\n}\nmodule.exports = function(data, encoding){\n return typeof data == 'number' ? Buffer.alloc(data) : Buffer_from(data, encoding);\n};\nmodule.exports.test = function(b){\n return Buffer.isBuffer(b);\n};\n}).call(this,(typeof Buffer !== \"undefined\" ? Buffer : undefined))\n},{}],12:[function(_dereq_,module,exports){\n'use strict';\nvar Uint8ArrayReader = _dereq_('./uint8ArrayReader');\n\nfunction NodeBufferReader(data) {\n this.data = data;\n this.length = this.data.length;\n this.index = 0;\n}\nNodeBufferReader.prototype = new Uint8ArrayReader();\n\n/**\n * @see DataReader.readData\n */\nNodeBufferReader.prototype.readData = function(size) {\n this.checkOffset(size);\n var result = this.data.slice(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = NodeBufferReader;\n\n},{\"./uint8ArrayReader\":18}],13:[function(_dereq_,module,exports){\n'use strict';\nvar support = _dereq_('./support');\nvar utils = _dereq_('./utils');\nvar crc32 = _dereq_('./crc32');\nvar signature = _dereq_('./signature');\nvar defaults = _dereq_('./defaults');\nvar base64 = _dereq_('./base64');\nvar compressions = _dereq_('./compressions');\nvar CompressedObject = _dereq_('./compressedObject');\nvar nodeBuffer = _dereq_('./nodeBuffer');\nvar utf8 = _dereq_('./utf8');\nvar StringWriter = _dereq_('./stringWriter');\nvar Uint8ArrayWriter = _dereq_('./uint8ArrayWriter');\n\n/**\n * Returns the raw data of a ZipObject, decompress the content if necessary.\n * @param {ZipObject} file the file to use.\n * @return {String|ArrayBuffer|Uint8Array|Buffer} the data.\n */\nvar getRawData = function(file) {\n if (file._data instanceof CompressedObject) {\n file._data = file._data.getContent();\n file.options.binary = true;\n file.options.base64 = false;\n\n if (utils.getTypeOf(file._data) === \"uint8array\") {\n var copy = file._data;\n // when reading an arraybuffer, the CompressedObject mechanism will keep it and subarray() a Uint8Array.\n // if we request a file in the same format, we might get the same Uint8Array or its ArrayBuffer (the original zip file).\n file._data = new Uint8Array(copy.length);\n // with an empty Uint8Array, Opera fails with a \"Offset larger than array size\"\n if (copy.length !== 0) {\n file._data.set(copy, 0);\n }\n }\n }\n return file._data;\n};\n\n/**\n * Returns the data of a ZipObject in a binary form. If the content is an unicode string, encode it.\n * @param {ZipObject} file the file to use.\n * @return {String|ArrayBuffer|Uint8Array|Buffer} the data.\n */\nvar getBinaryData = function(file) {\n var result = getRawData(file),\n type = utils.getTypeOf(result);\n if (type === \"string\") {\n if (!file.options.binary) {\n // unicode text !\n // unicode string => binary string is a painful process, check if we can avoid it.\n if (support.nodebuffer) {\n return nodeBuffer(result, \"utf-8\");\n }\n }\n return file.asBinary();\n }\n return result;\n};\n\n/**\n * Transform this._data into a string.\n * @param {function} filter a function String -> String, applied if not null on the result.\n * @return {String} the string representing this._data.\n */\nvar dataToString = function(asUTF8) {\n var result = getRawData(this);\n if (result === null || typeof result === \"undefined\") {\n return \"\";\n }\n // if the data is a base64 string, we decode it before checking the encoding !\n if (this.options.base64) {\n result = base64.decode(result);\n }\n if (asUTF8 && this.options.binary) {\n // JSZip.prototype.utf8decode supports arrays as input\n // skip to array => string step, utf8decode will do it.\n result = out.utf8decode(result);\n }\n else {\n // no utf8 transformation, do the array => string step.\n result = utils.transformTo(\"string\", result);\n }\n\n if (!asUTF8 && !this.options.binary) {\n result = utils.transformTo(\"string\", out.utf8encode(result));\n }\n return result;\n};\n/**\n * A simple object representing a file in the zip file.\n * @constructor\n * @param {string} name the name of the file\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data\n * @param {Object} options the options of the file\n */\nvar ZipObject = function(name, data, options) {\n this.name = name;\n this.dir = options.dir;\n this.date = options.date;\n this.comment = options.comment;\n\n this._data = data;\n this.options = options;\n\n /*\n * This object contains initial values for dir and date.\n * With them, we can check if the user changed the deprecated metadata in\n * `ZipObject#options` or not.\n */\n this._initialMetadata = {\n dir : options.dir,\n date : options.date\n };\n};\n\nZipObject.prototype = {\n /**\n * Return the content as UTF8 string.\n * @return {string} the UTF8 string.\n */\n asText: function() {\n return dataToString.call(this, true);\n },\n /**\n * Returns the binary content.\n * @return {string} the content as binary.\n */\n asBinary: function() {\n return dataToString.call(this, false);\n },\n /**\n * Returns the content as a nodejs Buffer.\n * @return {Buffer} the content as a Buffer.\n */\n asNodeBuffer: function() {\n var result = getBinaryData(this);\n return utils.transformTo(\"nodebuffer\", result);\n },\n /**\n * Returns the content as an Uint8Array.\n * @return {Uint8Array} the content as an Uint8Array.\n */\n asUint8Array: function() {\n var result = getBinaryData(this);\n return utils.transformTo(\"uint8array\", result);\n },\n /**\n * Returns the content as an ArrayBuffer.\n * @return {ArrayBuffer} the content as an ArrayBufer.\n */\n asArrayBuffer: function() {\n return this.asUint8Array().buffer;\n }\n};\n\n/**\n * Transform an integer into a string in hexadecimal.\n * @private\n * @param {number} dec the number to convert.\n * @param {number} bytes the number of bytes to generate.\n * @returns {string} the result.\n */\nvar decToHex = function(dec, bytes) {\n var hex = \"\",\n i;\n for (i = 0; i < bytes; i++) {\n hex += String.fromCharCode(dec & 0xff);\n dec = dec >>> 8;\n }\n return hex;\n};\n\n/**\n * Merge the objects passed as parameters into a new one.\n * @private\n * @param {...Object} var_args All objects to merge.\n * @return {Object} a new object with the data of the others.\n */\nvar extend = function() {\n var result = {}, i, attr;\n for (i = 0; i < arguments.length; i++) { // arguments is not enumerable in some browsers\n for (attr in arguments[i]) {\n if (arguments[i].hasOwnProperty(attr) && typeof result[attr] === \"undefined\") {\n result[attr] = arguments[i][attr];\n }\n }\n }\n return result;\n};\n\n/**\n * Transforms the (incomplete) options from the user into the complete\n * set of options to create a file.\n * @private\n * @param {Object} o the options from the user.\n * @return {Object} the complete set of options.\n */\nvar prepareFileAttrs = function(o) {\n o = o || {};\n if (o.base64 === true && (o.binary === null || o.binary === undefined)) {\n o.binary = true;\n }\n o = extend(o, defaults);\n o.date = o.date || new Date();\n if (o.compression !== null) o.compression = o.compression.toUpperCase();\n\n return o;\n};\n\n/**\n * Add a file in the current folder.\n * @private\n * @param {string} name the name of the file\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data of the file\n * @param {Object} o the options of the file\n * @return {Object} the new file.\n */\nvar fileAdd = function(name, data, o) {\n // be sure sub folders exist\n var dataType = utils.getTypeOf(data),\n parent;\n\n o = prepareFileAttrs(o);\n\n if (o.createFolders && (parent = parentFolder(name))) {\n folderAdd.call(this, parent, true);\n }\n\n if (o.dir || data === null || typeof data === \"undefined\") {\n o.base64 = false;\n o.binary = false;\n data = null;\n }\n else if (dataType === \"string\") {\n if (o.binary && !o.base64) {\n // optimizedBinaryString == true means that the file has already been filtered with a 0xFF mask\n if (o.optimizedBinaryString !== true) {\n // this is a string, not in a base64 format.\n // Be sure that this is a correct \"binary string\"\n data = utils.string2binary(data);\n }\n }\n }\n else { // arraybuffer, uint8array, ...\n o.base64 = false;\n o.binary = true;\n\n if (!dataType && !(data instanceof CompressedObject)) {\n throw new Error(\"The data of '\" + name + \"' is in an unsupported format !\");\n }\n\n // special case : it's way easier to work with Uint8Array than with ArrayBuffer\n if (dataType === \"arraybuffer\") {\n data = utils.transformTo(\"uint8array\", data);\n }\n }\n\n var object = new ZipObject(name, data, o);\n this.files[name] = object;\n return object;\n};\n\n/**\n * Find the parent folder of the path.\n * @private\n * @param {string} path the path to use\n * @return {string} the parent folder, or \"\"\n */\nvar parentFolder = function (path) {\n if (path.slice(-1) == '/') {\n path = path.substring(0, path.length - 1);\n }\n var lastSlash = path.lastIndexOf('/');\n return (lastSlash > 0) ? path.substring(0, lastSlash) : \"\";\n};\n\n/**\n * Add a (sub) folder in the current folder.\n * @private\n * @param {string} name the folder's name\n * @param {boolean=} [createFolders] If true, automatically create sub\n * folders. Defaults to false.\n * @return {Object} the new folder.\n */\nvar folderAdd = function(name, createFolders) {\n // Check the name ends with a /\n if (name.slice(-1) != \"/\") {\n name += \"/\"; // IE doesn't like substr(-1)\n }\n\n createFolders = (typeof createFolders !== 'undefined') ? createFolders : false;\n\n // Does this folder already exist?\n if (!this.files[name]) {\n fileAdd.call(this, name, null, {\n dir: true,\n createFolders: createFolders\n });\n }\n return this.files[name];\n};\n\n/**\n * Generate a JSZip.CompressedObject for a given zipOject.\n * @param {ZipObject} file the object to read.\n * @param {JSZip.compression} compression the compression to use.\n * @return {JSZip.CompressedObject} the compressed result.\n */\nvar generateCompressedObjectFrom = function(file, compression) {\n var result = new CompressedObject(),\n content;\n\n // the data has not been decompressed, we might reuse things !\n if (file._data instanceof CompressedObject) {\n result.uncompressedSize = file._data.uncompressedSize;\n result.crc32 = file._data.crc32;\n\n if (result.uncompressedSize === 0 || file.dir) {\n compression = compressions['STORE'];\n result.compressedContent = \"\";\n result.crc32 = 0;\n }\n else if (file._data.compressionMethod === compression.magic) {\n result.compressedContent = file._data.getCompressedContent();\n }\n else {\n content = file._data.getContent();\n // need to decompress / recompress\n result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content));\n }\n }\n else {\n // have uncompressed data\n content = getBinaryData(file);\n if (!content || content.length === 0 || file.dir) {\n compression = compressions['STORE'];\n content = \"\";\n }\n result.uncompressedSize = content.length;\n result.crc32 = crc32(content);\n result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content));\n }\n\n result.compressedSize = result.compressedContent.length;\n result.compressionMethod = compression.magic;\n\n return result;\n};\n\n/**\n * Generate the various parts used in the construction of the final zip file.\n * @param {string} name the file name.\n * @param {ZipObject} file the file content.\n * @param {JSZip.CompressedObject} compressedObject the compressed object.\n * @param {number} offset the current offset from the start of the zip file.\n * @return {object} the zip parts.\n */\nvar generateZipParts = function(name, file, compressedObject, offset) {\n var data = compressedObject.compressedContent,\n utfEncodedFileName = utils.transformTo(\"string\", utf8.utf8encode(file.name)),\n comment = file.comment || \"\",\n utfEncodedComment = utils.transformTo(\"string\", utf8.utf8encode(comment)),\n useUTF8ForFileName = utfEncodedFileName.length !== file.name.length,\n useUTF8ForComment = utfEncodedComment.length !== comment.length,\n o = file.options,\n dosTime,\n dosDate,\n extraFields = \"\",\n unicodePathExtraField = \"\",\n unicodeCommentExtraField = \"\",\n dir, date;\n\n\n // handle the deprecated options.dir\n if (file._initialMetadata.dir !== file.dir) {\n dir = file.dir;\n } else {\n dir = o.dir;\n }\n\n // handle the deprecated options.date\n if(file._initialMetadata.date !== file.date) {\n date = file.date;\n } else {\n date = o.date;\n }\n\n\n dosTime = date.getHours();\n dosTime = dosTime << 6;\n dosTime = dosTime | date.getMinutes();\n dosTime = dosTime << 5;\n dosTime = dosTime | date.getSeconds() / 2;\n\n dosDate = date.getFullYear() - 1980;\n dosDate = dosDate << 4;\n dosDate = dosDate | (date.getMonth() + 1);\n dosDate = dosDate << 5;\n dosDate = dosDate | date.getDate();\n\n if (useUTF8ForFileName) {\n // set the unicode path extra field. unzip needs at least one extra\n // field to correctly handle unicode path, so using the path is as good\n // as any other information. This could improve the situation with\n // other archive managers too.\n // This field is usually used without the utf8 flag, with a non\n // unicode path in the header (winrar, winzip). This helps (a bit)\n // with the messy Windows' default compressed folders feature but\n // breaks on p7zip which doesn't seek the unicode path extra field.\n // So for now, UTF-8 everywhere !\n unicodePathExtraField =\n // Version\n decToHex(1, 1) +\n // NameCRC32\n decToHex(crc32(utfEncodedFileName), 4) +\n // UnicodeName\n utfEncodedFileName;\n\n extraFields +=\n // Info-ZIP Unicode Path Extra Field\n \"\\x75\\x70\" +\n // size\n decToHex(unicodePathExtraField.length, 2) +\n // content\n unicodePathExtraField;\n }\n\n if(useUTF8ForComment) {\n\n unicodeCommentExtraField =\n // Version\n decToHex(1, 1) +\n // CommentCRC32\n decToHex(this.crc32(utfEncodedComment), 4) +\n // UnicodeName\n utfEncodedComment;\n\n extraFields +=\n // Info-ZIP Unicode Path Extra Field\n \"\\x75\\x63\" +\n // size\n decToHex(unicodeCommentExtraField.length, 2) +\n // content\n unicodeCommentExtraField;\n }\n\n var header = \"\";\n\n // version needed to extract\n header += \"\\x0A\\x00\";\n // general purpose bit flag\n // set bit 11 if utf8\n header += (useUTF8ForFileName || useUTF8ForComment) ? \"\\x00\\x08\" : \"\\x00\\x00\";\n // compression method\n header += compressedObject.compressionMethod;\n // last mod file time\n header += decToHex(dosTime, 2);\n // last mod file date\n header += decToHex(dosDate, 2);\n // crc-32\n header += decToHex(compressedObject.crc32, 4);\n // compressed size\n header += decToHex(compressedObject.compressedSize, 4);\n // uncompressed size\n header += decToHex(compressedObject.uncompressedSize, 4);\n // file name length\n header += decToHex(utfEncodedFileName.length, 2);\n // extra field length\n header += decToHex(extraFields.length, 2);\n\n\n var fileRecord = signature.LOCAL_FILE_HEADER + header + utfEncodedFileName + extraFields;\n\n var dirRecord = signature.CENTRAL_FILE_HEADER +\n // version made by (00: DOS)\n \"\\x14\\x00\" +\n // file header (common to file and central directory)\n header +\n // file comment length\n decToHex(utfEncodedComment.length, 2) +\n // disk number start\n \"\\x00\\x00\" +\n // internal file attributes TODO\n \"\\x00\\x00\" +\n // external file attributes\n (dir === true ? \"\\x10\\x00\\x00\\x00\" : \"\\x00\\x00\\x00\\x00\") +\n // relative offset of local header\n decToHex(offset, 4) +\n // file name\n utfEncodedFileName +\n // extra field\n extraFields +\n // file comment\n utfEncodedComment;\n\n return {\n fileRecord: fileRecord,\n dirRecord: dirRecord,\n compressedObject: compressedObject\n };\n};\n\n\n// return the actual prototype of JSZip\nvar out = {\n /**\n * Read an existing zip and merge the data in the current JSZip object.\n * The implementation is in jszip-load.js, don't forget to include it.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} stream The stream to load\n * @param {Object} options Options for loading the stream.\n * options.base64 : is the stream in base64 ? default : false\n * @return {JSZip} the current JSZip object\n */\n load: function(stream, options) {\n throw new Error(\"Load method is not defined. Is the file jszip-load.js included ?\");\n },\n\n /**\n * Filter nested files/folders with the specified function.\n * @param {Function} search the predicate to use :\n * function (relativePath, file) {...}\n * It takes 2 arguments : the relative path and the file.\n * @return {Array} An array of matching elements.\n */\n filter: function(search) {\n var result = [],\n filename, relativePath, file, fileClone;\n for (filename in this.files) {\n if (!this.files.hasOwnProperty(filename)) {\n continue;\n }\n file = this.files[filename];\n // return a new object, don't let the user mess with our internal objects :)\n fileClone = new ZipObject(file.name, file._data, extend(file.options));\n relativePath = filename.slice(this.root.length, filename.length);\n if (filename.slice(0, this.root.length) === this.root && // the file is in the current root\n search(relativePath, fileClone)) { // and the file matches the function\n result.push(fileClone);\n }\n }\n return result;\n },\n\n /**\n * Add a file to the zip file, or search a file.\n * @param {string|RegExp} name The name of the file to add (if data is defined),\n * the name of the file to find (if no data) or a regex to match files.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded\n * @param {Object} o File options\n * @return {JSZip|Object|Array} this JSZip object (when adding a file),\n * a file (when searching by string) or an array of files (when searching by regex).\n */\n file: function(name, data, o) {\n if (arguments.length === 1) {\n if (utils.isRegExp(name)) {\n var regexp = name;\n return this.filter(function(relativePath, file) {\n return !file.dir && regexp.test(relativePath);\n });\n }\n else { // text\n return this.filter(function(relativePath, file) {\n return !file.dir && relativePath === name;\n })[0] || null;\n }\n }\n else { // more than one argument : we have data !\n name = this.root + name;\n fileAdd.call(this, name, data, o);\n }\n return this;\n },\n\n /**\n * Add a directory to the zip file, or search.\n * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders.\n * @return {JSZip} an object with the new directory as the root, or an array containing matching folders.\n */\n folder: function(arg) {\n if (!arg) {\n return this;\n }\n\n if (utils.isRegExp(arg)) {\n return this.filter(function(relativePath, file) {\n return file.dir && arg.test(relativePath);\n });\n }\n\n // else, name is a new folder\n var name = this.root + arg;\n var newFolder = folderAdd.call(this, name);\n\n // Allow chaining by returning a new object with this folder as the root\n var ret = this.clone();\n ret.root = newFolder.name;\n return ret;\n },\n\n /**\n * Delete a file, or a directory and all sub-files, from the zip\n * @param {string} name the name of the file to delete\n * @return {JSZip} this JSZip object\n */\n remove: function(name) {\n name = this.root + name;\n var file = this.files[name];\n if (!file) {\n // Look for any folders\n if (name.slice(-1) != \"/\") {\n name += \"/\";\n }\n file = this.files[name];\n }\n\n if (file && !file.dir) {\n // file\n delete this.files[name];\n } else {\n // maybe a folder, delete recursively\n var kids = this.filter(function(relativePath, file) {\n return file.name.slice(0, name.length) === name;\n });\n for (var i = 0; i < kids.length; i++) {\n delete this.files[kids[i].name];\n }\n }\n\n return this;\n },\n\n /**\n * Generate the complete zip file\n * @param {Object} options the options to generate the zip file :\n * - base64, (deprecated, use type instead) true to generate base64.\n * - compression, \"STORE\" by default.\n * - type, \"base64\" by default. Values are : string, base64, uint8array, arraybuffer, blob.\n * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file\n */\n generate: function(options) {\n options = extend(options || {}, {\n base64: true,\n compression: \"STORE\",\n type: \"base64\",\n comment: null\n });\n\n utils.checkSupport(options.type);\n\n var zipData = [],\n localDirLength = 0,\n centralDirLength = 0,\n writer, i,\n utfEncodedComment = utils.transformTo(\"string\", this.utf8encode(options.comment || this.comment || \"\"));\n\n // first, generate all the zip parts.\n for (var name in this.files) {\n if (!this.files.hasOwnProperty(name)) {\n continue;\n }\n var file = this.files[name];\n\n var compressionName = file.options.compression || options.compression.toUpperCase();\n var compression = compressions[compressionName];\n if (!compression) {\n throw new Error(compressionName + \" is not a valid compression method !\");\n }\n\n var compressedObject = generateCompressedObjectFrom.call(this, file, compression);\n\n var zipPart = generateZipParts.call(this, name, file, compressedObject, localDirLength);\n localDirLength += zipPart.fileRecord.length + compressedObject.compressedSize;\n centralDirLength += zipPart.dirRecord.length;\n zipData.push(zipPart);\n }\n\n var dirEnd = \"\";\n\n // end of central dir signature\n dirEnd = signature.CENTRAL_DIRECTORY_END +\n // number of this disk\n \"\\x00\\x00\" +\n // number of the disk with the start of the central directory\n \"\\x00\\x00\" +\n // total number of entries in the central directory on this disk\n decToHex(zipData.length, 2) +\n // total number of entries in the central directory\n decToHex(zipData.length, 2) +\n // size of the central directory 4 bytes\n decToHex(centralDirLength, 4) +\n // offset of start of central directory with respect to the starting disk number\n decToHex(localDirLength, 4) +\n // .ZIP file comment length\n decToHex(utfEncodedComment.length, 2) +\n // .ZIP file comment\n utfEncodedComment;\n\n\n // we have all the parts (and the total length)\n // time to create a writer !\n var typeName = options.type.toLowerCase();\n if(typeName===\"uint8array\"||typeName===\"arraybuffer\"||typeName===\"blob\"||typeName===\"nodebuffer\") {\n writer = new Uint8ArrayWriter(localDirLength + centralDirLength + dirEnd.length);\n }else{\n writer = new StringWriter(localDirLength + centralDirLength + dirEnd.length);\n }\n\n for (i = 0; i < zipData.length; i++) {\n writer.append(zipData[i].fileRecord);\n writer.append(zipData[i].compressedObject.compressedContent);\n }\n for (i = 0; i < zipData.length; i++) {\n writer.append(zipData[i].dirRecord);\n }\n\n writer.append(dirEnd);\n\n var zip = writer.finalize();\n\n\n\n switch(options.type.toLowerCase()) {\n // case \"zip is an Uint8Array\"\n case \"uint8array\" :\n case \"arraybuffer\" :\n case \"nodebuffer\" :\n return utils.transformTo(options.type.toLowerCase(), zip);\n case \"blob\" :\n return utils.arrayBuffer2Blob(utils.transformTo(\"arraybuffer\", zip));\n // case \"zip is a string\"\n case \"base64\" :\n return (options.base64) ? base64.encode(zip) : zip;\n default : // case \"string\" :\n return zip;\n }\n\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n crc32: function (input, crc) {\n return crc32(input, crc);\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n utf8encode: function (string) {\n return utils.transformTo(\"string\", utf8.utf8encode(string));\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n utf8decode: function (input) {\n return utf8.utf8decode(input);\n }\n};\nmodule.exports = out;\n\n},{\"./base64\":1,\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./defaults\":6,\"./nodeBuffer\":11,\"./signature\":14,\"./stringWriter\":16,\"./support\":17,\"./uint8ArrayWriter\":19,\"./utf8\":20,\"./utils\":21}],14:[function(_dereq_,module,exports){\n'use strict';\nexports.LOCAL_FILE_HEADER = \"PK\\x03\\x04\";\nexports.CENTRAL_FILE_HEADER = \"PK\\x01\\x02\";\nexports.CENTRAL_DIRECTORY_END = \"PK\\x05\\x06\";\nexports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = \"PK\\x06\\x07\";\nexports.ZIP64_CENTRAL_DIRECTORY_END = \"PK\\x06\\x06\";\nexports.DATA_DESCRIPTOR = \"PK\\x07\\x08\";\n\n},{}],15:[function(_dereq_,module,exports){\n'use strict';\nvar DataReader = _dereq_('./dataReader');\nvar utils = _dereq_('./utils');\n\nfunction StringReader(data, optimizedBinaryString) {\n this.data = data;\n if (!optimizedBinaryString) {\n this.data = utils.string2binary(this.data);\n }\n this.length = this.data.length;\n this.index = 0;\n}\nStringReader.prototype = new DataReader();\n/**\n * @see DataReader.byteAt\n */\nStringReader.prototype.byteAt = function(i) {\n return this.data.charCodeAt(i);\n};\n/**\n * @see DataReader.lastIndexOfSignature\n */\nStringReader.prototype.lastIndexOfSignature = function(sig) {\n return this.data.lastIndexOf(sig);\n};\n/**\n * @see DataReader.readData\n */\nStringReader.prototype.readData = function(size) {\n this.checkOffset(size);\n // this will work because the constructor applied the \"& 0xff\" mask.\n var result = this.data.slice(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = StringReader;\n\n},{\"./dataReader\":5,\"./utils\":21}],16:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\n/**\n * An object to write any content to a string.\n * @constructor\n */\nvar StringWriter = function() {\n this.data = [];\n};\nStringWriter.prototype = {\n /**\n * Append any content to the current string.\n * @param {Object} input the content to add.\n */\n append: function(input) {\n input = utils.transformTo(\"string\", input);\n this.data.push(input);\n },\n /**\n * Finalize the construction an return the result.\n * @return {string} the generated string.\n */\n finalize: function() {\n return this.data.join(\"\");\n }\n};\n\nmodule.exports = StringWriter;\n\n},{\"./utils\":21}],17:[function(_dereq_,module,exports){\n(function (Buffer){\n'use strict';\nexports.base64 = true;\nexports.array = true;\nexports.string = true;\nexports.arraybuffer = typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\";\n// contains true if JSZip can read/generate nodejs Buffer, false otherwise.\n// Browserify will provide a Buffer implementation for browsers, which is\n// an augmented Uint8Array (i.e., can be used as either Buffer or U8).\nexports.nodebuffer = typeof Buffer !== \"undefined\";\n// contains true if JSZip can read/generate Uint8Array, false otherwise.\nexports.uint8array = typeof Uint8Array !== \"undefined\";\n\nif (typeof ArrayBuffer === \"undefined\") {\n exports.blob = false;\n}\nelse {\n var buffer = new ArrayBuffer(0);\n try {\n exports.blob = new Blob([buffer], {\n type: \"application/zip\"\n }).size === 0;\n }\n catch (e) {\n try {\n var Builder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n var builder = new Builder();\n builder.append(buffer);\n exports.blob = builder.getBlob('application/zip').size === 0;\n }\n catch (e) {\n exports.blob = false;\n }\n }\n}\n\n}).call(this,(typeof Buffer !== \"undefined\" ? Buffer : undefined))\n},{}],18:[function(_dereq_,module,exports){\n'use strict';\nvar DataReader = _dereq_('./dataReader');\n\nfunction Uint8ArrayReader(data) {\n if (data) {\n this.data = data;\n this.length = this.data.length;\n this.index = 0;\n }\n}\nUint8ArrayReader.prototype = new DataReader();\n/**\n * @see DataReader.byteAt\n */\nUint8ArrayReader.prototype.byteAt = function(i) {\n return this.data[i];\n};\n/**\n * @see DataReader.lastIndexOfSignature\n */\nUint8ArrayReader.prototype.lastIndexOfSignature = function(sig) {\n var sig0 = sig.charCodeAt(0),\n sig1 = sig.charCodeAt(1),\n sig2 = sig.charCodeAt(2),\n sig3 = sig.charCodeAt(3);\n for (var i = this.length - 4; i >= 0; --i) {\n if (this.data[i] === sig0 && this.data[i + 1] === sig1 && this.data[i + 2] === sig2 && this.data[i + 3] === sig3) {\n return i;\n }\n }\n\n return -1;\n};\n/**\n * @see DataReader.readData\n */\nUint8ArrayReader.prototype.readData = function(size) {\n this.checkOffset(size);\n if(size === 0) {\n // in IE10, when using subarray(idx, idx), we get the array [0x00] instead of [].\n return new Uint8Array(0);\n }\n var result = this.data.subarray(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = Uint8ArrayReader;\n\n},{\"./dataReader\":5}],19:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\n/**\n * An object to write any content to an Uint8Array.\n * @constructor\n * @param {number} length The length of the array.\n */\nvar Uint8ArrayWriter = function(length) {\n this.data = new Uint8Array(length);\n this.index = 0;\n};\nUint8ArrayWriter.prototype = {\n /**\n * Append any content to the current array.\n * @param {Object} input the content to add.\n */\n append: function(input) {\n if (input.length !== 0) {\n // with an empty Uint8Array, Opera fails with a \"Offset larger than array size\"\n input = utils.transformTo(\"uint8array\", input);\n this.data.set(input, this.index);\n this.index += input.length;\n }\n },\n /**\n * Finalize the construction an return the result.\n * @return {Uint8Array} the generated array.\n */\n finalize: function() {\n return this.data;\n }\n};\n\nmodule.exports = Uint8ArrayWriter;\n\n},{\"./utils\":21}],20:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\nvar support = _dereq_('./support');\nvar nodeBuffer = _dereq_('./nodeBuffer');\n\n/**\n * The following functions come from pako, from pako/lib/utils/strings\n * released under the MIT license, see pako https://github.com/nodeca/pako/\n */\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new Array(256);\nfor (var i=0; i<256; i++) {\n _utf8len[i] = (i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);\n}\n_utf8len[254]=_utf8len[254]=1; // Invalid sequence start\n\n// convert string to array (typed, when possible)\nvar string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if (((c & 0xfc00) === 0xd800) && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += (c < 0x80) ? 1 : ((c < 0x800) ? 2 : ((c < 0x10000) ? 3 : 4));\n }\n\n // allocate buffer\n if (support.uint8array) {\n buf = new Uint8Array(buf_len);\n } else {\n buf = new Array(buf_len);\n }\n\n // convert\n for (i=0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | ((c >>> 6) & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | ((c >>> 12) & 0x3f);\n buf[i++] = 0x80 | ((c >>> 6) & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nvar utf8border = function(buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max-1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Fuckup - very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means vuffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n// convert array to string\nvar buf2string = function (buf) {\n var str, i, out, c, c_len;\n var len = buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len*2);\n\n for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n // shrinkBuf(utf16buf, out)\n if (utf16buf.length !== out) {\n if(utf16buf.subarray) {\n utf16buf = utf16buf.subarray(0, out);\n } else {\n utf16buf.length = out;\n }\n }\n\n // return String.fromCharCode.apply(null, utf16buf);\n return utils.applyFromCharCode(utf16buf);\n};\n\n\n// That's all for the pako functions.\n\n\n/**\n * Transform a javascript string into an array (typed if possible) of bytes,\n * UTF-8 encoded.\n * @param {String} str the string to encode\n * @return {Array|Uint8Array|Buffer} the UTF-8 encoded string.\n */\nexports.utf8encode = function utf8encode(str) {\n if (support.nodebuffer) {\n return nodeBuffer(str, \"utf-8\");\n }\n\n return string2buf(str);\n};\n\n\n/**\n * Transform a bytes array (or a representation) representing an UTF-8 encoded\n * string into a javascript string.\n * @param {Array|Uint8Array|Buffer} buf the data de decode\n * @return {String} the decoded string.\n */\nexports.utf8decode = function utf8decode(buf) {\n if (support.nodebuffer) {\n return utils.transformTo(\"nodebuffer\", buf).toString(\"utf-8\");\n }\n\n buf = utils.transformTo(support.uint8array ? \"uint8array\" : \"array\", buf);\n\n // return buf2string(buf);\n // Chrome prefers to work with \"small\" chunks of data\n // for the method buf2string.\n // Firefox and Chrome has their own shortcut, IE doesn't seem to really care.\n var result = [], k = 0, len = buf.length, chunk = 65536;\n while (k < len) {\n var nextBoundary = utf8border(buf, Math.min(k + chunk, len));\n if (support.uint8array) {\n result.push(buf2string(buf.subarray(k, nextBoundary)));\n } else {\n result.push(buf2string(buf.slice(k, nextBoundary)));\n }\n k = nextBoundary;\n }\n return result.join(\"\");\n\n};\n// vim: set shiftwidth=4 softtabstop=4:\n\n},{\"./nodeBuffer\":11,\"./support\":17,\"./utils\":21}],21:[function(_dereq_,module,exports){\n'use strict';\nvar support = _dereq_('./support');\nvar compressions = _dereq_('./compressions');\nvar nodeBuffer = _dereq_('./nodeBuffer');\n/**\n * Convert a string to a \"binary string\" : a string containing only char codes between 0 and 255.\n * @param {string} str the string to transform.\n * @return {String} the binary string.\n */\nexports.string2binary = function(str) {\n var result = \"\";\n for (var i = 0; i < str.length; i++) {\n result += String.fromCharCode(str.charCodeAt(i) & 0xff);\n }\n return result;\n};\nexports.arrayBuffer2Blob = function(buffer) {\n exports.checkSupport(\"blob\");\n\n try {\n // Blob constructor\n return new Blob([buffer], {\n type: \"application/zip\"\n });\n }\n catch (e) {\n\n try {\n // deprecated, browser only, old way\n var Builder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n var builder = new Builder();\n builder.append(buffer);\n return builder.getBlob('application/zip');\n }\n catch (e) {\n\n // well, fuck ?!\n throw new Error(\"Bug : can't construct the Blob.\");\n }\n }\n\n\n};\n/**\n * The identity function.\n * @param {Object} input the input.\n * @return {Object} the same input.\n */\nfunction identity(input) {\n return input;\n}\n\n/**\n * Fill in an array with a string.\n * @param {String} str the string to use.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to fill in (will be mutated).\n * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated array.\n */\nfunction stringToArrayLike(str, array) {\n for (var i = 0; i < str.length; ++i) {\n array[i] = str.charCodeAt(i) & 0xFF;\n }\n return array;\n}\n\n/**\n * Transform an array-like object to a string.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.\n * @return {String} the result.\n */\nfunction arrayLikeToString(array) {\n // Performances notes :\n // --------------------\n // String.fromCharCode.apply(null, array) is the fastest, see\n // see http://jsperf.com/converting-a-uint8array-to-a-string/2\n // but the stack is limited (and we can get huge arrays !).\n //\n // result += String.fromCharCode(array[i]); generate too many strings !\n //\n // This code is inspired by http://jsperf.com/arraybuffer-to-string-apply-performance/2\n var chunk = 65536;\n var result = [],\n len = array.length,\n type = exports.getTypeOf(array),\n k = 0,\n canUseApply = true;\n try {\n switch(type) {\n case \"uint8array\":\n String.fromCharCode.apply(null, new Uint8Array(0));\n break;\n case \"nodebuffer\":\n String.fromCharCode.apply(null, nodeBuffer(0));\n break;\n }\n } catch(e) {\n canUseApply = false;\n }\n\n // no apply : slow and painful algorithm\n // default browser on android 4.*\n if (!canUseApply) {\n var resultStr = \"\";\n for(var i = 0; i < array.length;i++) {\n resultStr += String.fromCharCode(array[i]);\n }\n return resultStr;\n }\n while (k < len && chunk > 1) {\n try {\n if (type === \"array\" || type === \"nodebuffer\") {\n result.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len))));\n }\n else {\n result.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len))));\n }\n k += chunk;\n }\n catch (e) {\n chunk = Math.floor(chunk / 2);\n }\n }\n return result.join(\"\");\n}\n\nexports.applyFromCharCode = arrayLikeToString;\n\n\n/**\n * Copy the data from an array-like to an other array-like.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayFrom the origin array.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayTo the destination array which will be mutated.\n * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated destination array.\n */\nfunction arrayLikeToArrayLike(arrayFrom, arrayTo) {\n for (var i = 0; i < arrayFrom.length; i++) {\n arrayTo[i] = arrayFrom[i];\n }\n return arrayTo;\n}\n\n// a matrix containing functions to transform everything into everything.\nvar transform = {};\n\n// string to ?\ntransform[\"string\"] = {\n \"string\": identity,\n \"array\": function(input) {\n return stringToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return transform[\"string\"][\"uint8array\"](input).buffer;\n },\n \"uint8array\": function(input) {\n return stringToArrayLike(input, new Uint8Array(input.length));\n },\n \"nodebuffer\": function(input) {\n return stringToArrayLike(input, nodeBuffer(input.length));\n }\n};\n\n// array to ?\ntransform[\"array\"] = {\n \"string\": arrayLikeToString,\n \"array\": identity,\n \"arraybuffer\": function(input) {\n return (new Uint8Array(input)).buffer;\n },\n \"uint8array\": function(input) {\n return new Uint8Array(input);\n },\n \"nodebuffer\": function(input) {\n return nodeBuffer(input);\n }\n};\n\n// arraybuffer to ?\ntransform[\"arraybuffer\"] = {\n \"string\": function(input) {\n return arrayLikeToString(new Uint8Array(input));\n },\n \"array\": function(input) {\n return arrayLikeToArrayLike(new Uint8Array(input), new Array(input.byteLength));\n },\n \"arraybuffer\": identity,\n \"uint8array\": function(input) {\n return new Uint8Array(input);\n },\n \"nodebuffer\": function(input) {\n return nodeBuffer(new Uint8Array(input));\n }\n};\n\n// uint8array to ?\ntransform[\"uint8array\"] = {\n \"string\": arrayLikeToString,\n \"array\": function(input) {\n return arrayLikeToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return input.buffer;\n },\n \"uint8array\": identity,\n \"nodebuffer\": function(input) {\n return nodeBuffer(input);\n }\n};\n\n// nodebuffer to ?\ntransform[\"nodebuffer\"] = {\n \"string\": arrayLikeToString,\n \"array\": function(input) {\n return arrayLikeToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return transform[\"nodebuffer\"][\"uint8array\"](input).buffer;\n },\n \"uint8array\": function(input) {\n return arrayLikeToArrayLike(input, new Uint8Array(input.length));\n },\n \"nodebuffer\": identity\n};\n\n/**\n * Transform an input into any type.\n * The supported output type are : string, array, uint8array, arraybuffer, nodebuffer.\n * If no output type is specified, the unmodified input will be returned.\n * @param {String} outputType the output type.\n * @param {String|Array|ArrayBuffer|Uint8Array|Buffer} input the input to convert.\n * @throws {Error} an Error if the browser doesn't support the requested output type.\n */\nexports.transformTo = function(outputType, input) {\n if (!input) {\n // undefined, null, etc\n // an empty string won't harm.\n input = \"\";\n }\n if (!outputType) {\n return input;\n }\n exports.checkSupport(outputType);\n var inputType = exports.getTypeOf(input);\n var result = transform[inputType][outputType](input);\n return result;\n};\n\n/**\n * Return the type of the input.\n * The type will be in a format valid for JSZip.utils.transformTo : string, array, uint8array, arraybuffer.\n * @param {Object} input the input to identify.\n * @return {String} the (lowercase) type of the input.\n */\nexports.getTypeOf = function(input) {\n if (typeof input === \"string\") {\n return \"string\";\n }\n if (Object.prototype.toString.call(input) === \"[object Array]\") {\n return \"array\";\n }\n if (support.nodebuffer && nodeBuffer.test(input)) {\n return \"nodebuffer\";\n }\n if (support.uint8array && input instanceof Uint8Array) {\n return \"uint8array\";\n }\n if (support.arraybuffer && input instanceof ArrayBuffer) {\n return \"arraybuffer\";\n }\n};\n\n/**\n * Throw an exception if the type is not supported.\n * @param {String} type the type to check.\n * @throws {Error} an Error if the browser doesn't support the requested type.\n */\nexports.checkSupport = function(type) {\n var supported = support[type.toLowerCase()];\n if (!supported) {\n throw new Error(type + \" is not supported by this browser\");\n }\n};\nexports.MAX_VALUE_16BITS = 65535;\nexports.MAX_VALUE_32BITS = -1; // well, \"\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\" is parsed as -1\n\n/**\n * Prettify a string read as binary.\n * @param {string} str the string to prettify.\n * @return {string} a pretty string.\n */\nexports.pretty = function(str) {\n var res = '',\n code, i;\n for (i = 0; i < (str || \"\").length; i++) {\n code = str.charCodeAt(i);\n res += '\\\\x' + (code < 16 ? \"0\" : \"\") + code.toString(16).toUpperCase();\n }\n return res;\n};\n\n/**\n * Find a compression registered in JSZip.\n * @param {string} compressionMethod the method magic to find.\n * @return {Object|null} the JSZip compression object, null if none found.\n */\nexports.findCompression = function(compressionMethod) {\n for (var method in compressions) {\n if (!compressions.hasOwnProperty(method)) {\n continue;\n }\n if (compressions[method].magic === compressionMethod) {\n return compressions[method];\n }\n }\n return null;\n};\n/**\n* Cross-window, cross-Node-context regular expression detection\n* @param {Object} object Anything\n* @return {Boolean} true if the object is a regular expression,\n* false otherwise\n*/\nexports.isRegExp = function (object) {\n return Object.prototype.toString.call(object) === \"[object RegExp]\";\n};\n\n\n},{\"./compressions\":3,\"./nodeBuffer\":11,\"./support\":17}],22:[function(_dereq_,module,exports){\n'use strict';\nvar StringReader = _dereq_('./stringReader');\nvar NodeBufferReader = _dereq_('./nodeBufferReader');\nvar Uint8ArrayReader = _dereq_('./uint8ArrayReader');\nvar utils = _dereq_('./utils');\nvar sig = _dereq_('./signature');\nvar ZipEntry = _dereq_('./zipEntry');\nvar support = _dereq_('./support');\nvar jszipProto = _dereq_('./object');\n// class ZipEntries {{{\n/**\n * All the entries in the zip file.\n * @constructor\n * @param {String|ArrayBuffer|Uint8Array} data the binary stream to load.\n * @param {Object} loadOptions Options for loading the stream.\n */\nfunction ZipEntries(data, loadOptions) {\n this.files = [];\n this.loadOptions = loadOptions;\n if (data) {\n this.load(data);\n }\n}\nZipEntries.prototype = {\n /**\n * Check that the reader is on the speficied signature.\n * @param {string} expectedSignature the expected signature.\n * @throws {Error} if it is an other signature.\n */\n checkSignature: function(expectedSignature) {\n var signature = this.reader.readString(4);\n if (signature !== expectedSignature) {\n throw new Error(\"Corrupted zip or bug : unexpected signature \" + \"(\" + utils.pretty(signature) + \", expected \" + utils.pretty(expectedSignature) + \")\");\n }\n },\n /**\n * Read the end of the central directory.\n */\n readBlockEndOfCentral: function() {\n this.diskNumber = this.reader.readInt(2);\n this.diskWithCentralDirStart = this.reader.readInt(2);\n this.centralDirRecordsOnThisDisk = this.reader.readInt(2);\n this.centralDirRecords = this.reader.readInt(2);\n this.centralDirSize = this.reader.readInt(4);\n this.centralDirOffset = this.reader.readInt(4);\n\n this.zipCommentLength = this.reader.readInt(2);\n // warning : the encoding depends of the system locale\n // On a linux machine with LANG=en_US.utf8, this field is utf8 encoded.\n // On a windows machine, this field is encoded with the localized windows code page.\n this.zipComment = this.reader.readString(this.zipCommentLength);\n // To get consistent behavior with the generation part, we will assume that\n // this is utf8 encoded.\n this.zipComment = jszipProto.utf8decode(this.zipComment);\n },\n /**\n * Read the end of the Zip 64 central directory.\n * Not merged with the method readEndOfCentral :\n * The end of central can coexist with its Zip64 brother,\n * I don't want to read the wrong number of bytes !\n */\n readBlockZip64EndOfCentral: function() {\n this.zip64EndOfCentralSize = this.reader.readInt(8);\n this.versionMadeBy = this.reader.readString(2);\n this.versionNeeded = this.reader.readInt(2);\n this.diskNumber = this.reader.readInt(4);\n this.diskWithCentralDirStart = this.reader.readInt(4);\n this.centralDirRecordsOnThisDisk = this.reader.readInt(8);\n this.centralDirRecords = this.reader.readInt(8);\n this.centralDirSize = this.reader.readInt(8);\n this.centralDirOffset = this.reader.readInt(8);\n\n this.zip64ExtensibleData = {};\n var extraDataSize = this.zip64EndOfCentralSize - 44,\n index = 0,\n extraFieldId,\n extraFieldLength,\n extraFieldValue;\n while (index < extraDataSize) {\n extraFieldId = this.reader.readInt(2);\n extraFieldLength = this.reader.readInt(4);\n extraFieldValue = this.reader.readString(extraFieldLength);\n this.zip64ExtensibleData[extraFieldId] = {\n id: extraFieldId,\n length: extraFieldLength,\n value: extraFieldValue\n };\n }\n },\n /**\n * Read the end of the Zip 64 central directory locator.\n */\n readBlockZip64EndOfCentralLocator: function() {\n this.diskWithZip64CentralDirStart = this.reader.readInt(4);\n this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8);\n this.disksCount = this.reader.readInt(4);\n if (this.disksCount > 1) {\n throw new Error(\"Multi-volumes zip are not supported\");\n }\n },\n /**\n * Read the local files, based on the offset read in the central part.\n */\n readLocalFiles: function() {\n var i, file;\n for (i = 0; i < this.files.length; i++) {\n file = this.files[i];\n this.reader.setIndex(file.localHeaderOffset);\n this.checkSignature(sig.LOCAL_FILE_HEADER);\n file.readLocalPart(this.reader);\n file.handleUTF8();\n }\n },\n /**\n * Read the central directory.\n */\n readCentralDir: function() {\n var file;\n\n this.reader.setIndex(this.centralDirOffset);\n while (this.reader.readString(4) === sig.CENTRAL_FILE_HEADER) {\n file = new ZipEntry({\n zip64: this.zip64\n }, this.loadOptions);\n file.readCentralPart(this.reader);\n this.files.push(file);\n }\n },\n /**\n * Read the end of central directory.\n */\n readEndOfCentral: function() {\n var offset = this.reader.lastIndexOfSignature(sig.CENTRAL_DIRECTORY_END);\n if (offset === -1) {\n throw new Error(\"Corrupted zip : can't find end of central directory\");\n }\n this.reader.setIndex(offset);\n this.checkSignature(sig.CENTRAL_DIRECTORY_END);\n this.readBlockEndOfCentral();\n\n\n /* extract from the zip spec :\n 4) If one of the fields in the end of central directory\n record is too small to hold required data, the field\n should be set to -1 (0xFFFF or 0xFFFFFFFF) and the\n ZIP64 format record should be created.\n 5) The end of central directory record and the\n Zip64 end of central directory locator record must\n reside on the same disk when splitting or spanning\n an archive.\n */\n if (this.diskNumber === utils.MAX_VALUE_16BITS || this.diskWithCentralDirStart === utils.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === utils.MAX_VALUE_16BITS || this.centralDirRecords === utils.MAX_VALUE_16BITS || this.centralDirSize === utils.MAX_VALUE_32BITS || this.centralDirOffset === utils.MAX_VALUE_32BITS) {\n this.zip64 = true;\n\n /*\n Warning : the zip64 extension is supported, but ONLY if the 64bits integer read from\n the zip file can fit into a 32bits integer. This cannot be solved : Javascript represents\n all numbers as 64-bit double precision IEEE 754 floating point numbers.\n So, we have 53bits for integers and bitwise operations treat everything as 32bits.\n see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Bitwise_Operators\n and http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf section 8.5\n */\n\n // should look for a zip64 EOCD locator\n offset = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);\n if (offset === -1) {\n throw new Error(\"Corrupted zip : can't find the ZIP64 end of central directory locator\");\n }\n this.reader.setIndex(offset);\n this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);\n this.readBlockZip64EndOfCentralLocator();\n\n // now the zip64 EOCD record\n this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir);\n this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_END);\n this.readBlockZip64EndOfCentral();\n }\n },\n prepareReader: function(data) {\n var type = utils.getTypeOf(data);\n if (type === \"string\" && !support.uint8array) {\n this.reader = new StringReader(data, this.loadOptions.optimizedBinaryString);\n }\n else if (type === \"nodebuffer\") {\n this.reader = new NodeBufferReader(data);\n }\n else {\n this.reader = new Uint8ArrayReader(utils.transformTo(\"uint8array\", data));\n }\n },\n /**\n * Read a zip file and create ZipEntries.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the binary string representing a zip file.\n */\n load: function(data) {\n this.prepareReader(data);\n this.readEndOfCentral();\n this.readCentralDir();\n this.readLocalFiles();\n }\n};\n// }}} end of ZipEntries\nmodule.exports = ZipEntries;\n\n},{\"./nodeBufferReader\":12,\"./object\":13,\"./signature\":14,\"./stringReader\":15,\"./support\":17,\"./uint8ArrayReader\":18,\"./utils\":21,\"./zipEntry\":23}],23:[function(_dereq_,module,exports){\n'use strict';\nvar StringReader = _dereq_('./stringReader');\nvar utils = _dereq_('./utils');\nvar CompressedObject = _dereq_('./compressedObject');\nvar jszipProto = _dereq_('./object');\n// class ZipEntry {{{\n/**\n * An entry in the zip file.\n * @constructor\n * @param {Object} options Options of the current file.\n * @param {Object} loadOptions Options for loading the stream.\n */\nfunction ZipEntry(options, loadOptions) {\n this.options = options;\n this.loadOptions = loadOptions;\n}\nZipEntry.prototype = {\n /**\n * say if the file is encrypted.\n * @return {boolean} true if the file is encrypted, false otherwise.\n */\n isEncrypted: function() {\n // bit 1 is set\n return (this.bitFlag & 0x0001) === 0x0001;\n },\n /**\n * say if the file has utf-8 filename/comment.\n * @return {boolean} true if the filename/comment is in utf-8, false otherwise.\n */\n useUTF8: function() {\n // bit 11 is set\n return (this.bitFlag & 0x0800) === 0x0800;\n },\n /**\n * Prepare the function used to generate the compressed content from this ZipFile.\n * @param {DataReader} reader the reader to use.\n * @param {number} from the offset from where we should read the data.\n * @param {number} length the length of the data to read.\n * @return {Function} the callback to get the compressed content (the type depends of the DataReader class).\n */\n prepareCompressedContent: function(reader, from, length) {\n return function() {\n var previousIndex = reader.index;\n reader.setIndex(from);\n var compressedFileData = reader.readData(length);\n reader.setIndex(previousIndex);\n\n return compressedFileData;\n };\n },\n /**\n * Prepare the function used to generate the uncompressed content from this ZipFile.\n * @param {DataReader} reader the reader to use.\n * @param {number} from the offset from where we should read the data.\n * @param {number} length the length of the data to read.\n * @param {JSZip.compression} compression the compression used on this file.\n * @param {number} uncompressedSize the uncompressed size to expect.\n * @return {Function} the callback to get the uncompressed content (the type depends of the DataReader class).\n */\n prepareContent: function(reader, from, length, compression, uncompressedSize) {\n return function() {\n\n var compressedFileData = utils.transformTo(compression.uncompressInputType, this.getCompressedContent());\n var uncompressedFileData = compression.uncompress(compressedFileData);\n\n if (uncompressedFileData.length !== uncompressedSize) {\n throw new Error(\"Bug : uncompressed data size mismatch\");\n }\n\n return uncompressedFileData;\n };\n },\n /**\n * Read the local part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readLocalPart: function(reader) {\n var compression, localExtraFieldsLength;\n\n // we already know everything from the central dir !\n // If the central dir data are false, we are doomed.\n // On the bright side, the local part is scary : zip64, data descriptors, both, etc.\n // The less data we get here, the more reliable this should be.\n // Let's skip the whole header and dash to the data !\n reader.skip(22);\n // in some zip created on windows, the filename stored in the central dir contains \\ instead of /.\n // Strangely, the filename here is OK.\n // I would love to treat these zip files as corrupted (see http://www.info-zip.org/FAQ.html#backslashes\n // or APPNOTE#4.4.17.1, \"All slashes MUST be forward slashes '/'\") but there are a lot of bad zip generators...\n // Search \"unzip mismatching \"local\" filename continuing with \"central\" filename version\" on\n // the internet.\n //\n // I think I see the logic here : the central directory is used to display\n // content and the local directory is used to extract the files. Mixing / and \\\n // may be used to display \\ to windows users and use / when extracting the files.\n // Unfortunately, this lead also to some issues : http://seclists.org/fulldisclosure/2009/Sep/394\n this.fileNameLength = reader.readInt(2);\n localExtraFieldsLength = reader.readInt(2); // can't be sure this will be the same as the central dir\n this.fileName = reader.readString(this.fileNameLength);\n reader.skip(localExtraFieldsLength);\n\n if (this.compressedSize == -1 || this.uncompressedSize == -1) {\n throw new Error(\"Bug or corrupted zip : didn't get enough informations from the central directory \" + \"(compressedSize == -1 || uncompressedSize == -1)\");\n }\n\n compression = utils.findCompression(this.compressionMethod);\n if (compression === null) { // no compression found\n throw new Error(\"Corrupted zip : compression \" + utils.pretty(this.compressionMethod) + \" unknown (inner file : \" + this.fileName + \")\");\n }\n this.decompressed = new CompressedObject();\n this.decompressed.compressedSize = this.compressedSize;\n this.decompressed.uncompressedSize = this.uncompressedSize;\n this.decompressed.crc32 = this.crc32;\n this.decompressed.compressionMethod = this.compressionMethod;\n this.decompressed.getCompressedContent = this.prepareCompressedContent(reader, reader.index, this.compressedSize, compression);\n this.decompressed.getContent = this.prepareContent(reader, reader.index, this.compressedSize, compression, this.uncompressedSize);\n\n // we need to compute the crc32...\n if (this.loadOptions.checkCRC32) {\n this.decompressed = utils.transformTo(\"string\", this.decompressed.getContent());\n if (jszipProto.crc32(this.decompressed) !== this.crc32) {\n throw new Error(\"Corrupted zip : CRC32 mismatch\");\n }\n }\n },\n\n /**\n * Read the central part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readCentralPart: function(reader) {\n this.versionMadeBy = reader.readString(2);\n this.versionNeeded = reader.readInt(2);\n this.bitFlag = reader.readInt(2);\n this.compressionMethod = reader.readString(2);\n this.date = reader.readDate();\n this.crc32 = reader.readInt(4);\n this.compressedSize = reader.readInt(4);\n this.uncompressedSize = reader.readInt(4);\n this.fileNameLength = reader.readInt(2);\n this.extraFieldsLength = reader.readInt(2);\n this.fileCommentLength = reader.readInt(2);\n this.diskNumberStart = reader.readInt(2);\n this.internalFileAttributes = reader.readInt(2);\n this.externalFileAttributes = reader.readInt(4);\n this.localHeaderOffset = reader.readInt(4);\n\n if (this.isEncrypted()) {\n throw new Error(\"Encrypted zip are not supported\");\n }\n\n this.fileName = reader.readString(this.fileNameLength);\n this.readExtraFields(reader);\n this.parseZIP64ExtraField(reader);\n this.fileComment = reader.readString(this.fileCommentLength);\n\n // warning, this is true only for zip with madeBy == DOS (plateform dependent feature)\n this.dir = this.externalFileAttributes & 0x00000010 ? true : false;\n },\n /**\n * Parse the ZIP64 extra field and merge the info in the current ZipEntry.\n * @param {DataReader} reader the reader to use.\n */\n parseZIP64ExtraField: function(reader) {\n\n if (!this.extraFields[0x0001]) {\n return;\n }\n\n // should be something, preparing the extra reader\n var extraReader = new StringReader(this.extraFields[0x0001].value);\n\n // I really hope that these 64bits integer can fit in 32 bits integer, because js\n // won't let us have more.\n if (this.uncompressedSize === utils.MAX_VALUE_32BITS) {\n this.uncompressedSize = extraReader.readInt(8);\n }\n if (this.compressedSize === utils.MAX_VALUE_32BITS) {\n this.compressedSize = extraReader.readInt(8);\n }\n if (this.localHeaderOffset === utils.MAX_VALUE_32BITS) {\n this.localHeaderOffset = extraReader.readInt(8);\n }\n if (this.diskNumberStart === utils.MAX_VALUE_32BITS) {\n this.diskNumberStart = extraReader.readInt(4);\n }\n },\n /**\n * Read the central part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readExtraFields: function(reader) {\n var start = reader.index,\n extraFieldId,\n extraFieldLength,\n extraFieldValue;\n\n this.extraFields = this.extraFields || {};\n\n while (reader.index < start + this.extraFieldsLength) {\n extraFieldId = reader.readInt(2);\n extraFieldLength = reader.readInt(2);\n extraFieldValue = reader.readString(extraFieldLength);\n\n this.extraFields[extraFieldId] = {\n id: extraFieldId,\n length: extraFieldLength,\n value: extraFieldValue\n };\n }\n },\n /**\n * Apply an UTF8 transformation if needed.\n */\n handleUTF8: function() {\n if (this.useUTF8()) {\n this.fileName = jszipProto.utf8decode(this.fileName);\n this.fileComment = jszipProto.utf8decode(this.fileComment);\n } else {\n var upath = this.findExtraFieldUnicodePath();\n if (upath !== null) {\n this.fileName = upath;\n }\n var ucomment = this.findExtraFieldUnicodeComment();\n if (ucomment !== null) {\n this.fileComment = ucomment;\n }\n }\n },\n\n /**\n * Find the unicode path declared in the extra field, if any.\n * @return {String} the unicode path, null otherwise.\n */\n findExtraFieldUnicodePath: function() {\n var upathField = this.extraFields[0x7075];\n if (upathField) {\n var extraReader = new StringReader(upathField.value);\n\n // wrong version\n if (extraReader.readInt(1) !== 1) {\n return null;\n }\n\n // the crc of the filename changed, this field is out of date.\n if (jszipProto.crc32(this.fileName) !== extraReader.readInt(4)) {\n return null;\n }\n\n return jszipProto.utf8decode(extraReader.readString(upathField.length - 5));\n }\n return null;\n },\n\n /**\n * Find the unicode comment declared in the extra field, if any.\n * @return {String} the unicode comment, null otherwise.\n */\n findExtraFieldUnicodeComment: function() {\n var ucommentField = this.extraFields[0x6375];\n if (ucommentField) {\n var extraReader = new StringReader(ucommentField.value);\n\n // wrong version\n if (extraReader.readInt(1) !== 1) {\n return null;\n }\n\n // the crc of the comment changed, this field is out of date.\n if (jszipProto.crc32(this.fileComment) !== extraReader.readInt(4)) {\n return null;\n }\n\n return jszipProto.utf8decode(extraReader.readString(ucommentField.length - 5));\n }\n return null;\n }\n};\nmodule.exports = ZipEntry;\n\n},{\"./compressedObject\":2,\"./object\":13,\"./stringReader\":15,\"./utils\":21}],24:[function(_dereq_,module,exports){\n// Top level file is just a mixin of submodules & constants\n'use strict';\n\nvar assign = _dereq_('./lib/utils/common').assign;\n\nvar deflate = _dereq_('./lib/deflate');\nvar inflate = _dereq_('./lib/inflate');\nvar constants = _dereq_('./lib/zlib/constants');\n\nvar pako = {};\n\nassign(pako, deflate, inflate, constants);\n\nmodule.exports = pako;\n},{\"./lib/deflate\":25,\"./lib/inflate\":26,\"./lib/utils/common\":27,\"./lib/zlib/constants\":30}],25:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar zlib_deflate = _dereq_('./zlib/deflate.js');\nvar utils = _dereq_('./utils/common');\nvar strings = _dereq_('./utils/strings');\nvar msg = _dereq_('./zlib/messages');\nvar zstream = _dereq_('./zlib/zstream');\n\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nvar Z_NO_FLUSH = 0;\nvar Z_FINISH = 4;\n\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n\nvar Z_DEFAULT_COMPRESSION = -1;\n\nvar Z_DEFAULT_STRATEGY = 0;\n\nvar Z_DEFLATED = 8;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overriden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nvar Deflate = function(options) {\n\n this.options = utils.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n var status = zlib_deflate.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\n }\n};\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|String): input data. Strings will be converted to\n * utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` meansh Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That flush internal pending buffers and call\n * [[Deflate#onEnd]].\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate.prototype.push = function(data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = zlib_deflate.deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && _mode === Z_FINISH)) {\n if (this.options.to === 'string') {\n this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = zlib_deflate.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): ouput data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function(chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that input stream complete\n * or error happenned. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function(status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate alrorythm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate(input, options);\n}\n\n\nexports.Deflate = Deflate;\nexports.deflate = deflate;\nexports.deflateRaw = deflateRaw;\nexports.gzip = gzip;\n},{\"./utils/common\":27,\"./utils/strings\":28,\"./zlib/deflate.js\":32,\"./zlib/messages\":37,\"./zlib/zstream\":39}],26:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar zlib_inflate = _dereq_('./zlib/inflate.js');\nvar utils = _dereq_('./utils/common');\nvar strings = _dereq_('./utils/strings');\nvar c = _dereq_('./zlib/constants');\nvar msg = _dereq_('./zlib/messages');\nvar zstream = _dereq_('./zlib/zstream');\nvar gzheader = _dereq_('./zlib/gzheader');\n\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overriden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nvar Inflate = function(options) {\n\n this.options = utils.assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n var status = zlib_inflate.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new gzheader();\n\n zlib_inflate.inflateGetHeader(this.strm, this.header);\n};\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` meansh Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That flush internal pending buffers and call\n * [[Inflate#onEnd]].\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate.prototype.push = function(data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = strings.binstring2buf(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */\n\n if (status !== c.Z_STREAM_END && status !== c.Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && _mode === c.Z_FINISH)) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n } while ((strm.avail_in > 0) && status !== c.Z_STREAM_END);\n\n if (status === c.Z_STREAM_END) {\n _mode = c.Z_FINISH;\n }\n // Finalize on the last chunk.\n if (_mode === c.Z_FINISH) {\n status = zlib_inflate.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === c.Z_OK;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): ouput data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function(chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell inflate that input stream complete\n * or error happenned. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function(status) {\n // On success - join\n if (status === c.Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 alligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nexports.Inflate = Inflate;\nexports.inflate = inflate;\nexports.inflateRaw = inflateRaw;\nexports.ungzip = inflate;\n\n},{\"./utils/common\":27,\"./utils/strings\":28,\"./zlib/constants\":30,\"./zlib/gzheader\":33,\"./zlib/inflate.js\":35,\"./zlib/messages\":37,\"./zlib/zstream\":39}],27:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof(source) !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (source.hasOwnProperty(p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs+len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for(var i=0; i= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);\n}\n_utf8len[254]=_utf8len[254]=1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nexports.string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new utils.Buf8(buf_len);\n\n // convert\n for (i=0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper (used in 2 places)\nfunction buf2binstring(buf, len) {\n // use fallback for big arrays to avoid stack overflow\n if (len < 65537) {\n if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {\n return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for(var i=0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nexports.buf2binstring = function(buf) {\n return buf2binstring(buf, buf.length);\n};\n\n\n// Convert binary string (typed, when possible)\nexports.binstring2buf = function(str) {\n var buf = new utils.Buf8(str.length);\n for(var i=0, len=buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n};\n\n\n// convert array to string\nexports.buf2string = function (buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len*2);\n\n for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nexports.utf8border = function(buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max-1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Fuckup - very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means vuffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n},{\"./common\":27}],29:[function(_dereq_,module,exports){\n'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It doesn't worth to make additional optimizationa as in original.\n// Small size is preferable.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0\n , s2 = ((adler >>> 16) & 0xffff) |0\n , n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n},{}],30:[function(_dereq_,module,exports){\nmodule.exports = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n //Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n},{}],31:[function(_dereq_,module,exports){\n'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for(var n =0; n < 256; n++){\n c = n;\n for(var k =0; k < 8; k++){\n c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable\n , end = pos + len;\n\n crc = crc ^ (-1);\n\n for (var i = pos; i < end; i++ ) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n},{}],32:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('../utils/common');\nvar trees = _dereq_('./trees');\nvar adler32 = _dereq_('./adler32');\nvar crc32 = _dereq_('./crc32');\nvar msg = _dereq_('./messages');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\n//var Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n//var Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION = 0;\n//var Z_BEST_SPEED = 1;\n//var Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY = 0;\n//var Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES = 30;\n/* number of distance codes */\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE = 2*L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only (s, last) {\n trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n utils.arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH-1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH-1)) ? s.strstart : MIN_MATCH-1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH-1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size-MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH-1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = trees._tr_tally(s, s.strstart - 1- s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length-1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH-1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart-1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart-1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH-1 ? s.strstart : MIN_MATCH-1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nvar Config = function (good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n};\n\nvar configuration_table;\n\nconfiguration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);\n this.dyn_dtree = new utils.Buf16((2*D_CODES+1) * 2);\n this.bl_tree = new utils.Buf16((2*BL_CODES+1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new utils.Buf16(MAX_BITS+1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new utils.Buf16(2*L_CODES+1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new utils.Buf16(2*L_CODES+1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n trees._tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new utils.Buf8(s.w_size * 2);\n s.head = new utils.Buf16(s.hash_size);\n s.prev = new utils.Buf16(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n s.d_buf = s.lit_bufsize >> 1;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg){\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n trees._tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n trees._tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n/* =========================================================================\n * Copy the source state to the destination state\n */\n//function deflateCopy(dest, source) {\n//\n//}\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n},{\"../utils/common\":27,\"./adler32\":29,\"./crc32\":31,\"./messages\":37,\"./trees\":38}],33:[function(_dereq_,module,exports){\n'use strict';\n\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nmodule.exports = GZheader;\n},{}],34:[function(_dereq_,module,exports){\n'use strict';\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n var window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n},{}],35:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\nvar adler32 = _dereq_('./adler32');\nvar crc32 = _dereq_('./crc32');\nvar inflate_fast = _dereq_('./inffast');\nvar inflate_table = _dereq_('./inftrees');\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction ZSWAP32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, {bits: 9});\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, {bits: 5});\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window,src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window,src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window,src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more conveniend processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0 /*crc32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = ZSWAP32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = {bits: state.lenbits};\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = {bits: state.lenbits};\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = {bits: state.distbits};\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) -1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) -1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) -1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) -1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) -1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) -1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' insdead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, ZSWAP32 returns signed too\n if ((state.flags ? hold : ZSWAP32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n},{\"../utils/common\":27,\"./adler32\":29,\"./crc32\":31,\"./inffast\":34,\"./inftrees\":36}],36:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS+1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS+1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n var i=0;\n /* process all codes and make table entries */\n for (;;) {\n i++;\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n},{\"../utils/common\":27}],37:[function(_dereq_,module,exports){\n'use strict';\n\nmodule.exports = {\n '2': 'need dictionary', /* Z_NEED_DICT 2 */\n '1': 'stream end', /* Z_STREAM_END 1 */\n '0': '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n},{}],38:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED = 1;\n//var Z_HUFFMAN_ONLY = 2;\n//var Z_RLE = 3;\nvar Z_FIXED = 4;\n//var Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2*L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\nvar extra_lbits = /* extra bits for each length code */\n [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];\n\nvar extra_dbits = /* extra bits for each distance code */\n [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array insdead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree = new Array((L_CODES+2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code = new Array(MAX_MATCH-MIN_MATCH+1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nvar StaticTreeDesc = function (static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n};\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nvar TreeDesc = function(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n};\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short (s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c*2]/*.Code*/, tree[c*2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max]*2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max+1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n*2 +1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n*2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n-base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n*2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length-1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits+1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m*2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m*2 + 1]/*.Len*/)*tree[m*2]/*.Freq*/;\n tree[m*2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS+1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits-1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES-1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1< dist code (0..29) */\n dist = 0;\n for (code = 0 ; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1<>= 7; /* from now on, all distances are divided by 128 */\n for ( ; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n*2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n*2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n*2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n*2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES+1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n*2 + 1]/*.Len*/ = 5;\n static_dtree[n*2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc =new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n*2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n*2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n*2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK*2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n*2;\n var _m2 = m*2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j+1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx*2] << 8) | (s.pending_buf[s.d_buf + lx*2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code+LITERALS+1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n*2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node*2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n*2 + 1]/*.Dad*/ = tree[m*2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0*2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code+1)*2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n+1)*2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6*2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10*2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138*2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0*2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n+1)*2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count-3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count-3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count-11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex]*2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3*(max_blindex+1) + 5+5+4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes-1, 5);\n send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank]*2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes-1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes-1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n*2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK<<1)+(last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES<<1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len+3+7) >>> 3;\n static_lenb = (s.static_len+3+7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len+4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES<<1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES<<1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code+1, s.d_desc.max_code+1, max_blindex+1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc*2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc]+LITERALS+1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize-1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\nexports._tr_init = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n},{\"../utils/common\":27}],39:[function(_dereq_,module,exports){\n'use strict';\n\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nmodule.exports = ZStream;\n},{}]},{},[9])\n(9)\n}));\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/* cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W100 */\nvar cptable = {version:\"1.14.0\"};\ncptable[437] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[620] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖÜ¢Ł¥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[737] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[850] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[852] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[857] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[861] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[865] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[866] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[874] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[895] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ČüéďäĎŤčěĚĹÍľǪÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[932] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[135] = \"����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[224] = \"����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[237] = \"����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[250] = \"����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[936] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nD[254] = \"����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[254].length; ++j) if(D[254][j].charCodeAt(0) !== 0xFFFD) { e[D[254][j]] = 65024 + j; d[65024 + j] = D[254][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[949] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆЪĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[950] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[201] = \"����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[1250] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1251] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1252] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1253] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1254] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1255] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1256] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1257] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1258] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10000] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10006] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10007] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10008] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€���������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。・ˉˇ¨〃々―~�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[176] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[10029] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10079] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10081] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\n// eslint-disable-next-line no-undef\nif (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = cptable;\n/* cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ft=javascript: */\n/*jshint newcap: false */\n(function(root, factory) {\n /*jshint ignore:start */\n /*eslint-disable */\n \"use strict\";\n if(typeof cptable === \"undefined\") {\n if(typeof require !== \"undefined\"){\n var cpt = cptable;\n if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = factory(cpt);\n else root.cptable = factory(cpt);\n } else throw new Error(\"cptable not found\");\n } else cptable = factory(cptable);\n /*eslint-enable */\n /*jshint ignore:end */\n}(this, function(cpt){\n \"use strict\";\n /*global module, Buffer */\n var magic = {\n \"1200\":\"utf16le\",\n \"1201\":\"utf16be\",\n \"12000\":\"utf32le\",\n \"12001\":\"utf32be\",\n \"16969\":\"utf64le\",\n \"20127\":\"ascii\",\n \"65000\":\"utf7\",\n \"65001\":\"utf8\"\n };\n\n var sbcs_cache = [874,1250,1251,1252,1253,1254,1255,1256,10000];\n var dbcs_cache = [932,936,949,950];\n var magic_cache = [65001];\n var magic_decode = {};\n var magic_encode = {};\n var cpdcache = {};\n var cpecache = {};\n\n var sfcc = function sfcc(x) { return String.fromCharCode(x); };\n var cca = function cca(x) { return x.charCodeAt(0); };\n\n var has_buf = (typeof Buffer !== 'undefined');\n var Buffer_from = function(){};\n if(has_buf) {\n var nbfs = !Buffer.from;\n if(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n Buffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n // $FlowIgnore\n if(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };\n\n var mdl = 1024, mdb = Buffer.allocUnsafe(mdl);\n var make_EE = function make_EE(E){\n var EE = Buffer.allocUnsafe(65536);\n for(var i = 0; i < 65536;++i) EE[i] = 0;\n var keys = Object.keys(E), len = keys.length;\n for(var ee = 0, e = keys[ee]; ee < len; ++ee) {\n if(!(e = keys[ee])) continue;\n EE[e.charCodeAt(0)] = E[e];\n }\n return EE;\n };\n var sbcs_encode = function make_sbcs_encode(cp) {\n var EE = make_EE(cpt[cp].enc);\n return function sbcs_e(data, ofmt) {\n var len = data.length;\n var out, i=0, j=0, D=0, w=0;\n if(typeof data === 'string') {\n out = Buffer.allocUnsafe(len);\n for(i = 0; i < len; ++i) out[i] = EE[data.charCodeAt(i)];\n } else if(Buffer.isBuffer(data)) {\n out = Buffer.allocUnsafe(2*len);\n j = 0;\n for(i = 0; i < len; ++i) {\n D = data[i];\n if(D < 128) out[j++] = EE[D];\n else if(D < 224) { out[j++] = EE[((D&31)<<6)+(data[i+1]&63)]; ++i; }\n else if(D < 240) { out[j++] = EE[((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63)]; i+=2; }\n else {\n w = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3;\n if(w < 65536) out[j++] = EE[w];\n else { w -= 65536; out[j++] = EE[0xD800 + ((w>>10)&1023)]; out[j++] = EE[0xDC00 + (w&1023)]; }\n }\n }\n out = out.slice(0,j);\n } else {\n out = Buffer.allocUnsafe(len);\n for(i = 0; i < len; ++i) out[i] = EE[data[i].charCodeAt(0)];\n }\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n };\n var sbcs_decode = function make_sbcs_decode(cp) {\n var D = cpt[cp].dec;\n var DD = Buffer.allocUnsafe(131072), d=0, c=\"\";\n for(d=0;d>8;\n }\n return function sbcs_d(data) {\n var len = data.length, i=0, j=0;\n if(2 * len > mdl) { mdl = 2 * len; mdb = Buffer.allocUnsafe(mdl); }\n if(Buffer.isBuffer(data)) {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n } else if(typeof data === \"string\") {\n for(i = 0; i < len; i++) {\n j = 2*data.charCodeAt(i);\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n } else {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n }\n return mdb.slice(0, 2 * len).toString('ucs2');\n };\n };\n var dbcs_encode = function make_dbcs_encode(cp) {\n var E = cpt[cp].enc;\n var EE = Buffer.allocUnsafe(131072);\n for(var i = 0; i < 131072; ++i) EE[i] = 0;\n var keys = Object.keys(E);\n for(var ee = 0, e = keys[ee]; ee < keys.length; ++ee) {\n if(!(e = keys[ee])) continue;\n var f = e.charCodeAt(0);\n EE[2*f] = E[e] & 255; EE[2*f+1] = E[e]>>8;\n }\n return function dbcs_e(data, ofmt) {\n var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, jj=0, k=0, D=0;\n if(typeof data === 'string') {\n for(i = k = 0; i < len; ++i) {\n j = data.charCodeAt(i)*2;\n out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n out = out.slice(0,k);\n } else if(Buffer.isBuffer(data)) {\n for(i = k = 0; i < len; ++i) {\n D = data[i];\n if(D < 128) j = D;\n else if(D < 224) { j = ((D&31)<<6)+(data[i+1]&63); ++i; }\n else if(D < 240) { j = ((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63); i+=2; }\n else { j = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3; }\n if(j<65536) { j*=2; out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; }\n else { jj = j-65536;\n j=2*(0xD800 + ((jj>>10)&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n j=2*(0xDC00 + (jj&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n }\n out = out.slice(0,k);\n } else {\n for(i = k = 0; i < len; i++) {\n j = data[i].charCodeAt(0)*2;\n out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n }\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n };\n var dbcs_decode = function make_dbcs_decode(cp) {\n var D = cpt[cp].dec;\n var DD = Buffer.allocUnsafe(131072), d=0, c, w=0, j=0, i=0;\n for(i = 0; i < 65536; ++i) { DD[2*i] = 0xFF; DD[2*i+1] = 0xFD;}\n for(d = 0; d < D.length; ++d) {\n if(!(c=D[d])) continue;\n w = c.charCodeAt(0);\n j = 2*d;\n DD[j] = w&255; DD[j+1] = w>>8;\n }\n return function dbcs_d(data) {\n var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, k=0;\n if(Buffer.isBuffer(data)) {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n } else if(typeof data === \"string\") {\n for(i = 0; i < len; i++) {\n j = 2*data.charCodeAt(i);\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data.charCodeAt(i)<<8)+data.charCodeAt(i+1)); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n } else {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n }\n return out.slice(0,k).toString('ucs2');\n };\n };\n magic_decode[65001] = function utf8_d(data) {\n if(typeof data === \"string\") return utf8_d(data.split(\"\").map(cca));\n var len = data.length, w = 0, ww = 0;\n if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }\n var i = 0;\n if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n for(var j = 1, k = 0, D = 0; i < len; i+=j) {\n j = 1; D = data[i];\n if(D < 128) w = D;\n else if(D < 224) { w=(D&31)*64+(data[i+1]&63); j=2; }\n else if(D < 240) { w=((D&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n else { w=(D&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n if(w < 65536) { mdb[k++] = w&255; mdb[k++] = w>>8; }\n else {\n w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n mdb[k++] = ww&255; mdb[k++] = ww>>>8; mdb[k++] = w&255; mdb[k++] = (w>>>8)&255;\n }\n }\n return mdb.slice(0,k).toString('ucs2');\n };\n magic_encode[65001] = function utf8_e(data, ofmt) {\n if(has_buf && Buffer.isBuffer(data)) {\n if(!ofmt || ofmt === 'buf') return data;\n if(ofmt !== 'arr') return data.toString('binary');\n return [].slice.call(data);\n }\n var len = data.length, w = 0, ww = 0, j = 0;\n var direct = typeof data === \"string\";\n if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }\n for(var i = 0; i < len; ++i) {\n w = direct ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) mdb[j++] = w;\n else if(w <= 0x07FF) {\n mdb[j++] = 192 + (w >> 6);\n mdb[j++] = 128 + (w&63);\n } else if(w >= 0xD800 && w <= 0xDFFF) {\n w -= 0xD800; ++i;\n ww = (direct ? data.charCodeAt(i) : data[i].charCodeAt(0)) - 0xDC00 + (w << 10);\n mdb[j++] = 240 + ((ww>>>18) & 0x07);\n mdb[j++] = 144 + ((ww>>>12) & 0x3F);\n mdb[j++] = 128 + ((ww>>>6) & 0x3F);\n mdb[j++] = 128 + (ww & 0x3F);\n } else {\n mdb[j++] = 224 + (w >> 12);\n mdb[j++] = 128 + ((w >> 6)&63);\n mdb[j++] = 128 + (w&63);\n }\n }\n if(!ofmt || ofmt === 'buf') return mdb.slice(0,j);\n if(ofmt !== 'arr') return mdb.slice(0,j).toString('binary');\n return [].slice.call(mdb, 0, j);\n };\n }\n\n var encache = function encache() {\n if(has_buf) {\n if(cpdcache[sbcs_cache[0]]) return;\n var i=0, s=0;\n for(i = 0; i < sbcs_cache.length; ++i) {\n s = sbcs_cache[i];\n if(cpt[s]) {\n cpdcache[s] = sbcs_decode(s);\n cpecache[s] = sbcs_encode(s);\n }\n }\n for(i = 0; i < dbcs_cache.length; ++i) {\n s = dbcs_cache[i];\n if(cpt[s]) {\n cpdcache[s] = dbcs_decode(s);\n cpecache[s] = dbcs_encode(s);\n }\n }\n for(i = 0; i < magic_cache.length; ++i) {\n s = magic_cache[i];\n if(magic_decode[s]) cpdcache[s] = magic_decode[s];\n if(magic_encode[s]) cpecache[s] = magic_encode[s];\n }\n }\n };\n var null_enc = function(data, ofmt) { void ofmt; return \"\"; };\n var cp_decache = function cp_decache(cp) { delete cpdcache[cp]; delete cpecache[cp]; };\n var decache = function decache() {\n if(has_buf) {\n if(!cpdcache[sbcs_cache[0]]) return;\n sbcs_cache.forEach(cp_decache);\n dbcs_cache.forEach(cp_decache);\n magic_cache.forEach(cp_decache);\n }\n last_enc = null_enc; last_cp = 0;\n };\n var cache = {\n encache: encache,\n decache: decache,\n sbcs: sbcs_cache,\n dbcs: dbcs_cache\n };\n\n encache();\n\n var BM = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var SetD = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?\";\n var last_enc = null_enc, last_cp = 0;\n var encode = function encode(cp, data, ofmt) {\n if(cp === last_cp && last_enc) { return last_enc(data, ofmt); }\n if(cpecache[cp]) { last_enc = cpecache[last_cp=cp]; return last_enc(data, ofmt); }\n if(has_buf && Buffer.isBuffer(data)) data = data.toString('utf8');\n var len = data.length;\n var out = has_buf ? Buffer.allocUnsafe(4*len) : [], w=0, i=0, j = 0, ww=0;\n var C = cpt[cp], E, M = \"\";\n var isstr = typeof data === 'string';\n if(C && (E=C.enc)) for(i = 0; i < len; ++i, ++j) {\n w = E[isstr? data.charAt(i) : data[i]];\n if(w > 255) {\n out[j] = w>>8;\n out[++j] = w&255;\n } else out[j] = w&255;\n }\n else if((M=magic[cp])) switch(M) {\n case \"utf8\":\n if(has_buf && isstr) { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i, ++j) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) out[j] = w;\n else if(w <= 0x07FF) {\n out[j] = 192 + (w >> 6);\n out[++j] = 128 + (w&63);\n } else if(w >= 0xD800 && w <= 0xDFFF) {\n w -= 0xD800;\n ww = (isstr ? data.charCodeAt(++i) : data[++i].charCodeAt(0)) - 0xDC00 + (w << 10);\n out[j] = 240 + ((ww>>>18) & 0x07);\n out[++j] = 144 + ((ww>>>12) & 0x3F);\n out[++j] = 128 + ((ww>>>6) & 0x3F);\n out[++j] = 128 + (ww & 0x3F);\n } else {\n out[j] = 224 + (w >> 12);\n out[++j] = 128 + ((w >> 6)&63);\n out[++j] = 128 + (w&63);\n }\n }\n break;\n case \"ascii\":\n if(has_buf && typeof data === \"string\") { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i, ++j) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) out[j] = w;\n else throw new Error(\"bad ascii \" + w);\n }\n break;\n case \"utf16le\":\n if(has_buf && typeof data === \"string\") { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n out[j++] = w&255;\n out[j++] = w>>8;\n }\n break;\n case \"utf16be\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n out[j++] = w>>8;\n out[j++] = w&255;\n }\n break;\n case \"utf32le\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255;\n }\n break;\n case \"utf32be\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n out[j+3] = w&255; w >>= 8;\n out[j+2] = w&255; w >>= 8;\n out[j+1] = w&255; w >>= 8;\n out[j] = w&255;\n j+=4;\n }\n break;\n case \"utf7\":\n for(i = 0; i < len; i++) {\n var c = isstr ? data.charAt(i) : data[i].charAt(0);\n if(c === \"+\") { out[j++] = 0x2b; out[j++] = 0x2d; continue; }\n if(SetD.indexOf(c) > -1) { out[j++] = c.charCodeAt(0); continue; }\n var tt = encode(1201, c);\n out[j++] = 0x2b;\n out[j++] = BM.charCodeAt(tt[0]>>2);\n out[j++] = BM.charCodeAt(((tt[0]&0x03)<<4) + ((tt[1]||0)>>4));\n out[j++] = BM.charCodeAt(((tt[1]&0x0F)<<2) + ((tt[2]||0)>>6));\n out[j++] = 0x2d;\n }\n break;\n default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n }\n else throw new Error(\"Unrecognized CP: \" + cp);\n out = out.slice(0,j);\n if(!has_buf) return (ofmt == 'str') ? (out).map(sfcc).join(\"\") : out;\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n var decode = function decode(cp, data) {\n var F; if((F=cpdcache[cp])) return F(data);\n if(typeof data === \"string\") return decode(cp, data.split(\"\").map(cca));\n var len = data.length, out = new Array(len), s=\"\", w=0, i=0, j=1, k=0, ww=0;\n var C = cpt[cp], D, M=\"\";\n if(C && (D=C.dec)) {\n for(i = 0; i < len; i+=j) {\n j = 2;\n s = D[(data[i]<<8)+ data[i+1]];\n if(!s) {\n j = 1;\n s = D[data[i]];\n }\n if(!s) throw new Error('Unrecognized code: ' + data[i] + ' ' + data[i+j-1] + ' ' + i + ' ' + j + ' ' + D[data[i]]);\n out[k++] = s;\n }\n }\n else if((M=magic[cp])) switch(M) {\n case \"utf8\":\n if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n for(; i < len; i+=j) {\n j = 1;\n if(data[i] < 128) w = data[i];\n else if(data[i] < 224) { w=(data[i]&31)*64+(data[i+1]&63); j=2; }\n else if(data[i] < 240) { w=((data[i]&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n else { w=(data[i]&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n if(w < 65536) { out[k++] = String.fromCharCode(w); }\n else {\n w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n out[k++] = String.fromCharCode(ww); out[k++] = String.fromCharCode(w);\n }\n }\n break;\n case \"ascii\":\n if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n for(i = 0; i < len; i++) out[i] = String.fromCharCode(data[i]);\n k = len; break;\n case \"utf16le\":\n if(len >= 2 && data[0] == 0xFF) if(data[1] == 0xFE) i = 2;\n if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n j = 2;\n for(; i+1 < len; i+=j) {\n out[k++] = String.fromCharCode((data[i+1]<<8) + data[i]);\n }\n break;\n case \"utf16be\":\n if(len >= 2 && data[0] == 0xFE) if(data[1] == 0xFF) i = 2;\n j = 2;\n for(; i+1 < len; i+=j) {\n out[k++] = String.fromCharCode((data[i]<<8) + data[i+1]);\n }\n break;\n case \"utf32le\":\n if(len >= 4 && data[0] == 0xFF) if(data[1] == 0xFE && data[2] === 0 && data[3] === 0) i = 4;\n j = 4;\n for(; i < len; i+=j) {\n w = (data[i+3]<<24) + (data[i+2]<<16) + (data[i+1]<<8) + (data[i]);\n if(w > 0xFFFF) {\n w -= 0x10000;\n out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n }\n else out[k++] = String.fromCharCode(w);\n }\n break;\n case \"utf32be\":\n if(len >= 4 && data[3] == 0xFF) if(data[2] == 0xFE && data[1] === 0 && data[0] === 0) i = 4;\n j = 4;\n for(; i < len; i+=j) {\n w = (data[i]<<24) + (data[i+1]<<16) + (data[i+2]<<8) + (data[i+3]);\n if(w > 0xFFFF) {\n w -= 0x10000;\n out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n }\n else out[k++] = String.fromCharCode(w);\n }\n break;\n case \"utf7\":\n if(len >= 4 && data[0] == 0x2B && data[1] == 0x2F && data[2] == 0x76) {\n if(len >= 5 && data[3] == 0x38 && data[4] == 0x2D) i = 5;\n else if(data[3] == 0x38 || data[3] == 0x39 || data[3] == 0x2B || data[3] == 0x2F) i = 4;\n }\n for(; i < len; i+=j) {\n if(data[i] !== 0x2b) { j=1; out[k++] = String.fromCharCode(data[i]); continue; }\n j=1;\n if(data[i+1] === 0x2d) { j = 2; out[k++] = \"+\"; continue; }\n // eslint-disable-next-line no-useless-escape\n while(String.fromCharCode(data[i+j]).match(/[A-Za-z0-9+\\/]/)) j++;\n var dash = 0;\n if(data[i+j] === 0x2d) { ++j; dash=1; }\n var tt = [];\n var o64 = \"\";\n var c1=0, c2=0, c3=0;\n var e1=0, e2=0, e3=0, e4=0;\n for(var l = 1; l < j - dash;) {\n e1 = BM.indexOf(String.fromCharCode(data[i+l++]));\n e2 = BM.indexOf(String.fromCharCode(data[i+l++]));\n c1 = e1 << 2 | e2 >> 4;\n tt.push(c1);\n e3 = BM.indexOf(String.fromCharCode(data[i+l++]));\n if(e3 === -1) break;\n c2 = (e2 & 15) << 4 | e3 >> 2;\n tt.push(c2);\n e4 = BM.indexOf(String.fromCharCode(data[i+l++]));\n if(e4 === -1) break;\n c3 = (e3 & 3) << 6 | e4;\n if(e4 < 64) tt.push(c3);\n }\n o64 = decode(1201, tt);\n for(l = 0; l < o64.length; ++l) out[k++] = o64.charAt(l);\n }\n break;\n default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n }\n else throw new Error(\"Unrecognized CP: \" + cp);\n return out.slice(0,k).join(\"\");\n };\n var hascp = function hascp(cp) { return !!(cpt[cp] || magic[cp]); };\n cpt.utils = { decode: decode, encode: encode, hascp: hascp, magic: magic, cache:cache };\n return cpt;\n}));\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","/*!\n * Vue.js v2.7.16\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\nvar emptyObject = Object.freeze({});\nvar isArray = Array.isArray;\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef(v) {\n return v === undefined || v === null;\n}\nfunction isDef(v) {\n return v !== undefined && v !== null;\n}\nfunction isTrue(v) {\n return v === true;\n}\nfunction isFalse(v) {\n return v === false;\n}\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive(value) {\n return (typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean');\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Quick object check - this is primarily used to tell\n * objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\nfunction toRawType(value) {\n return _toString.call(value).slice(8, -1);\n}\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject(obj) {\n return _toString.call(obj) === '[object Object]';\n}\nfunction isRegExp(v) {\n return _toString.call(v) === '[object RegExp]';\n}\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex(val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val);\n}\nfunction isPromise(val) {\n return (isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function');\n}\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString(val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, replacer, 2)\n : String(val);\n}\nfunction replacer(_key, val) {\n // avoid circular deps from v3\n if (val && val.__v_isRef) {\n return val.value;\n }\n return val;\n}\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber(val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n;\n}\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap(str, expectsLowerCase) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; };\n}\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n/**\n * Remove an item from an array.\n */\nfunction remove$2(arr, item) {\n var len = arr.length;\n if (len) {\n // fast path for the only / last item\n if (item === arr[len - 1]) {\n arr.length = len - 1;\n return;\n }\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1);\n }\n }\n}\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/**\n * Create a cached version of a pure function.\n */\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); });\n});\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n});\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n/* istanbul ignore next */\nfunction polyfillBind(fn, ctx) {\n function boundFn(a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx);\n }\n boundFn._length = fn.length;\n return boundFn;\n}\nfunction nativeBind(fn, ctx) {\n return fn.bind(ctx);\n}\n// @ts-expect-error bind cannot be `undefined`\nvar bind = Function.prototype.bind ? nativeBind : polyfillBind;\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray(list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret;\n}\n/**\n * Mix properties into target object.\n */\nfunction extend(to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to;\n}\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject(arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res;\n}\n/* eslint-disable no-unused-vars */\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop(a, b, c) { }\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n/* eslint-enable no-unused-vars */\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual(a, b) {\n if (a === b)\n return true;\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return (a.length === b.length &&\n a.every(function (e, i) {\n return looseEqual(e, b[i]);\n }));\n }\n else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return (keysA.length === keysB.length &&\n keysA.every(function (key) {\n return looseEqual(a[key], b[key]);\n }));\n }\n else {\n /* istanbul ignore next */\n return false;\n }\n }\n catch (e) {\n /* istanbul ignore next */\n return false;\n }\n }\n else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n }\n else {\n return false;\n }\n}\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf(arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val))\n return i;\n }\n return -1;\n}\n/**\n * Ensure a function is called only once.\n */\nfunction once(fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill\nfunction hasChanged(x, y) {\n if (x === y) {\n return x === 0 && 1 / x !== 1 / y;\n }\n else {\n return x === x || y === y;\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\nvar ASSET_TYPES = ['component', 'directive', 'filter'];\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch',\n 'renderTracked',\n 'renderTriggered'\n];\n\nvar config = {\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n /**\n * Whether to record perf\n */\n performance: false,\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n};\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved(str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5f;\n}\n/**\n * Define a property.\n */\nfunction def(obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp(\"[^\".concat(unicodeRegExp.source, \".$_\\\\d]\"));\nfunction parsePath(path) {\n if (bailRE.test(path)) {\n return;\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj)\n return;\n obj = obj[segments[i]];\n }\n return obj;\n };\n}\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nUA && UA.indexOf('android') > 0;\nvar isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);\nUA && /chrome\\/\\d+/.test(UA) && !isEdge;\nUA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n// Firefox has a \"watch\" function on Object.prototype...\n// @ts-expect-error firebox support\nvar nativeWatch = {}.watch;\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n get: function () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n }); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n }\n catch (e) { }\n}\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer =\n global['process'] && global['process'].env.VUE_ENV === 'server';\n }\n else {\n _isServer = false;\n }\n }\n return _isServer;\n};\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n/* istanbul ignore next */\nfunction isNative(Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString());\n}\nvar hasSymbol = typeof Symbol !== 'undefined' &&\n isNative(Symbol) &&\n typeof Reflect !== 'undefined' &&\n isNative(Reflect.ownKeys);\nvar _Set; // $flow-disable-line\n/* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n}\nelse {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /** @class */ (function () {\n function Set() {\n this.set = Object.create(null);\n }\n Set.prototype.has = function (key) {\n return this.set[key] === true;\n };\n Set.prototype.add = function (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function () {\n this.set = Object.create(null);\n };\n return Set;\n }());\n}\n\nvar currentInstance = null;\n/**\n * This is exposed for compatibility with v3 (e.g. some functions in VueUse\n * relies on it). Do not use this internally, just use `currentInstance`.\n *\n * @internal this function needs manual type declaration because it relies\n * on previously manually authored types from Vue 2\n */\nfunction getCurrentInstance() {\n return currentInstance && { proxy: currentInstance };\n}\n/**\n * @internal\n */\nfunction setCurrentInstance(vm) {\n if (vm === void 0) { vm = null; }\n if (!vm)\n currentInstance && currentInstance._scope.off();\n currentInstance = vm;\n vm && vm._scope.on();\n}\n\n/**\n * @internal\n */\nvar VNode = /** @class */ (function () {\n function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n }\n Object.defineProperty(VNode.prototype, \"child\", {\n // DEPRECATED: alias for componentInstance for backwards compat.\n /* istanbul ignore next */\n get: function () {\n return this.componentInstance;\n },\n enumerable: false,\n configurable: true\n });\n return VNode;\n}());\nvar createEmptyVNode = function (text) {\n if (text === void 0) { text = ''; }\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node;\n};\nfunction createTextVNode(val) {\n return new VNode(undefined, undefined, undefined, String(val));\n}\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode(vnode) {\n var cloned = new VNode(vnode.tag, vnode.data, \n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory);\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned;\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar uid$2 = 0;\nvar pendingCleanupDeps = [];\nvar cleanupDeps = function () {\n for (var i = 0; i < pendingCleanupDeps.length; i++) {\n var dep = pendingCleanupDeps[i];\n dep.subs = dep.subs.filter(function (s) { return s; });\n dep._pending = false;\n }\n pendingCleanupDeps.length = 0;\n};\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n * @internal\n */\nvar Dep = /** @class */ (function () {\n function Dep() {\n // pending subs cleanup\n this._pending = false;\n this.id = uid$2++;\n this.subs = [];\n }\n Dep.prototype.addSub = function (sub) {\n this.subs.push(sub);\n };\n Dep.prototype.removeSub = function (sub) {\n // #12696 deps with massive amount of subscribers are extremely slow to\n // clean up in Chromium\n // to workaround this, we unset the sub for now, and clear them on\n // next scheduler flush.\n this.subs[this.subs.indexOf(sub)] = null;\n if (!this._pending) {\n this._pending = true;\n pendingCleanupDeps.push(this);\n }\n };\n Dep.prototype.depend = function (info) {\n if (Dep.target) {\n Dep.target.addDep(this);\n if (process.env.NODE_ENV !== 'production' && info && Dep.target.onTrack) {\n Dep.target.onTrack(__assign({ effect: Dep.target }, info));\n }\n }\n };\n Dep.prototype.notify = function (info) {\n // stabilize the subscriber list first\n var subs = this.subs.filter(function (s) { return s; });\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n var sub = subs[i];\n if (process.env.NODE_ENV !== 'production' && info) {\n sub.onTrigger &&\n sub.onTrigger(__assign({ effect: subs[i] }, info));\n }\n sub.update();\n }\n };\n return Dep;\n}());\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\nfunction pushTarget(target) {\n targetStack.push(target);\n Dep.target = target;\n}\nfunction popTarget() {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break;\n case 'splice':\n inserted = args.slice(2);\n break;\n }\n if (inserted)\n ob.observeArray(inserted);\n // notify change\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"array mutation\" /* TriggerOpTypes.ARRAY_MUTATION */,\n target: this,\n key: method\n });\n }\n else {\n ob.dep.notify();\n }\n return result;\n });\n});\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\nvar NO_INITIAL_VALUE = {};\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\nfunction toggleObserving(value) {\n shouldObserve = value;\n}\n// ssr mock dep\nvar mockDep = {\n notify: noop,\n depend: noop,\n addSub: noop,\n removeSub: noop\n};\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = /** @class */ (function () {\n function Observer(value, shallow, mock) {\n if (shallow === void 0) { shallow = false; }\n if (mock === void 0) { mock = false; }\n this.value = value;\n this.shallow = shallow;\n this.mock = mock;\n // this.value = value\n this.dep = mock ? mockDep : new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (isArray(value)) {\n if (!mock) {\n if (hasProto) {\n value.__proto__ = arrayMethods;\n /* eslint-enable no-proto */\n }\n else {\n for (var i = 0, l = arrayKeys.length; i < l; i++) {\n var key = arrayKeys[i];\n def(value, key, arrayMethods[key]);\n }\n }\n }\n if (!shallow) {\n this.observeArray(value);\n }\n }\n else {\n /**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\n var keys = Object.keys(value);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n defineReactive(value, key, NO_INITIAL_VALUE, undefined, shallow, mock);\n }\n }\n }\n /**\n * Observe a list of Array items.\n */\n Observer.prototype.observeArray = function (value) {\n for (var i = 0, l = value.length; i < l; i++) {\n observe(value[i], false, this.mock);\n }\n };\n return Observer;\n}());\n// helpers\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe(value, shallow, ssrMockReactivity) {\n if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n return value.__ob__;\n }\n if (shouldObserve &&\n (ssrMockReactivity || !isServerRendering()) &&\n (isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value.__v_skip /* ReactiveFlags.SKIP */ &&\n !isRef(value) &&\n !(value instanceof VNode)) {\n return new Observer(value, shallow, ssrMockReactivity);\n }\n}\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive(obj, key, val, customSetter, shallow, mock, observeEvenIfShallow) {\n if (observeEvenIfShallow === void 0) { observeEvenIfShallow = false; }\n var dep = new Dep();\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return;\n }\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) &&\n (val === NO_INITIAL_VALUE || arguments.length === 2)) {\n val = obj[key];\n }\n var childOb = shallow ? val && val.__ob__ : observe(val, false, mock);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter() {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: obj,\n type: \"get\" /* TrackOpTypes.GET */,\n key: key\n });\n }\n else {\n dep.depend();\n }\n if (childOb) {\n childOb.dep.depend();\n if (isArray(value)) {\n dependArray(value);\n }\n }\n }\n return isRef(value) && !shallow ? value.value : value;\n },\n set: function reactiveSetter(newVal) {\n var value = getter ? getter.call(obj) : val;\n if (!hasChanged(value, newVal)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n }\n else if (getter) {\n // #7981: for accessor properties without setter\n return;\n }\n else if (!shallow && isRef(value) && !isRef(newVal)) {\n value.value = newVal;\n return;\n }\n else {\n val = newVal;\n }\n childOb = shallow ? newVal && newVal.__ob__ : observe(newVal, false, mock);\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: obj,\n key: key,\n newValue: newVal,\n oldValue: value\n });\n }\n else {\n dep.notify();\n }\n }\n });\n return dep;\n}\nfunction set(target, key, val) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot set reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' && warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n var ob = target.__ob__;\n if (isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n // when mocking for SSR, array methods are not hijacked\n if (ob && !ob.shallow && ob.mock) {\n observe(val, false, true);\n }\n return val;\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val;\n }\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.');\n return val;\n }\n if (!ob) {\n target[key] = val;\n return val;\n }\n defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"add\" /* TriggerOpTypes.ADD */,\n target: target,\n key: key,\n newValue: val,\n oldValue: undefined\n });\n }\n else {\n ob.dep.notify();\n }\n return val;\n}\nfunction del(target, key) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot delete reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return;\n }\n var ob = target.__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.');\n return;\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Delete operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n if (!hasOwn(target, key)) {\n return;\n }\n delete target[key];\n if (!ob) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"delete\" /* TriggerOpTypes.DELETE */,\n target: target,\n key: key\n });\n }\n else {\n ob.dep.notify();\n }\n}\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray(value) {\n for (var e = void 0, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n if (e && e.__ob__) {\n e.__ob__.dep.depend();\n }\n if (isArray(e)) {\n dependArray(e);\n }\n }\n}\n\nfunction reactive(target) {\n makeReactive(target, false);\n return target;\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n makeReactive(target, true);\n def(target, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n return target;\n}\nfunction makeReactive(target, shallow) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (!isReadonly(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Avoid using Array as root value for \".concat(shallow ? \"shallowReactive()\" : \"reactive()\", \" as it cannot be tracked in watch() or watchEffect(). Use \").concat(shallow ? \"shallowRef()\" : \"ref()\", \" instead. This is a Vue-2-only limitation.\"));\n }\n var existingOb = target && target.__ob__;\n if (existingOb && existingOb.shallow !== shallow) {\n warn(\"Target is already a \".concat(existingOb.shallow ? \"\" : \"non-\", \"shallow reactive object, and cannot be converted to \").concat(shallow ? \"\" : \"non-\", \"shallow.\"));\n }\n }\n var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);\n if (process.env.NODE_ENV !== 'production' && !ob) {\n if (target == null || isPrimitive(target)) {\n warn(\"value cannot be made reactive: \".concat(String(target)));\n }\n if (isCollectionType(target)) {\n warn(\"Vue 2 does not support reactive collection types such as Map or Set.\");\n }\n }\n }\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value.__ob__);\n}\nfunction isShallow(value) {\n return !!(value && value.__v_isShallow);\n}\nfunction isReadonly(value) {\n return !!(value && value.__v_isReadonly);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n var raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n // non-extensible objects won't be observed anyway\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n }\n return value;\n}\n/**\n * @internal\n */\nfunction isCollectionType(value) {\n var type = toRawType(value);\n return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');\n}\n\n/**\n * @internal\n */\nvar RefFlag = \"__v_isRef\";\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref$1(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n var ref = {};\n def(ref, RefFlag, true);\n def(ref, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, shallow);\n def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));\n return ref;\n}\nfunction triggerRef(ref) {\n if (process.env.NODE_ENV !== 'production' && !ref.dep) {\n warn(\"received object is not a triggerable ref.\");\n }\n if (process.env.NODE_ENV !== 'production') {\n ref.dep &&\n ref.dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: ref,\n key: 'value'\n });\n }\n else {\n ref.dep && ref.dep.notify();\n }\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nfunction proxyRefs(objectWithRefs) {\n if (isReactive(objectWithRefs)) {\n return objectWithRefs;\n }\n var proxy = {};\n var keys = Object.keys(objectWithRefs);\n for (var i = 0; i < keys.length; i++) {\n proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]);\n }\n return proxy;\n}\nfunction proxyWithRefUnwrap(target, source, key) {\n Object.defineProperty(target, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = source[key];\n if (isRef(val)) {\n return val.value;\n }\n else {\n var ob = val && val.__ob__;\n if (ob)\n ob.dep.depend();\n return val;\n }\n },\n set: function (value) {\n var oldValue = source[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n }\n else {\n source[key] = value;\n }\n }\n });\n}\nfunction customRef(factory) {\n var dep = new Dep();\n var _a = factory(function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n dep.depend();\n }\n }, function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value'\n });\n }\n else {\n dep.notify();\n }\n }), get = _a.get, set = _a.set;\n var ref = {\n get value() {\n return get();\n },\n set value(newVal) {\n set(newVal);\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\nfunction toRefs(object) {\n if (process.env.NODE_ENV !== 'production' && !isReactive(object)) {\n warn(\"toRefs() expects a reactive object but received a plain one.\");\n }\n var ret = isArray(object) ? new Array(object.length) : {};\n for (var key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nfunction toRef(object, key, defaultValue) {\n var val = object[key];\n if (isRef(val)) {\n return val;\n }\n var ref = {\n get value() {\n var val = object[key];\n return val === undefined ? defaultValue : val;\n },\n set value(newVal) {\n object[key] = newVal;\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\n\nvar rawToReadonlyFlag = \"__v_rawToReadonly\";\nvar rawToShallowReadonlyFlag = \"__v_rawToShallowReadonly\";\nfunction readonly(target) {\n return createReadonly(target, false);\n}\nfunction createReadonly(target, shallow) {\n if (!isPlainObject(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Vue 2 does not support readonly arrays.\");\n }\n else if (isCollectionType(target)) {\n warn(\"Vue 2 does not support readonly collection types such as Map or Set.\");\n }\n else {\n warn(\"value cannot be made readonly: \".concat(typeof target));\n }\n }\n return target;\n }\n if (process.env.NODE_ENV !== 'production' && !Object.isExtensible(target)) {\n warn(\"Vue 2 does not support creating readonly proxy for non-extensible object.\");\n }\n // already a readonly object\n if (isReadonly(target)) {\n return target;\n }\n // already has a readonly proxy\n var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;\n var existingProxy = target[existingFlag];\n if (existingProxy) {\n return existingProxy;\n }\n var proxy = Object.create(Object.getPrototypeOf(target));\n def(target, existingFlag, proxy);\n def(proxy, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, true);\n def(proxy, \"__v_raw\" /* ReactiveFlags.RAW */, target);\n if (isRef(target)) {\n def(proxy, RefFlag, true);\n }\n if (shallow || isShallow(target)) {\n def(proxy, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n }\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n defineReadonlyProperty(proxy, target, keys[i], shallow);\n }\n return proxy;\n}\nfunction defineReadonlyProperty(proxy, target, key, shallow) {\n Object.defineProperty(proxy, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = target[key];\n return shallow || !isPlainObject(val) ? val : readonly(val);\n },\n set: function () {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n }\n });\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReadonly(target, true);\n}\n\nfunction computed(getterOrOptions, debugOptions) {\n var getter;\n var setter;\n var onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = process.env.NODE_ENV !== 'production'\n ? function () {\n warn('Write operation failed: computed value is readonly');\n }\n : noop;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n var watcher = isServerRendering()\n ? null\n : new Watcher(currentInstance, getter, noop, { lazy: true });\n if (process.env.NODE_ENV !== 'production' && watcher && debugOptions) {\n watcher.onTrack = debugOptions.onTrack;\n watcher.onTrigger = debugOptions.onTrigger;\n }\n var ref = {\n // some libs rely on the presence effect for checking computed refs\n // from normal refs, but the implementation doesn't matter\n effect: watcher,\n get value() {\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production' && Dep.target.onTrack) {\n Dep.target.onTrack({\n effect: Dep.target,\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n watcher.depend();\n }\n return watcher.value;\n }\n else {\n return getter();\n }\n },\n set value(newVal) {\n setter(newVal);\n }\n };\n def(ref, RefFlag, true);\n def(ref, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, onlyGetter);\n return ref;\n}\n\nvar WATCHER = \"watcher\";\nvar WATCHER_CB = \"\".concat(WATCHER, \" callback\");\nvar WATCHER_GETTER = \"\".concat(WATCHER, \" getter\");\nvar WATCHER_CLEANUP = \"\".concat(WATCHER, \" cleanup\");\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'post' }) : { flush: 'post' }));\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\n}\n// initial value for watchers to trigger on undefined initial values\nvar INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if (process.env.NODE_ENV !== 'production' && typeof cb !== 'function') {\n warn(\"`watch(fn, options?)` signature has been moved to a separate API. \" +\n \"Use `watchEffect(fn, options?)` instead. `watch` now only \" +\n \"supports `watch(source, cb, options?) signature.\");\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, _a) {\n var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger;\n if (process.env.NODE_ENV !== 'production' && !cb) {\n if (immediate !== undefined) {\n warn(\"watch() \\\"immediate\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n if (deep !== undefined) {\n warn(\"watch() \\\"deep\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n }\n var warnInvalidSource = function (s) {\n warn(\"Invalid watch source: \".concat(s, \". A watch source can only be a getter/effect \") +\n \"function, a ref, a reactive object, or an array of these types.\");\n };\n var instance = currentInstance;\n var call = function (fn, type, args) {\n if (args === void 0) { args = null; }\n var res = invokeWithErrorHandling(fn, null, args, instance, type);\n if (deep && res && res.__ob__)\n res.__ob__.dep.depend();\n return res;\n };\n var getter;\n var forceTrigger = false;\n var isMultiSource = false;\n if (isRef(source)) {\n getter = function () { return source.value; };\n forceTrigger = isShallow(source);\n }\n else if (isReactive(source)) {\n getter = function () {\n source.__ob__.dep.depend();\n return source;\n };\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); });\n getter = function () {\n return source.map(function (s) {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n s.__ob__.dep.depend();\n return traverse(s);\n }\n else if (isFunction(s)) {\n return call(s, WATCHER_GETTER);\n }\n else {\n process.env.NODE_ENV !== 'production' && warnInvalidSource(s);\n }\n });\n };\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = function () { return call(source, WATCHER_GETTER); };\n }\n else {\n // no cb -> simple effect\n getter = function () {\n if (instance && instance._isDestroyed) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return call(source, WATCHER, [onCleanup]);\n };\n }\n }\n else {\n getter = noop;\n process.env.NODE_ENV !== 'production' && warnInvalidSource(source);\n }\n if (cb && deep) {\n var baseGetter_1 = getter;\n getter = function () { return traverse(baseGetter_1()); };\n }\n var cleanup;\n var onCleanup = function (fn) {\n cleanup = watcher.onStop = function () {\n call(fn, WATCHER_CLEANUP);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager\n if (isServerRendering()) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = noop;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n call(cb, WATCHER_CB, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n return noop;\n }\n var watcher = new Watcher(currentInstance, getter, noop, {\n lazy: true\n });\n watcher.noRecurse = !cb;\n var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\n // overwrite default run\n watcher.run = function () {\n if (!watcher.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n var newValue = watcher.get();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some(function (v, i) {\n return hasChanged(v, oldValue[i]);\n })\n : hasChanged(newValue, oldValue))) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n call(cb, WATCHER_CB, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n watcher.get();\n }\n };\n if (flush === 'sync') {\n watcher.update = watcher.run;\n }\n else if (flush === 'post') {\n watcher.post = true;\n watcher.update = function () { return queueWatcher(watcher); };\n }\n else {\n // pre\n watcher.update = function () {\n if (instance && instance === currentInstance && !instance._isMounted) {\n // pre-watcher triggered before\n var buffer = instance._preWatchers || (instance._preWatchers = []);\n if (buffer.indexOf(watcher) < 0)\n buffer.push(watcher);\n }\n else {\n queueWatcher(watcher);\n }\n };\n }\n if (process.env.NODE_ENV !== 'production') {\n watcher.onTrack = onTrack;\n watcher.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n watcher.run();\n }\n else {\n oldValue = watcher.get();\n }\n }\n else if (flush === 'post' && instance) {\n instance.$once('hook:mounted', function () { return watcher.get(); });\n }\n else {\n watcher.get();\n }\n return function () {\n watcher.teardown();\n };\n}\n\nvar activeEffectScope;\nvar EffectScope = /** @class */ (function () {\n function EffectScope(detached) {\n if (detached === void 0) { detached = false; }\n this.detached = detached;\n /**\n * @internal\n */\n this.active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n EffectScope.prototype.run = function (fn) {\n if (this.active) {\n var currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"cannot run an inactive effect scope.\");\n }\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.on = function () {\n activeEffectScope = this;\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.off = function () {\n activeEffectScope = this.parent;\n };\n EffectScope.prototype.stop = function (fromParent) {\n if (this.active) {\n var i = void 0, l = void 0;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].teardown();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n var last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this.active = false;\n }\n };\n return EffectScope;\n}());\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\n/**\n * @internal\n */\nfunction recordEffectScope(effect, scope) {\n if (scope === void 0) { scope = activeEffectScope; }\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"onScopeDispose() is called when there is no active effect scope\" +\n \" to be associated with.\");\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"provide() can only be used inside setup().\");\n }\n }\n else {\n // TS doesn't allow symbol as index type\n resolveProvided(currentInstance)[key] = value;\n }\n}\nfunction resolveProvided(vm) {\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n var existing = vm._provided;\n var parentProvides = vm.$parent && vm.$parent._provided;\n if (parentProvides === existing) {\n return (vm._provided = Object.create(parentProvides));\n }\n else {\n return existing;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory) {\n if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; }\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n var instance = currentInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n var provides = instance.$parent && instance.$parent._provided;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance)\n : defaultValue;\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"injection \\\"\".concat(String(key), \"\\\" not found.\"));\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"inject() can only be used inside setup() or functional components.\");\n }\n}\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once,\n capture: capture,\n passive: passive\n };\n});\nfunction createFnInvoker(fns, vm) {\n function invoker() {\n var fns = invoker.fns;\n if (isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments, vm, \"v-on handler\");\n }\n }\n else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\");\n }\n }\n invoker.fns = fns;\n return invoker;\n}\nfunction updateListeners(on, oldOn, add, remove, createOnceHandler, vm) {\n var name, cur, old, event;\n for (name in on) {\n cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Invalid handler for event \\\"\".concat(event.name, \"\\\": got \") + String(cur), vm);\n }\n else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n }\n else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove(event.name, oldOn[name], event.capture);\n }\n }\n}\n\nfunction mergeVNodeHook(def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n function wrappedHook() {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove$2(invoker.fns, wrappedHook);\n }\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n }\n else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n }\n else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\nfunction extractPropsFromVNodeData(data, Ctor, tag) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return;\n }\n var res = {};\n var attrs = data.attrs, props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) {\n tip(\"Prop \\\"\".concat(keyInLowerCase, \"\\\" is passed to component \") +\n \"\".concat(formatComponentName(\n // @ts-expect-error tag is string\n tag || Ctor), \", but the declared prop name is\") +\n \" \\\"\".concat(key, \"\\\". \") +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\".concat(altKey, \"\\\" instead of \\\"\").concat(key, \"\\\".\"));\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res;\n}\nfunction checkProp(res, hash, key, altKey, preserve) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true;\n }\n else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true;\n }\n }\n return false;\n}\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren(children) {\n for (var i = 0; i < children.length; i++) {\n if (isArray(children[i])) {\n return Array.prototype.concat.apply([], children);\n }\n }\n return children;\n}\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.