{"version":3,"sources":["webpack:///./src/views/sas/Tools/img/pdf.png","webpack:///./src/views/sas/navbarSas.vue?4ba6","webpack:///./src/views/sas/Modals/logoutModal.vue?e718","webpack:///src/views/sas/Modals/logoutModal.vue","webpack:///./src/views/sas/Modals/logoutModal.vue?db53","webpack:///./src/views/sas/Modals/logoutModal.vue","webpack:///src/views/sas/navbarSas.vue","webpack:///./src/views/sas/navbarSas.vue?8b54","webpack:///./src/views/sas/navbarSas.vue","webpack:///./src/views/sas/Tools/img/xml.png","webpack:///./src/views/sas/navbarSas.vue?0b01","webpack:///./src/views/sas/Modals/logoutModal.vue?9dc8","webpack:///./src/views/sas/Tools/img/xlsx.png","webpack:///./src/views/sas/Tools/footer.vue?a645","webpack:///./src/views/sas/Tools/footer.vue?d870","webpack:///src/views/sas/Tools/footer.vue","webpack:///./src/views/sas/Tools/footer.vue?fc52","webpack:///./src/views/sas/Tools/footer.vue","webpack:///./src/views/sas/masiva.vue?eae2","webpack:///./src/views/sas/masiva.vue?4444","webpack:///./node_modules/read-excel-file/modules/xml/xmlBrowser.js","webpack:///./node_modules/read-excel-file/node_modules/fflate/esm/browser.js","webpack:///./node_modules/read-excel-file/modules/read/unpackXlsxFileBrowser.js","webpack:///./node_modules/read-excel-file/modules/xml/dom.js","webpack:///./node_modules/read-excel-file/modules/xml/xlsx.js","webpack:///./node_modules/read-excel-file/modules/read/parseProperties.js","webpack:///./node_modules/read-excel-file/modules/read/parseFilePaths.js","webpack:///./node_modules/read-excel-file/modules/read/parseStyles.js","webpack:///./node_modules/read-excel-file/modules/read/parseSharedStrings.js","webpack:///./node_modules/read-excel-file/modules/read/parseDate.js","webpack:///./node_modules/read-excel-file/modules/read/isDateTimestamp.js","webpack:///./node_modules/read-excel-file/modules/read/parseCellValue.js","webpack:///./node_modules/read-excel-file/modules/read/coordinates.js","webpack:///./node_modules/read-excel-file/modules/read/parseCell.js","webpack:///./node_modules/read-excel-file/modules/read/parseCells.js","webpack:///./node_modules/read-excel-file/modules/read/parseDimensions.js","webpack:///./node_modules/read-excel-file/modules/read/parseSheet.js","webpack:///./node_modules/read-excel-file/modules/read/dropEmptyRows.js","webpack:///./node_modules/read-excel-file/modules/read/dropEmptyColumns.js","webpack:///./node_modules/read-excel-file/modules/read/getData.js","webpack:///./node_modules/read-excel-file/modules/read/readXlsx.js","webpack:///./node_modules/read-excel-file/modules/types/InvalidError.js","webpack:///./node_modules/read-excel-file/modules/types/Number.js","webpack:///./node_modules/read-excel-file/modules/types/String.js","webpack:///./node_modules/read-excel-file/modules/types/Boolean.js","webpack:///./node_modules/read-excel-file/modules/types/Date.js","webpack:///./node_modules/read-excel-file/modules/read/schema/convertToJson.js","webpack:///./node_modules/read-excel-file/modules/read/schema/convertMapToSchema.js","webpack:///./node_modules/read-excel-file/modules/read/readXlsxFileContents.js","webpack:///./node_modules/read-excel-file/modules/read/readXlsxFileBrowser.js","webpack:///src/views/sas/masiva.vue","webpack:///./src/views/sas/masiva.vue?fb42","webpack:///./src/views/sas/masiva.vue"],"names":["module","exports","render","_vm","this","_h","$createElement","_c","_self","staticClass","_l","item","key","to","class","active","activeLink","attrs","_v","_s","_f","name","on","$event","logOut","staticRenderFns","closeError","staticStyle","errorMessage","component","components","logoutModal","data","navigation","filters","capitalizeFirst","value","toString","charAt","toUpperCase","slice","toLowerCase","watch","$route","path","methods","validateUser","mounted","getRoutesAPI","_m","descargarLayout","onChangeFileExcel","popover","mostrarExcel","_e","onChangeFileXML","mostrarXML","onChangeFilePDF","mostrarPDF","enviarDocumentos","ref","modals","info","$set","scopedSlots","_u","fn","proxy","NumImportacion","reload","index","Siniestro","ver","documento","createDocument","content","DOMParser","parseFromString","trim","u8","Uint8Array","u16","Uint16Array","u32","Uint32Array","fleb","fdeb","clim","freb","eb","start","b","i","r","j","_a","fl","revfl","_b","fd","rev","x","hMap","cd","mb","s","length","l","co","le","rvb","sv","r_1","v","m","flt","fdt","flrm","fdrm","max","a","bits","d","p","o","bits16","shft","slc","e","n","BYTES_PER_ELEMENT","set","subarray","ec","err","ind","msg","nt","Error","code","captureStackTrace","inflt","dat","buf","st","sl","f","noBuf","noSt","cbuf","bl","nbuf","Math","final","pos","bt","lm","dm","lbt","dbt","tbts","type","t","hLit","hcLen","tl","ldt","clt","clb","clbmsk","clm","c","lt","dt","lms","dms","lpos","sym","add","dsym","end","et","b2","b4","b8","inflateSync","out","td","TextDecoder","decode","stream","dutf8","String","fromCharCode","strFromU8","latin1","apply","ext","slzh","zh","z","fnl","es","bs","z64e","sc","su","off","queueMicrotask","setTimeout","unzipSync","opts","files","ze","fltr","filter","c_2","no","size","originalSize","compression","unpackXlsxFile","input","File","Blob","arrayBuffer","then","unpackXlsxArrayBuffer","archive","contents","Promise","resolve","getContents","unzippedFiles","_i","_Object$keys","Object","keys","findChild","node","tagName","childNodes","childNode","nodeType","getTagName","findChildren","results","push","forEach","func","NAMESPACE_REG_EXP","element","replace","getOuterXml","textContent","xml","attributes","getCells","document","worksheet","documentElement","sheetData","cells","row","cell","getCellValue","getCellInlineStringValue","firstChild","getDimensions","dimensions","getAttribute","getBaseStyles","styleSheet","cellStyleXfs","getCellStyles","cellXfs","getNumberFormats","numFmts","getSharedStrings","sst","string","getWorkbookProperties","workbook","getRelationships","relationships","getSheets","sheets","parseProperties","book","properties","workbookProperties","epoch1904","addSheetInfo","sheet","id","relationId","parseFilePaths","filePaths","sharedStrings","undefined","styles","addFilePathInfo","relationship","filePath","fileType","getFilePath","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","getOwnPropertyDescriptor","enumerable","_objectSpread","target","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","parseStyles","doc","baseStyles","map","parseCellStyle","numberFormats","parseNumberFormatStyle","reduce","formats","format","getCellStyle","xf","hasAttribute","xfId","numFmt","template","style","numberFormatId","numberFormat","parseSharedStrings","parseExcelDate","excelSerialDate","options","daysBeforeUnixEpoch","hour","Date","round","_createForOfIteratorHelperLoose","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","done","TypeError","minLen","_arrayLikeToArray","prototype","constructor","from","test","arr","len","arr2","isDateTimestamp","styleId","concat","BUILT_IN_DATE_NUMBER_FORMAT_IDS","indexOf","Number","dateFormat","smartDateParser","isDateTemplate","DATE_FORMAT_WEIRD_PREFIX","DATE_FORMAT_WEIRD_POSTFIX","_step","tokens","split","_iterator","token","DATE_TEMPLATE_TOKENS","parseCellValue","_ref","getInlineStringValue","getInlineStringXml","getStyleId","values","parseString","sharedStringIndex","isNaN","decodeError","parsedDate","valueOf","parsedNumber","errorCode","LETTERS","calculateDimensions","comparator","allRows","sort","allCols","column","minRow","maxRow","minCol","maxCol","columnLettersToNumber","columnLetters","parseCellCoordinates","coords","parseInt","parseCell","valueElement","parseCells","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","parseDimensions","_ref2","parseSheet","dropEmptyRows","rowMap","_ref$accessor","accessor","_","onlyTrimAtTheEnd","empty","splice","dropEmptyColumns","getData","_dimensions","rightBottom","colsCount","rowsCount","rowIndex","columnIndex","_i2","transformData","readXlsx","getXmlFileContent","sheetId","getSheetId","createSheetNotFoundError","_sheet","_sheet2","sheetsList","join","_typeof","_defineProperties","props","descriptor","_createClass","Constructor","protoProps","staticProps","_classCallCheck","instance","_inherits","subClass","superClass","create","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Map","_isNativeFunction","has","get","Wrapper","_construct","Parent","args","Function","sham","Proxy","Boolean","setPrototypeOf","__proto__","getPrototypeOf","InvalidError","_Error","_super","reason","_this","NumberType","stringifiedValue","isFinite","StringType","BooleanType","DateType","date","DEFAULT_OPTIONS","isColumnOriented","_options","ignoreEmptyRows","validateSchema","schema","transpose","columns","errors","read","error","rows","isEmptyObject","_loop","schemaEntry","isNestedSchema","rawValue","notEmpty","array","parseArray","_value","parseValue","required","includeNullValues","prop","parse","parseCustomValue","parseValueOfType","oneOf","validate","message","getBlock","endCharacter","startIndex","substring","_character","block","blocks","_getBlock","_getBlock2","_Object$keys2","entry","convertMapToSchema","_excluded","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","sourceKeys","readXlsxFileContents","entries","convertToJson","readXlsxFile","file","metodo","icon","title","text","showConfirmButton","backdrop","customClass","response","console","log"],"mappings":"mGAAAA,EAAOC,QAAU,IAA0B,wB,6DCA3C,IAAIC,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACE,YAAY,aAAaN,EAAIO,GAAIP,EAAc,YAAE,SAASQ,GAAM,OAAOJ,EAAG,MAAM,CAACK,IAAID,EAAKE,IAAI,CAACN,EAAG,cAAc,CAACE,YAAY,WAAWK,MAAM,CAAEC,OAAQZ,EAAIa,aAAeL,EAAKE,IAAKI,MAAM,CAAC,GAAKN,EAAKE,KAAK,CAACV,EAAIe,GAAGf,EAAIgB,GAAGhB,EAAIiB,GAAG,kBAAPjB,CAA0BQ,EAAKU,WAAW,MAAK,GAAGd,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,SAAS,CAACE,YAAY,gBAAgBa,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpB,EAAIqB,OAAO,4BAA4B,MAAU,CAACrB,EAAIe,GAAG,uBAAuBX,EAAG,iBAAiB,IACpnBkB,EAAkB,GCDlB,EAAS,WAAa,IAAItB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACU,MAAM,CAAC,KAAO,cAAc,MAAQ,IAAI,OAAS,OAAO,cAAe,IAAQ,CAACV,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,OAAO,CAACE,YAAY,WAAWa,GAAG,CAAC,MAAQnB,EAAIuB,aAAa,CAACvB,EAAIe,GAAG,OAAOX,EAAG,IAAI,CAACE,YAAY,kCAAkCkB,YAAY,CAAC,MAAQ,UAAU,KAAO,YAAYpB,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACF,EAAG,SAAS,CAACoB,YAAY,CAAC,YAAY,OAAO,MAAQ,cAAc,CAACxB,EAAIe,GAAG,YAAYX,EAAG,KAAK,CAACE,YAAY,QAAQ,CAACN,EAAIe,GAAGf,EAAIgB,GAAGhB,EAAIyB,sBAAsB,IAC5mB,EAAkB,GCetB,GACE,KAAF,MAIE,KALF,WAMI,MAAJ,CACM,aAAN,KAGE,QAAF,CACI,WADJ,WAEM,KAAN,8BC5BmX,I,wBCQ/WC,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,4bCCf,OACEC,WAAY,CACVC,YAAJ,GAEEC,KAJF,WAKI,MAAO,CACLC,WAAY,GACZjB,WAAY,MAGhBkB,QAAS,CACPC,gBAAiB,SAArB,GACM,OAAKC,GACLA,EAAQA,EAAMC,WACPD,EAAME,OAAO,GAAGC,cAAgBH,EAAMI,MAAM,GAAGC,eAFnC,KAKvBC,MAAO,CACLC,OADJ,SACA,GACMvC,KAAKY,WAAaH,EAAG+B,OAGzBC,QAAF,CACI,OADJ,SACA,yJACA,0BACA,EAFA,gCAGA,iBACA,QACA,eACA,6BACA,qBACA,qBALA,yBAMA,WANA,wBAOA,QAPA,wBAQA,UARA,iBASA,QATA,oEAaA,kBACA,gBACA,iCACA,iCAnBA,yBAuBA,EAvBA,gCAwBA,cACA,QACA,eACA,6BACA,qBACA,2BACA,kBACA,uDAGA,kBACA,gBACA,iCACA,iCArCA,4DA0CI,aA3CJ,WA2CA,4JACA,mDAEA,GACA,iBACA,0DALA,kBASA,kCATA,UASA,EATA,QAUA,EAVA,wBAWA,oCACA,oDACA,mCACA,gDACA,4BACA,OACA,uCACA,yBAMA,qDAaA,0BArCA,gFAyCA,oCAzCA,6DA4CIC,aAvFJ,WAwFM,IAAN,aACA,sBACA,GAEQ,KAAR,mBACQ,KAAR,sBAEQ,KAAR,mBACQ,KAAR,uBAIAC,QA1HA,WA2HI3C,KAAK4C,eACL5C,KAAK0C,iBChJyV,ICQ9V,G,UAAY,eACd,EACA5C,EACAuB,GACA,EACA,KACA,WACA,OAIa,S,uDCnBfzB,EAAOC,QAAU,IAA0B,wB,kCCA3C,yBAA0f,EAAG,G,oCCA7f,yBAA8gB,EAAG,G,qBCAjhBD,EAAOC,QAAU,IAA0B,yB,kCCA3C,yBAAygB,EAAG,G,kCCA5gB,IAAIC,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAsBH,EAAIK,MAAMD,GAAO,OAAOJ,EAAI8C,GAAG,IACnGxB,EAAkB,CAAC,WAAa,IAAItB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,IAAI,CAACJ,EAAIe,GAAG,2DAA2DX,EAAG,MAAM,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,IAAI,CAACU,MAAM,CAAC,KAAO,WAAW,CAACd,EAAIe,GAAG,sBAAsBX,EAAG,KAAK,CAACA,EAAG,IAAI,CAACU,MAAM,CAAC,KAAO,aAAa,CAACd,EAAIe,GAAG,gBAAgBX,EAAG,KAAK,CAACA,EAAG,IAAI,CAACU,MAAM,CAAC,KAAO,aAAa,CAACd,EAAIe,GAAG,0CCiBxf,GACE,KAAF,UCnB8W,I,wBCQ1WW,EAAY,eACd,EACA3B,EACAuB,GACA,EACA,KACA,WACA,MAIa,OAAAI,E,kECnBf,yBAAuf,EAAG,G,gECA1f,IAAI3B,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,SAAS,CAACE,YAAY,iCAAiCkB,YAAY,CAAC,gBAAgB,QAAQV,MAAM,CAAC,KAAO,UAAUK,GAAG,CAAC,MAAQnB,EAAI+C,kBAAkB,CAAC3C,EAAG,IAAI,CAACE,YAAY,wCAAwCN,EAAIe,GAAG,4BAA6Bf,EAAY,SAAEI,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,oCAAoC,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACN,EAAI8C,GAAG,GAAG1C,EAAG,MAAM,CAACE,YAAY,YAAYkB,YAAY,CAAC,gBAAgB,SAAS,CAACpB,EAAG,MAAM,CAACE,YAAY,YAAY,CAACN,EAAI8C,GAAG,GAAG1C,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,KAAK,CAACE,YAAY,oBAAoB,CAACN,EAAIe,GAAG,WAAWX,EAAG,MAAM,CAACE,YAAY,cAAcQ,MAAM,CAAC,GAAK,cAAc,CAACV,EAAG,QAAQ,CAACU,MAAM,CAAC,KAAO,OAAO,KAAO,YAAY,aAAa,UAAU,OAAS,QAAQK,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOpB,EAAIgD,kBAAkB5B,WAAiBpB,EAAIiD,QAAe,QAAE7C,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,UAAU,CAACE,YAAY,UAAUQ,MAAM,CAAC,MAAQ,QAAQK,GAAG,CAAC,MAAQnB,EAAIkD,eAAe,CAAC9C,EAAG,IAAI,CAACE,YAAY,8BAA8B,GAAGN,EAAImD,SAAS/C,EAAG,MAAM,CAACE,YAAY,YAAYkB,YAAY,CAAC,gBAAgB,SAAS,CAACpB,EAAG,MAAM,CAACE,YAAY,YAAY,CAACN,EAAI8C,GAAG,GAAG1C,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,KAAK,CAACE,YAAY,oBAAoB,CAACN,EAAIe,GAAG,SAASX,EAAG,MAAM,CAACE,YAAY,cAAcQ,MAAM,CAAC,GAAK,cAAc,CAACV,EAAG,QAAQ,CAACU,MAAM,CAAC,KAAO,OAAO,KAAO,YAAY,aAAa,UAAU,OAAS,QAAQK,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOpB,EAAIoD,gBAAgBhC,WAAiBpB,EAAIiD,QAAe,QAAE7C,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,UAAU,CAACE,YAAY,UAAUQ,MAAM,CAAC,MAAQ,QAAQK,GAAG,CAAC,MAAQnB,EAAIqD,aAAa,CAACjD,EAAG,IAAI,CAACE,YAAY,kBAAkB,GAAGN,EAAImD,SAAS/C,EAAG,MAAM,CAACE,YAAY,YAAYkB,YAAY,CAAC,gBAAgB,SAAS,CAACpB,EAAG,MAAM,CAACE,YAAY,YAAY,CAACN,EAAI8C,GAAG,GAAG1C,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,KAAK,CAACE,YAAY,oBAAoB,CAACN,EAAIe,GAAG,SAASX,EAAG,MAAM,CAACE,YAAY,cAAcQ,MAAM,CAAC,GAAK,cAAc,CAACV,EAAG,QAAQ,CAACU,MAAM,CAAC,KAAO,OAAO,KAAO,YAAY,aAAa,UAAU,OAAS,QAAQK,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOpB,EAAIsD,gBAAgBlC,WAAiBpB,EAAIiD,QAAe,QAAE7C,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,UAAU,CAACE,YAAY,UAAUQ,MAAM,CAAC,MAAQ,QAAQK,GAAG,CAAC,MAAQnB,EAAIuD,aAAa,CAACnD,EAAG,IAAI,CAACE,YAAY,kBAAkB,GAAGN,EAAImD,SAAS/C,EAAG,SAAS,CAACE,YAAY,gCAAgCkB,YAAY,CAAC,MAAQ,SAASV,MAAM,CAAC,KAAO,UAAUK,GAAG,CAAC,MAAQnB,EAAIwD,mBAAmB,CAACpD,EAAG,IAAI,CAACE,YAAY,4BAA4BN,EAAIe,GAAG,8BAA8Bf,EAAImD,OAAOnD,EAAI8C,GAAG,GAAG1C,EAAG,MAAM,CAACA,EAAG,SAAS,CAACqD,IAAI,WAAW3C,MAAM,CAAC,KAAOd,EAAI0D,OAAOC,KAAK,qBAAoB,GAAOxC,GAAG,CAAC,cAAc,SAASC,GAAQ,OAAOpB,EAAI4D,KAAK5D,EAAI0D,OAAQ,OAAQtC,KAAUyC,YAAY7D,EAAI8D,GAAG,CAAC,CAACrD,IAAI,iBAAiBsD,GAAG,WAAW,MAAO,CAAC3D,EAAG,MAAM,CAACE,YAAY,2BAA2B,CAACF,EAAG,KAAK,CAACoB,YAAY,CAAC,MAAQ,UAAU,CAACxB,EAAIe,GAAG,yCAAyCiD,OAAM,GAAM,CAACvD,IAAI,iBAAiBsD,GAAG,WAAW,MAAO,CAAC3D,EAAG,UAAU4D,OAAM,MAAS,CAAC5D,EAAG,MAAM,CAACE,YAAY,yBAAyB,CAACF,EAAG,KAAK,CAACE,YAAY,eAAe,CAACN,EAAIe,GAAG,oDAAoDX,EAAG,KAAK,CAACoB,YAAY,CAAC,MAAQ,UAAU,CAACxB,EAAIe,GAAGf,EAAIgB,GAAGhB,EAAIiE,mBAAmB7D,EAAG,KAAK,CAACJ,EAAIe,GAAG,oDAAoDX,EAAG,KAAK,CAACJ,EAAIe,GAAG,iBAAiBX,EAAG,cAAc,CAACE,YAAY,sBAAsBQ,MAAM,CAAC,MAAQ,UAAU,CAACV,EAAG,UAAU,CAACE,YAAY,OAAOQ,MAAM,CAAC,MAAQ,aAAaK,GAAG,CAAC,MAAQ,SAASC,GAAQpB,EAAI0D,OAAOC,MAAO,KAAS,CAAC3D,EAAIe,GAAG,WAAW,IAAI,IAAI,GAAIf,EAAmB,gBAAEI,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,UAAUF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,SAAS,CAACE,YAAY,gCAAgCQ,MAAM,CAAC,KAAO,UAAUK,GAAG,CAAC,MAAQnB,EAAIkE,SAAS,CAAC9D,EAAG,IAAI,CAACE,YAAY,8BAA8BN,EAAIe,GAAG,YAAYX,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,MAAM,CAACE,YAAY,yBAAyB,CAACF,EAAG,KAAK,GAAG,CAACJ,EAAIe,GAAG,+BAA+Bf,EAAIO,GAAIP,EAAoB,kBAAE,SAASQ,EAAK2D,GAAO,OAAO/D,EAAG,KAAK,CAACK,IAAI0D,EAAM7D,YAAY,cAAc,CAACF,EAAG,KAAK,CAACE,YAAY,mBAAmB,CAACN,EAAIe,GAAGf,EAAIgB,GAAGR,EAAK4D,oBAAmB,OAAOhE,EAAG,MAAM,CAACE,YAAY,cAAcN,EAAImD,KAAK/C,EAAG,MAAM,CAACA,EAAG,SAAS,CAACqD,IAAI,WAAW3C,MAAM,CAAC,KAAO,KAAK,KAAOd,EAAI0D,OAAOW,IAAI,qBAAoB,GAAOlD,GAAG,CAAC,cAAc,SAASC,GAAQ,OAAOpB,EAAI4D,KAAK5D,EAAI0D,OAAQ,MAAOtC,KAAUyC,YAAY7D,EAAI8D,GAAG,CAAC,CAACrD,IAAI,iBAAiBsD,GAAG,WAAW,MAAO,CAAC3D,EAAG,UAAU4D,OAAM,MAAS,CAAC5D,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,SAAS,CAACE,YAAY,sBAAsBQ,MAAM,CAAC,IAAMd,EAAIsE,UAAU,YAAc,SAASlE,EAAG,cAAc,CAACE,YAAY,sBAAsBQ,MAAM,CAAC,MAAQ,UAAU,CAACV,EAAG,UAAU,CAACE,YAAY,OAAOQ,MAAM,CAAC,MAAQ,aAAaK,GAAG,CAAC,MAAQ,SAASC,GAAQpB,EAAI0D,OAAOW,KAAM,KAAS,CAACrE,EAAIe,GAAG,eAAe,IAAI,IAAI,GAAGX,EAAG,YAAY,IACtkKkB,EAAkB,CAAC,WAAa,IAAItB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,KAAK,CAACE,YAAY,eAAe,CAACN,EAAIe,GAAG,uCAAuC,WAAa,IAAIf,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,MAAM,CAACU,MAAM,CAAC,IAAM,EAAQ,QAAwB,IAAM,GAAG,OAAS,aAAa,WAAa,IAAId,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,MAAM,CAACU,MAAM,CAAC,IAAM,EAAQ,QAAuB,IAAM,GAAG,OAAS,aAAa,WAAa,IAAId,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,MAAM,CAACU,MAAM,CAAC,IAAM,EAAQ,QAAuB,IAAM,GAAG,OAAS,aAAa,WAAa,IAAId,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,IAAI,CAACJ,EAAIe,GAAG,gCCDj8B,GACbwD,eAAgB,SAAwBC,GAMtC,OAAO,IAAIC,WAAYC,gBAAgBF,EAAQG,OAAQ,cCuBvDC,EAAKC,WAAYC,EAAMC,YAAaC,EAAMC,YAE1CC,EAAO,IAAIN,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAgB,EAAG,EAAoB,IAG1IO,EAAO,IAAIP,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAiB,EAAG,IAEjIQ,EAAO,IAAIR,EAAG,CAAC,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KAE7ES,EAAO,SAAUC,EAAIC,GAErB,IADA,IAAIC,EAAI,IAAIV,EAAI,IACPW,EAAI,EAAGA,EAAI,KAAMA,EACtBD,EAAEC,GAAKF,GAAS,GAAKD,EAAGG,EAAI,GAGhC,IAAIC,EAAI,IAAIV,EAAIQ,EAAE,KAClB,IAASC,EAAI,EAAGA,EAAI,KAAMA,EACtB,IAAK,IAAIE,EAAIH,EAAEC,GAAIE,EAAIH,EAAEC,EAAI,KAAME,EAC/BD,EAAEC,GAAOA,EAAIH,EAAEC,IAAO,EAAKA,EAGnC,MAAO,CAACD,EAAGE,IAEXE,EAAKP,EAAKH,EAAM,GAAIW,EAAKD,EAAG,GAAIE,EAAQF,EAAG,GAE/CC,EAAG,IAAM,IAAKC,EAAM,KAAO,GAI3B,IAHA,IAAIC,EAAKV,EAAKF,EAAM,GAAIa,EAAKD,EAAG,GAE5BE,GAFwCF,EAAG,GAErC,IAAIjB,EAAI,QACT,EAAI,EAAG,EAAI,QAAS,EAAG,CAE5B,IAAIoB,GAAU,MAAJ,KAAgB,GAAW,MAAJ,IAAe,EAChDA,GAAU,MAAJA,KAAgB,GAAW,MAAJA,IAAe,EAC5CA,GAAU,MAAJA,KAAgB,GAAW,KAAJA,IAAe,EAC5CD,EAAI,KAAY,MAAJC,KAAgB,GAAW,IAAJA,IAAe,KAAQ,EAK9D,IAAIC,EAAO,SAAWC,EAAIC,EAAIX,GAO1B,IANA,IAAIY,EAAIF,EAAGG,OAEPd,EAAI,EAEJe,EAAI,IAAI1B,EAAIuB,GAETZ,EAAIa,IAAKb,EACRW,EAAGX,MACDe,EAAEJ,EAAGX,GAAK,GAGpB,IAIIgB,EAJAC,EAAK,IAAI5B,EAAIuB,GACjB,IAAKZ,EAAI,EAAGA,EAAIY,IAAMZ,EAClBiB,EAAGjB,GAAMiB,EAAGjB,EAAI,GAAKe,EAAEf,EAAI,IAAO,EAGtC,GAAIC,EAAG,CAEHe,EAAK,IAAI3B,EAAI,GAAKuB,GAElB,IAAIM,EAAM,GAAKN,EACf,IAAKZ,EAAI,EAAGA,EAAIa,IAAKb,EAEjB,GAAIW,EAAGX,GAQH,IANA,IAAImB,EAAMnB,GAAK,EAAKW,EAAGX,GAEnBoB,EAAMR,EAAKD,EAAGX,GAEdqB,EAAIJ,EAAGN,EAAGX,GAAK,MAAQoB,EAElBE,EAAID,GAAM,GAAKD,GAAO,EAAIC,GAAKC,IAAKD,EAEzCL,EAAGR,EAAIa,KAAOH,GAAOC,OAOjC,IADAH,EAAK,IAAI3B,EAAIwB,GACRb,EAAI,EAAGA,EAAIa,IAAKb,EACbW,EAAGX,KACHgB,EAAGhB,GAAKQ,EAAIS,EAAGN,EAAGX,GAAK,QAAW,GAAKW,EAAGX,IAItD,OAAOgB,GAGPO,EAAM,IAAIpC,EAAG,KACjB,IAAS,EAAI,EAAG,EAAI,MAAO,EACvBoC,EAAI,GAAK,EACb,IAAS,EAAI,IAAK,EAAI,MAAO,EACzBA,EAAI,GAAK,EACb,IAAS,EAAI,IAAK,EAAI,MAAO,EACzBA,EAAI,GAAK,EACb,IAAS,EAAI,IAAK,EAAI,MAAO,EACzBA,EAAI,GAAK,EAEb,IAAIC,EAAM,IAAIrC,EAAG,IACjB,IAAS,EAAI,EAAG,EAAI,KAAM,EACtBqC,EAAI,GAAK,EAEb,IAAyCC,EAAqBf,EAAKa,EAAK,EAAG,GAElCG,EAAqBhB,EAAKc,EAAK,EAAG,GAEvEG,EAAM,SAAUC,GAEhB,IADA,IAAIN,EAAIM,EAAE,GACD5B,EAAI,EAAGA,EAAI4B,EAAEd,SAAUd,EACxB4B,EAAE5B,GAAKsB,IACPA,EAAIM,EAAE5B,IAEd,OAAOsB,GAGPO,EAAO,SAAUC,EAAGC,EAAGT,GACvB,IAAIU,EAAKD,EAAI,EAAK,EAClB,OAASD,EAAEE,GAAMF,EAAEE,EAAI,IAAM,KAAY,EAAJD,GAAUT,GAG/CW,EAAS,SAAUH,EAAGC,GACtB,IAAIC,EAAKD,EAAI,EAAK,EAClB,OAASD,EAAEE,GAAMF,EAAEE,EAAI,IAAM,EAAMF,EAAEE,EAAI,IAAM,MAAa,EAAJD,IAGxDG,EAAO,SAAUH,GAAK,OAASA,EAAI,GAAK,EAAK,GAG7CI,EAAM,SAAUd,EAAGR,EAAGuB,IACb,MAALvB,GAAaA,EAAI,KACjBA,EAAI,IACC,MAALuB,GAAaA,EAAIf,EAAEP,UACnBsB,EAAIf,EAAEP,QAEV,IAAIuB,EAAI,IAA4B,GAAvBhB,EAAEiB,kBAAyBjD,EAA6B,GAAvBgC,EAAEiB,kBAAyB/C,EAAMJ,GAAIiD,EAAIvB,GAEvF,OADAwB,EAAEE,IAAIlB,EAAEmB,SAAS3B,EAAGuB,IACbC,GAuBPI,EAAK,CACL,iBACA,qBACA,yBACA,mBACA,kBACA,oBACA,CACA,cACA,qBACA,uBACA,8BACA,oBACA,mBACA,oBAIAC,EAAM,SAAUC,EAAKC,EAAKC,GAC1B,IAAIT,EAAI,IAAIU,MAAMF,GAAOH,EAAGE,IAI5B,GAHAP,EAAEW,KAAOJ,EACLG,MAAME,mBACNF,MAAME,kBAAkBZ,EAAGM,IAC1BG,EACD,MAAMT,EACV,OAAOA,GAGPa,EAAQ,SAAUC,EAAKC,EAAKC,GAE5B,IAAIC,EAAKH,EAAIpC,OACb,IAAKuC,GAAOD,GAAMA,EAAGE,IAAMF,EAAGrC,EAC1B,OAAOoC,GAAO,IAAIhE,EAAG,GAEzB,IAAIoE,GAASJ,GAAOC,EAEhBI,GAAQJ,GAAMA,EAAGpD,EAChBoD,IACDA,EAAK,IAEJD,IACDA,EAAM,IAAIhE,EAAQ,EAALkE,IAEjB,IAAII,EAAO,SAAU1C,GACjB,IAAI2C,EAAKP,EAAIrC,OAEb,GAAIC,EAAI2C,EAAI,CAER,IAAIC,EAAO,IAAIxE,EAAGyE,KAAKjC,IAAS,EAAL+B,EAAQ3C,IACnC4C,EAAKpB,IAAIY,GACTA,EAAMQ,IAIVE,EAAQT,EAAGE,GAAK,EAAGQ,EAAMV,EAAGrB,GAAK,EAAGgC,EAAKX,EAAGrD,GAAK,EAAGiE,EAAKZ,EAAGrC,EAAGkD,EAAKb,EAAGtB,EAAGoC,EAAMd,EAAG9B,EAAG6C,EAAMf,EAAGf,EAE/F+B,EAAY,EAALf,EACX,EAAG,CACC,IAAKW,EAAI,CAELH,EAAQhC,EAAKqB,EAAKY,EAAK,GAEvB,IAAIO,EAAOxC,EAAKqB,EAAKY,EAAM,EAAG,GAE9B,GADAA,GAAO,GACFO,EAAM,CAEP,IAAIxD,EAAIqB,EAAK4B,GAAO,EAAG/C,EAAImC,EAAIrC,EAAI,GAAMqC,EAAIrC,EAAI,IAAM,EAAIyD,EAAIzD,EAAIE,EACnE,GAAIuD,EAAIjB,EAAI,CACJG,GACAd,EAAI,GACR,MAGAa,GACAE,EAAKM,EAAKhD,GAEdoC,EAAIZ,IAAIW,EAAIV,SAAS3B,EAAGyD,GAAIP,GAE5BX,EAAGrD,EAAIgE,GAAMhD,EAAGqC,EAAGrB,EAAI+B,EAAU,EAAJQ,EAAOlB,EAAGE,EAAIO,EAC3C,SAEC,GAAY,GAARQ,EACLL,EAAKvC,EAAMwC,EAAKvC,EAAMwC,EAAM,EAAGC,EAAM,OACpC,GAAY,GAARE,EAAW,CAEhB,IAAIE,EAAO1C,EAAKqB,EAAKY,EAAK,IAAM,IAAKU,EAAQ3C,EAAKqB,EAAKY,EAAM,GAAI,IAAM,EACnEW,EAAKF,EAAO1C,EAAKqB,EAAKY,EAAM,EAAG,IAAM,EACzCA,GAAO,GAKP,IAHA,IAAIY,EAAM,IAAIvF,EAAGsF,GAEbE,EAAM,IAAIxF,EAAG,IACRa,EAAI,EAAGA,EAAIwE,IAASxE,EAEzB2E,EAAIhF,EAAKK,IAAM6B,EAAKqB,EAAKY,EAAU,EAAJ9D,EAAO,GAE1C8D,GAAe,EAARU,EAEP,IAAII,EAAMjD,EAAIgD,GAAME,GAAU,GAAKD,GAAO,EAEtCE,EAAMpE,EAAKiE,EAAKC,EAAK,GACzB,IAAS5E,EAAI,EAAGA,EAAIyE,GAAK,CACrB,IAAIxE,EAAI6E,EAAIjD,EAAKqB,EAAKY,EAAKe,IAE3Bf,GAAW,GAAJ7D,EAEHY,EAAIZ,IAAM,EAEd,GAAIY,EAAI,GACJ6D,EAAI1E,KAAOa,MAEV,CAED,IAAIkE,EAAI,EAAG1C,EAAI,EACN,IAALxB,GACAwB,EAAI,EAAIR,EAAKqB,EAAKY,EAAK,GAAIA,GAAO,EAAGiB,EAAIL,EAAI1E,EAAI,IACvC,IAALa,GACLwB,EAAI,EAAIR,EAAKqB,EAAKY,EAAK,GAAIA,GAAO,GACxB,IAALjD,IACLwB,EAAI,GAAKR,EAAKqB,EAAKY,EAAK,KAAMA,GAAO,GACzC,MAAOzB,IACHqC,EAAI1E,KAAO+E,GAIvB,IAAIC,EAAKN,EAAIlC,SAAS,EAAG+B,GAAOU,EAAKP,EAAIlC,SAAS+B,GAElDL,EAAMvC,EAAIqD,GAEVb,EAAMxC,EAAIsD,GACVjB,EAAKtD,EAAKsE,EAAId,EAAK,GACnBD,EAAKvD,EAAKuE,EAAId,EAAK,QAGnBzB,EAAI,GACR,GAAIoB,EAAMM,EAAM,CACRZ,GACAd,EAAI,GACR,OAKJa,GACAE,EAAKM,EAAK,QAGd,IAFA,IAAImB,GAAO,GAAKhB,GAAO,EAAGiB,GAAO,GAAKhB,GAAO,EACzCiB,EAAOtB,GACHsB,EAAOtB,EAAK,CAEZiB,EAAIf,EAAG/B,EAAOiB,EAAKY,GAAOoB,GAA9B,IAAoCG,EAAMN,IAAM,EAEhD,GADAjB,GAAW,GAAJiB,EACHjB,EAAMM,EAAM,CACRZ,GACAd,EAAI,GACR,MAIJ,GAFKqC,GACDrC,EAAI,GACJ2C,EAAM,IACNlC,EAAIY,KAAQsB,MACX,IAAW,KAAPA,EAAY,CACjBD,EAAOtB,EAAKE,EAAK,KACjB,MAGA,IAAIsB,EAAMD,EAAM,IAEhB,GAAIA,EAAM,IAAK,CAEPrF,EAAIqF,EAAM,IAAd,IAAmBtF,EAAIN,EAAKO,GAC5BsF,EAAMzD,EAAKqB,EAAKY,GAAM,GAAK/D,GAAK,GAAKK,EAAGJ,GACxC8D,GAAO/D,EAGX,IAAI+B,GAAImC,EAAGhC,EAAOiB,EAAKY,GAAOqB,GAAMI,GAAOzD,KAAM,EAC5CA,IACDY,EAAI,GACRoB,GAAW,GAAJhC,GACHmD,EAAK1E,EAAGgF,IACZ,GAAIA,GAAO,EAAG,CACNxF,EAAIL,EAAK6F,IACbN,GAAMhD,EAAOiB,EAAKY,IAAS,GAAK/D,GAAK,EAAI+D,GAAO/D,EAEpD,GAAI+D,EAAMM,EAAM,CACRZ,GACAd,EAAI,GACR,MAEAa,GACAE,EAAKM,EAAK,QAEd,IADA,IAAIyB,GAAMzB,EAAKuB,EACRvB,EAAKyB,GAAKzB,GAAM,EACnBZ,EAAIY,GAAMZ,EAAIY,EAAKkB,GACnB9B,EAAIY,EAAK,GAAKZ,EAAIY,EAAK,EAAIkB,GAC3B9B,EAAIY,EAAK,GAAKZ,EAAIY,EAAK,EAAIkB,GAC3B9B,EAAIY,EAAK,GAAKZ,EAAIY,EAAK,EAAIkB,GAE/BlB,EAAKyB,IAGbpC,EAAGrC,EAAIiD,EAAIZ,EAAGrB,EAAIqD,EAAMhC,EAAGrD,EAAIgE,EAAIX,EAAGE,EAAIO,EACtCG,IACAH,EAAQ,EAAGT,EAAG9B,EAAI4C,EAAKd,EAAGtB,EAAImC,EAAIb,EAAGf,EAAI8B,UACvCN,GACV,OAAOE,GAAMZ,EAAIrC,OAASqC,EAAMhB,EAAIgB,EAAK,EAAGY,IAoO5C0B,EAAmB,IAAItG,EAAG,GAiS1BuG,EAAK,SAAU5D,EAAG/B,GAAK,OAAO+B,EAAE/B,GAAM+B,EAAE/B,EAAI,IAAM,GAElD4F,EAAK,SAAU7D,EAAG/B,GAAK,OAAQ+B,EAAE/B,GAAM+B,EAAE/B,EAAI,IAAM,EAAM+B,EAAE/B,EAAI,IAAM,GAAO+B,EAAE/B,EAAI,IAAM,MAAS,GACjG6F,EAAK,SAAU9D,EAAG/B,GAAK,OAAO4F,EAAG7D,EAAG/B,GAAqB,WAAf4F,EAAG7D,EAAG/B,EAAI,IAqMjD,SAAS8F,EAAYzJ,EAAM0J,GAC9B,OAAO7C,EAAM7G,EAAM0J,GAqZvB,IAgBIC,EAA2B,oBAAfC,aAA4C,IAAIA,YAGhE,IACID,EAAGE,OAAOR,EAAI,CAAES,QAAQ,IAClB,EAEV,MAAO9D,KAEP,IAAI+D,EAAQ,SAAUrE,GAClB,IAAK,IAAI7B,EAAI,GAAID,EAAI,IAAK,CACtB,IAAI+E,EAAIjD,EAAE9B,KACNH,GAAMkF,EAAI,MAAQA,EAAI,MAAQA,EAAI,KACtC,GAAI/E,EAAIH,EAAKiC,EAAEhB,OACX,MAAO,CAACb,EAAGkC,EAAIL,EAAG9B,EAAI,IACrBH,EAEU,GAANA,GACLkF,IAAU,GAAJA,IAAW,IAAe,GAATjD,EAAE9B,OAAc,IAAe,GAAT8B,EAAE9B,OAAc,EAAc,GAAT8B,EAAE9B,MAAc,MAC9EC,GAAKmG,OAAOC,aAAa,MAAStB,GAAK,GAAK,MAAa,KAAJA,IAGzD9E,GADU,EAALJ,EACAuG,OAAOC,cAAkB,GAAJtB,IAAW,EAAc,GAATjD,EAAE9B,MAEvCoG,OAAOC,cAAkB,GAAJtB,IAAW,IAAe,GAATjD,EAAE9B,OAAc,EAAc,GAAT8B,EAAE9B,MARlEC,GAAKmG,OAAOC,aAAatB,KAsI9B,SAASuB,EAAUpD,EAAKqD,GAC3B,GAAIA,EAAQ,CAER,IADA,IAAItG,EAAI,GACCD,EAAI,EAAGA,EAAIkD,EAAIpC,OAAQd,GAAK,MACjCC,GAAKmG,OAAOC,aAAaG,MAAM,KAAMtD,EAAIV,SAASxC,EAAGA,EAAI,QAC7D,OAAOC,EAEN,GAAI8F,EACL,OAAOA,EAAGE,OAAO/C,GAEjB,IAAI/C,EAAKgG,EAAMjD,GAAM4C,EAAM3F,EAAG,GAAIsG,EAAMtG,EAAG,GAG3C,OAFIsG,EAAI3F,QACJ4B,EAAI,GACDoD,EAKf,IAEIY,EAAO,SAAU5E,EAAG/B,GAAK,OAAOA,EAAI,GAAK2F,EAAG5D,EAAG/B,EAAI,IAAM2F,EAAG5D,EAAG/B,EAAI,KAEnE4G,EAAK,SAAU7E,EAAG/B,EAAG6G,GACrB,IAAIC,EAAMnB,EAAG5D,EAAG/B,EAAI,IAAKzB,EAAKgI,EAAUxE,EAAEU,SAASzC,EAAI,GAAIA,EAAI,GAAK8G,KAAuB,KAAfnB,EAAG5D,EAAG/B,EAAI,KAAa+G,EAAK/G,EAAI,GAAK8G,EAAKE,EAAKpB,EAAG7D,EAAG/B,EAAI,IACjII,EAAKyG,GAAW,YAANG,EAAmBC,EAAKlF,EAAGgF,GAAM,CAACC,EAAIpB,EAAG7D,EAAG/B,EAAI,IAAK4F,EAAG7D,EAAG/B,EAAI,KAAMkH,EAAK9G,EAAG,GAAI+G,EAAK/G,EAAG,GAAIgH,EAAMhH,EAAG,GACpH,MAAO,CAACuF,EAAG5D,EAAG/B,EAAI,IAAKkH,EAAIC,EAAI5I,EAAIwI,EAAKpB,EAAG5D,EAAG/B,EAAI,IAAM2F,EAAG5D,EAAG/B,EAAI,IAAKoH,IAGvEH,EAAO,SAAUlF,EAAG/B,GACpB,KAAmB,GAAZ2F,EAAG5D,EAAG/B,GAASA,GAAK,EAAI2F,EAAG5D,EAAG/B,EAAI,IAEzC,MAAO,CAAC6F,EAAG9D,EAAG/B,EAAI,IAAK6F,EAAG9D,EAAG/B,EAAI,GAAI6F,EAAG9D,EAAG/B,EAAI,MAyrBjB,mBAAlBqH,eAA+BA,eAAsC,mBAAdC,YAA2BA,WA+F3F,SAASC,EAAUlL,EAAMmL,GAG5B,IAFA,IAAIC,EAAQ,GACRpF,EAAIhG,EAAK0E,OAAS,GACA,WAAf6E,EAAGvJ,EAAMgG,KAAmBA,IAC1BA,GAAKhG,EAAK0E,OAASsB,EAAI,QACxBM,EAAI,IAGZ,IAAIqC,EAAIW,EAAGtJ,EAAMgG,EAAI,GACrB,IAAK2C,EACD,MAAO,GACX,IAAI/C,EAAI2D,EAAGvJ,EAAMgG,EAAI,IACjBwE,EAAS,YAAL5E,GAAwB,OAAL+C,EAC3B,GAAI6B,EAAG,CACH,IAAIa,EAAK9B,EAAGvJ,EAAMgG,EAAI,IACtBwE,EAAoB,WAAhBjB,EAAGvJ,EAAMqL,GACTb,IACA7B,EAAIY,EAAGvJ,EAAMqL,EAAK,IAClBzF,EAAI2D,EAAGvJ,EAAMqL,EAAK,KAI1B,IADA,IAAIC,EAAOH,GAAQA,EAAKI,OACf3H,EAAI,EAAGA,EAAI+E,IAAK/E,EAAG,CACxB,IAAIG,EAAKwG,EAAGvK,EAAM4F,EAAG4E,GAAIgB,EAAMzH,EAAG,GAAI8G,EAAK9G,EAAG,GAAI+G,EAAK/G,EAAG,GAAI7B,EAAK6B,EAAG,GAAI0H,EAAK1H,EAAG,GAAIgH,EAAMhH,EAAG,GAAIJ,EAAI2G,EAAKtK,EAAM+K,GAClHnF,EAAI6F,EACCH,IAAQA,EAAK,CACdjM,KAAM6C,EACNwJ,KAAMb,EACNc,aAAcb,EACdc,YAAaJ,MAERA,EAEW,GAAPA,EACLJ,EAAMlJ,GAAMuH,EAAYzJ,EAAKoG,SAASzC,EAAGA,EAAIkH,GAAK,IAAI9H,EAAG+H,IAEzDxE,EAAI,GAAI,4BAA8BkF,GAJtCJ,EAAMlJ,GAAM6D,EAAI/F,EAAM2D,EAAGA,EAAIkH,IAOzC,OAAOO,EC1+EI,SAASS,EAAeC,GACrC,OAAIA,aAAiBC,MAIjBD,aAAiBE,KAHZF,EAAMG,cAAcC,KAAKC,GAO3BA,EAAsBL,GAQ/B,SAASK,EAAsBF,GAC7B,IAAIG,EAAU,IAAIpJ,WAAWiJ,GACzBI,EAAWnB,EAAUkB,GACzB,OAAOE,QAAQC,QAAQC,EAAYH,IAUrC,SAASG,EAAYH,GAGnB,IAFA,IAAII,EAAgB,GAEXC,EAAK,EAAGC,EAAeC,OAAOC,KAAKR,GAAWK,EAAKC,EAAajI,OAAQgI,IAAM,CACrF,IAAI9N,EAAM+N,EAAaD,GACvBD,EAAc7N,GAAOsL,EAAUmC,EAASzN,IAG1C,OAAO6N,EC7CF,SAASK,EAAUC,EAAMC,GAC9B,IAAIpJ,EAAI,EAER,MAAOA,EAAImJ,EAAKE,WAAWvI,OAAQ,CACjC,IAAIwI,EAAYH,EAAKE,WAAWrJ,GAGhC,GAA2B,IAAvBsJ,EAAUC,UAAkBC,GAAWF,KAAeF,EACxD,OAAOE,EAGTtJ,KAGG,SAASyJ,EAAaN,EAAMC,GACjC,IAAIM,EAAU,GACV1J,EAAI,EAER,MAAOA,EAAImJ,EAAKE,WAAWvI,OAAQ,CACjC,IAAIwI,EAAYH,EAAKE,WAAWrJ,GAGL,IAAvBsJ,EAAUC,UAAkBC,GAAWF,KAAeF,GACxDM,EAAQC,KAAKL,GAGftJ,IAGF,OAAO0J,EAEF,SAASE,EAAQT,EAAMC,EAASS,GAKrC,IAAI7J,EAAI,EAER,MAAOA,EAAImJ,EAAKE,WAAWvI,OAAQ,CACjC,IAAIwI,EAAYH,EAAKE,WAAWrJ,GAE5BoJ,EAGyB,IAAvBE,EAAUC,UAAkBC,GAAWF,KAAeF,GACxDS,EAAKP,EAAWtJ,GAGlB6J,EAAKP,EAAWtJ,GAGlBA,KAGG,SAAS,EAAImJ,EAAMC,EAASS,GACjC,IAAIH,EAAU,GAId,OAHAE,EAAQT,EAAMC,GAAS,SAAUD,EAAMnJ,GACrC0J,EAAQC,KAAKE,EAAKV,EAAMnJ,OAEnB0J,EAET,IAAII,EAAoB,OACjB,SAASN,GAAWO,GAQzB,OAAOA,EAAQX,QAAQY,QAAQF,EAAmB,IAG7C,SAASG,GAAYd,GAG1B,GAAsB,IAAlBA,EAAKI,SACP,OAAOJ,EAAKe,YAGd,IAAIC,EAAM,IAAMX,GAAWL,GACvBjJ,EAAI,EAER,MAAOA,EAAIiJ,EAAKiB,WAAWtJ,OACzBqJ,GAAO,IAAMhB,EAAKiB,WAAWlK,GAAGzE,KAAzB,KAA4C0N,EAAKiB,WAAWlK,GAAG1D,MAAQ,IAC9E0D,IAGFiK,GAAO,IACP,IAAInK,EAAI,EAER,MAAOA,EAAImJ,EAAKE,WAAWvI,OACzBqJ,GAAOF,GAAYd,EAAKE,WAAWrJ,IACnCA,IAIF,OADAmK,GAAO,KAAOX,GAAWL,GAAQ,IAC1BgB,EChGF,SAASE,GAASC,GACvB,IAAIC,EAAYD,EAASE,gBACrBC,EAAYvB,EAAUqB,EAAW,aACjCG,EAAQ,GAMZ,OALAd,EAAQa,EAAW,OAAO,SAAUE,GAClCf,EAAQe,EAAK,KAAK,SAAUC,GAC1BF,EAAMf,KAAKiB,SAGRF,EAeF,SAASG,GAAaP,EAAUnB,GACrC,OAAOD,EAAUC,EAAM,KAElB,SAAS2B,GAAyBR,EAAUnB,GACjD,GAAIA,EAAK4B,YAA8C,OAAhCvB,GAAWL,EAAK4B,aAAwB5B,EAAK4B,WAAWA,YAAyD,MAA3CvB,GAAWL,EAAK4B,WAAWA,YACtH,OAAO5B,EAAK4B,WAAWA,WAAWb,YAG/B,SAASc,GAAcV,GAC5B,IAAIC,EAAYD,EAASE,gBACrBS,EAAa/B,EAAUqB,EAAW,aAEtC,GAAIU,EACF,OAAOA,EAAWC,aAAa,OAG5B,SAASC,GAAcb,GAC5B,IAAIc,EAAad,EAASE,gBACtBa,EAAenC,EAAUkC,EAAY,gBAEzC,OAAIC,EACK5B,EAAa4B,EAAc,MAG7B,GAEF,SAASC,GAAchB,GAC5B,IAAIc,EAAad,EAASE,gBACtBe,EAAUrC,EAAUkC,EAAY,WAEpC,OAAKG,EAIE9B,EAAa8B,EAAS,MAHpB,GAKJ,SAASC,GAAiBlB,GAC/B,IAAIc,EAAad,EAASE,gBAEtBiB,EAAUvC,EAAUkC,EAAY,WAEpC,OAAIK,EACKhC,EAAagC,EAAS,UAGxB,GAEF,SAASC,GAAiBpB,GAI/B,IAAIqB,EAAMrB,EAASE,gBACnB,OAAO,EAAImB,EAAK,MAAM,SAAUC,GAC9B,IAAItH,EAAI4E,EAAU0C,EAAQ,KAE1B,GAAItH,EACF,OAAOA,EAAE4F,YAGX,IAAI1N,EAAQ,GAIZ,OAHAoN,EAAQgC,EAAQ,KAAK,SAAU3L,GAC7BzD,GAAS0M,EAAUjJ,EAAG,KAAKiK,eAEtB1N,KAGJ,SAASqP,GAAsBvB,GACpC,IAAIwB,EAAWxB,EAASE,gBACxB,OAAOtB,EAAU4C,EAAU,cAEtB,SAASC,GAAiBzB,GAC/B,IAAI0B,EAAgB1B,EAASE,gBAC7B,OAAOf,EAAauC,EAAe,gBAE9B,SAASC,GAAU3B,GACxB,IAAIwB,EAAWxB,EAASE,gBACpB0B,EAAShD,EAAU4C,EAAU,UACjC,OAAOrC,EAAayC,EAAQ,SCpGf,SAASC,GAAgBpN,EAASoL,GAC/C,IAAIiC,EAAOjC,EAAIrL,eAAeC,GAC1BsN,EAAa,GAIbC,EAAqBT,GAAsBO,GAE3CE,GAAsE,MAAhDA,EAAmBpB,aAAa,cACxDmB,EAAWE,WAAY,GAazBF,EAAWH,OAAS,GAEpB,IAAIM,EAAe,SAAsBC,GACnCA,EAAMvB,aAAa,SACrBmB,EAAWH,OAAOvC,KAAK,CACrB+C,GAAID,EAAMvB,aAAa,WACvBzP,KAAMgR,EAAMvB,aAAa,QACzByB,WAAYF,EAAMvB,aAAa,WAMrC,OADAe,GAAUG,GAAMxC,QAAQ4C,GACjBH,EC1BM,SAASO,GAAe7N,EAASoL,GAS9C,IAAIG,EAAWH,EAAIrL,eAAeC,GAC9B8N,EAAY,CACdX,OAAQ,GACRY,mBAAeC,EACfC,YAAQD,GAGNE,EAAkB,SAAyBC,GAC7C,IAAIC,EAAWD,EAAahC,aAAa,UACrCkC,EAAWF,EAAahC,aAAa,QAEzC,OAAQkC,GACN,IAAK,6EACHP,EAAUG,OAASK,GAAYF,GAC/B,MAEF,IAAK,oFACHN,EAAUC,cAAgBO,GAAYF,GACtC,MAEF,IAAK,gFACHN,EAAUX,OAAOgB,EAAahC,aAAa,OAASmC,GAAYF,GAChE,QAWN,OAPApB,GAAiBzB,GAAUV,QAAQqD,GAO5BJ,EAGT,SAASQ,GAAYrQ,GAQnB,MAAgB,MAAZA,EAAK,GACAA,EAAKJ,MAAM,IAAIkE,QAQjB,MAAQ9D,ECzEjB,SAASsQ,GAAQC,EAAQC,GAAkB,IAAIvE,EAAOD,OAAOC,KAAKsE,GAAS,GAAIvE,OAAOyE,sBAAuB,CAAE,IAAIC,EAAU1E,OAAOyE,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ/F,QAAO,SAAUtC,GAAO,OAAO2D,OAAO2E,yBAAyBJ,EAAQlI,GAAKuI,eAAiB3E,EAAKU,KAAKnD,MAAMyC,EAAMyE,GAAY,OAAOzE,EAE9U,SAAS4E,GAAcC,GAAU,IAAK,IAAI9N,EAAI,EAAGA,EAAI+N,UAAUjN,OAAQd,IAAK,CAAE,IAAIgO,EAAS,MAAQD,UAAU/N,GAAK+N,UAAU/N,GAAK,GAAIA,EAAI,EAAIsN,GAAQtE,OAAOgF,IAAS,GAAIpE,SAAQ,SAAU5O,GAAOiT,GAAgBH,EAAQ9S,EAAKgT,EAAOhT,OAAYgO,OAAOkF,0BAA4BlF,OAAOmF,iBAAiBL,EAAQ9E,OAAOkF,0BAA0BF,IAAWV,GAAQtE,OAAOgF,IAASpE,SAAQ,SAAU5O,GAAOgO,OAAOoF,eAAeN,EAAQ9S,EAAKgO,OAAO2E,yBAAyBK,EAAQhT,OAAa,OAAO8S,EAEjf,SAASG,GAAgBI,EAAKrT,EAAKwB,GAAiK,OAApJxB,KAAOqT,EAAOrF,OAAOoF,eAAeC,EAAKrT,EAAK,CAAEwB,MAAOA,EAAOoR,YAAY,EAAMU,cAAc,EAAMC,UAAU,IAAkBF,EAAIrT,GAAOwB,EAAgB6R,EAM5L,SAASG,GAAYzP,EAASoL,GAC3C,IAAKpL,EACH,MAAO,GAKT,IAAI0P,EAAMtE,EAAIrL,eAAeC,GACzB2P,EAAavD,GAAcsD,GAAKE,IAAIC,IACpCC,EAAgBrD,GAAiBiD,GAAKE,IAAIG,IAAwBC,QAAO,SAAUC,EAASC,GAI9F,OADAD,EAAQC,EAAOvC,IAAMuC,EACdD,IACN,IAECE,EAAe,SAAsBC,GACvC,OAAIA,EAAGC,aAAa,QACXvB,GAAcA,GAAc,GAAIa,EAAWS,EAAGE,OAAQT,GAAeO,EAAIN,IAG3ED,GAAeO,EAAIN,IAG5B,OAAOvD,GAAcmD,GAAKE,IAAIO,GAGhC,SAASJ,GAAuBQ,GAC9B,MAAO,CACL5C,GAAI4C,EAAOpE,aAAa,YACxBqE,SAAUD,EAAOpE,aAAa,eAKlC,SAAS0D,GAAeO,EAAI1D,GAC1B,IAAI+D,EAAQ,GAEZ,GAAIL,EAAGC,aAAa,YAAa,CAC/B,IAAIK,EAAiBN,EAAGjE,aAAa,YAGjCO,EAAQgE,GACVD,EAAME,aAAejE,EAAQgE,GAE7BD,EAAME,aAAe,CACnBhD,GAAI+C,GAKV,OAAOD,EC5DM,SAASG,GAAmB5Q,EAASoL,GAClD,OAAKpL,EAIE2M,GAAiBvB,EAAIrL,eAAeC,IAHlC,GCII,SAAS6Q,GAAeC,EAAiBC,GAElDA,GAAWA,EAAQvD,YACrBsD,GAAmB,MAYrB,IAAIE,EAAsB,MAwCtBC,EAAO,KACX,OAAO,IAAIC,KAAKrM,KAAKsM,MAAgD,IAAzCL,EAAkBE,GAA4BC,IC/D5E,SAASG,GAAgCnO,EAAGoO,GAAkB,IAAIC,EAAuB,qBAAXC,QAA0BtO,EAAEsO,OAAOC,WAAavO,EAAE,cAAe,GAAIqO,EAAI,OAAQA,EAAKA,EAAGG,KAAKxO,IAAIyO,KAAKC,KAAKL,GAAK,GAAIM,MAAMC,QAAQ5O,KAAOqO,EAAKQ,GAA4B7O,KAAOoO,GAAkBpO,GAAyB,kBAAbA,EAAElB,OAAqB,CAAMuP,IAAIrO,EAAIqO,GAAI,IAAIrQ,EAAI,EAAG,OAAO,WAAc,OAAIA,GAAKgC,EAAElB,OAAe,CAAEgQ,MAAM,GAAe,CAAEA,MAAM,EAAOtU,MAAOwF,EAAEhC,OAAa,MAAM,IAAI+Q,UAAU,yIAEjd,SAASF,GAA4B7O,EAAGgP,GAAU,GAAKhP,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOiP,GAAkBjP,EAAGgP,GAAS,IAAI3O,EAAI2G,OAAOkI,UAAUzU,SAAS+T,KAAKxO,GAAGpF,MAAM,GAAI,GAAiE,MAAnD,WAANyF,GAAkBL,EAAEmP,cAAa9O,EAAIL,EAAEmP,YAAY1V,MAAgB,QAAN4G,GAAqB,QAANA,EAAoBsO,MAAMS,KAAKpP,GAAc,cAANK,GAAqB,2CAA2CgP,KAAKhP,GAAW4O,GAAkBjP,EAAGgP,QAAzG,GAE7S,SAASC,GAAkBK,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIxQ,UAAQyQ,EAAMD,EAAIxQ,QAAQ,IAAK,IAAId,EAAI,EAAGwR,EAAO,IAAIb,MAAMY,GAAMvR,EAAIuR,EAAKvR,IAAOwR,EAAKxR,GAAKsR,EAAItR,GAAM,OAAOwR,EAYjK,SAASC,GAAgBjV,EAAOkV,EAAS1E,EAAQ8C,GAC9D,GAAI4B,EAAS,CACX,IAAIlC,EAAQxC,EAAO0E,GAEnB,IAAKlC,EACH,MAAM,IAAI1M,MAAM,yBAAyB6O,OAAOD,IAGlD,IAAKlC,EAAME,aACT,OAAO,EAGT,GACAkC,GAAgCC,QAAQC,OAAOtC,EAAME,aAAahD,MAAQ,GAE1EoD,EAAQiC,YAAcvC,EAAME,aAAaH,WAAaO,EAAQiC,aAElC,IAA5BjC,EAAQkC,iBAA6BxC,EAAME,aAAaH,UAAY0C,GAAezC,EAAME,aAAaH,UACpG,OAAO,GAKb,IAAIqC,GAAkC,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAWnGM,GAA2B,cAQ3BC,GAA4B,MAEhC,SAASF,GAAe1C,GAItBA,EAAWA,EAAS1S,cAGpB0S,EAAWA,EAASvF,QAAQkI,GAA0B,IAGtD3C,EAAWA,EAASvF,QAAQmI,GAA2B,IAGvD,IAFA,IAE8DC,EAF1DC,EAAS9C,EAAS+C,MAAM,OAEnBC,EAAYpC,GAAgCkC,KAAkBD,EAAQG,KAAazB,MAAO,CACjG,IAAI0B,EAAQJ,EAAM5V,MAElB,GAAIiW,GAAqBZ,QAAQW,GAAS,EACxC,OAAO,EAIX,OAAO,EAKT,IAAIC,GAAuB,CAC3B,KACA,KACA,IACA,KACA,KACA,KACA,IACA,KACA,IACA,KACA,MACA,OACA,KACA,OAMA,KCvGe,SAASC,GAAelW,EAAO6H,EAAMsO,GAClD,IAAIC,EAAuBD,EAAKC,qBAC5BC,EAAqBF,EAAKE,mBAC1BC,EAAaH,EAAKG,WAClB9F,EAAS2F,EAAK3F,OACd+F,EAASJ,EAAKI,OACd1G,EAAasG,EAAKtG,WAClByD,EAAU6C,EAAK7C,QAcnB,OAZKzL,IAGHA,EAAO,KASDA,GAKN,IAAK,MACH7H,EAAQwW,GAAYxW,EAAOsT,GAC3B,MAKF,IAAK,YAGH,GAFAtT,EAAQoW,SAEM7F,IAAVvQ,EACF,MAAM,IAAIsG,MAAM,qDAAuD6O,OAAOkB,MAGhFrW,EAAQwW,GAAYxW,EAAOsT,GAC3B,MAOF,IAAK,IAKH,IAAImD,EAAoBnB,OAAOtV,GAE/B,GAAI0W,MAAMD,GACR,MAAM,IAAInQ,MAAM,kCAAoC6O,OAAOnV,IAG7D,GAAIyW,GAAqBF,EAAOjS,OAC9B,MAAM,IAAIgC,MAAM,2CAA6C6O,OAAOnV,IAGtEA,EAAQuW,EAAOE,GACfzW,EAAQwW,GAAYxW,EAAOsT,GAC3B,MAIF,IAAK,IACH,GAAc,MAAVtT,EACFA,GAAQ,MACH,IAAc,MAAVA,EAGT,MAAM,IAAIsG,MAAM,qCAAuC6O,OAAOnV,IAF9DA,GAAQ,EAKV,MAIF,IAAK,IACHA,OAAQuQ,EACR,MAMF,IAAK,IACHvQ,EAAQ2W,GAAY3W,GACpB,MAOF,IAAK,IACH,QAAcuQ,IAAVvQ,EACF,MAGF,IAAI4W,EAAa,IAAInD,KAAKzT,GAE1B,GAAI0W,MAAME,EAAWC,WACnB,MAAM,IAAIvQ,MAAM,kCAAoC6O,OAAOnV,IAG7DA,EAAQ4W,EACR,MAGF,IAAK,IACH,QAAcrG,IAAVvQ,EACF,MAGF,IAAI8W,EAAexB,OAAOtV,GAE1B,GAAI0W,MAAMI,GACR,MAAM,IAAIxQ,MAAM,iCAAmC6O,OAAOnV,IAG5DA,EAAQ8W,EAGJ7B,GAAgBjV,EAAOsW,IAAc9F,EAAQ8C,KAE/CtT,EAAQ,GAAUA,EAAO6P,IAG3B,MAEF,QACE,MAAM,IAAI0E,UAAU,4BAA4BY,OAAOtN,IAQ3D,YAJc0I,IAAVvQ,IACFA,EAAQ,MAGHA,EAIT,SAAS2W,GAAYI,GAGnB,OAAQA,GACN,KAAK,EACH,MAAO,SAET,KAAK,EACH,MAAO,UAET,KAAK,GACH,MAAO,UAET,KAAK,GACH,MAAO,QAET,KAAK,GACH,MAAO,SAET,KAAK,GACH,MAAO,QAET,KAAK,GACH,MAAO,OAET,KAAK,GACH,MAAO,gBAET,QAEE,MAAO,UAAU5B,OAAO4B,IAI9B,SAASP,GAAYxW,EAAOsT,GAa1B,OARqB,IAAjBA,EAAQ5Q,OACV1C,EAAQA,EAAM0C,QAGF,KAAV1C,IACFA,OAAQuQ,GAGHvQ,ECrMT,IAAIgX,GAAU,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACzI,SAASC,GAAoB/I,GAClC,IAAIgJ,EAAa,SAAoB9R,EAAG7B,GACtC,OAAO6B,EAAI7B,GAGT4T,EAAUjJ,EAAMiE,KAAI,SAAU/D,GAChC,OAAOA,EAAKD,OACXiJ,KAAKF,GACJG,EAAUnJ,EAAMiE,KAAI,SAAU/D,GAChC,OAAOA,EAAKkJ,UACXF,KAAKF,GACJK,EAASJ,EAAQ,GACjBK,EAASL,EAAQA,EAAQ7S,OAAS,GAClCmT,EAASJ,EAAQ,GACjBK,EAASL,EAAQA,EAAQ/S,OAAS,GACtC,MAAO,CAAC,CACN6J,IAAKoJ,EACLD,OAAQG,GACP,CACDtJ,IAAKqJ,EACLF,OAAQI,IAKZ,SAASC,GAAsBC,GAE7B,IAAI/R,EAAI,EACJrC,EAAI,EAER,MAAOA,EAAIoU,EAActT,OACvBuB,GAAK,GACLA,GAAKmR,GAAQ3B,QAAQuC,EAAcpU,IACnCA,IAGF,OAAOqC,EAGF,SAASgS,GAAqBC,GAGnC,OADAA,EAASA,EAAOhC,MAAM,SACf,CACPiC,SAASD,EAAO,IAChBH,GAAsBG,EAAO,GAAGpV,SCjBnB,SAASsV,GAAUrL,EAAMsD,EAAOtC,EAAK4I,EAAQ/F,EAAQX,EAAYyD,GAC9E,IAMIzL,EANAiQ,EAASD,GAAqBlL,EAAK+B,aAAa,MAChDuJ,EAAe5J,GAAa4B,EAAOtD,GAInC3M,EAAQiY,GAAgBA,EAAavK,YAOzC,OAJIf,EAAKiG,aAAa,OACpB/K,EAAO8E,EAAK+B,aAAa,MAGpB,CACLP,IAAK2J,EAAO,GACZR,OAAQQ,EAAO,GACf9X,MAAOkW,GAAelW,EAAO6H,EAAM,CACjCuO,qBAAsB,WACpB,OAAO9H,GAAyB2B,EAAOtD,IAEzC0J,mBAAoB,WAClB,OAAO5I,GAAYd,IAErB2J,WAAY,WACV,OAAO3J,EAAK+B,aAAa,MAE3B8B,OAAQA,EACR+F,OAAQA,EACR1G,WAAYA,EACZyD,QAASA,KCxDA,SAAS4E,GAAWjI,EAAOtC,EAAK4I,EAAQ/F,EAAQX,EAAYyD,GACzE,IAAIpF,EAAQL,GAASoC,GAErB,OAAqB,IAAjB/B,EAAM5J,OACD,GAQF4J,EAAMiE,KAAI,SAAUxF,GACzB,OAAOqL,GAAUrL,EAAMsD,EAAOtC,EAAK4I,EAAQ/F,EAAQX,EAAYyD,MCfnE,SAAS6E,GAAerD,EAAKtR,GAAK,OAAO4U,GAAgBtD,IAAQuD,GAAsBvD,EAAKtR,IAAM,GAA4BsR,EAAKtR,IAAM8U,KAEzI,SAASA,KAAqB,MAAM,IAAI/D,UAAU,6IAElD,SAAS,GAA4B/O,EAAGgP,GAAU,GAAKhP,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGgP,GAAS,IAAI3O,EAAI2G,OAAOkI,UAAUzU,SAAS+T,KAAKxO,GAAGpF,MAAM,GAAI,GAAiE,MAAnD,WAANyF,GAAkBL,EAAEmP,cAAa9O,EAAIL,EAAEmP,YAAY1V,MAAgB,QAAN4G,GAAqB,QAANA,EAAoBsO,MAAMS,KAAKpP,GAAc,cAANK,GAAqB,2CAA2CgP,KAAKhP,GAAW,GAAkBL,EAAGgP,QAAzG,GAE7S,SAAS,GAAkBM,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIxQ,UAAQyQ,EAAMD,EAAIxQ,QAAQ,IAAK,IAAId,EAAI,EAAGwR,EAAO,IAAIb,MAAMY,GAAMvR,EAAIuR,EAAKvR,IAAOwR,EAAKxR,GAAKsR,EAAItR,GAAM,OAAOwR,EAEhL,SAASqD,GAAsBvD,EAAKtR,GAAK,IAAI8I,EAAY,MAAPwI,EAAc,KAAyB,qBAAXhB,QAA0BgB,EAAIhB,OAAOC,WAAae,EAAI,cAAe,GAAU,MAANxI,EAAJ,CAAwB,IAAkDvN,EAAImC,EAAlDqX,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAmB,IAAM,IAAKnM,EAAKA,EAAG0H,KAAKc,KAAQ0D,GAAMzZ,EAAKuN,EAAG2H,QAAQK,MAAOkE,GAAK,EAA6B,GAArBD,EAAKpL,KAAKpO,EAAGiB,OAAYwD,GAAK+U,EAAKjU,SAAWd,EAAG,MAAW,MAAO0C,GAAOuS,GAAK,EAAMvX,EAAKgF,EAAO,QAAU,IAAWsS,GAAsB,MAAhBlM,EAAG,WAAmBA,EAAG,YAAe,QAAU,GAAImM,EAAI,MAAMvX,GAAQ,OAAOqX,GAE1f,SAASH,GAAgBtD,GAAO,GAAIX,MAAMC,QAAQU,GAAM,OAAOA,EAMhD,SAAS4D,GAAgBzI,GACtC,IAAIxB,EAAaD,GAAcyB,GAE/B,GAAIxB,EAsBF,OArBAA,EAAaA,EAAWqH,MAAM,KAAK3D,IAAI0F,IAAsB1F,KAAI,SAAUgE,GACzE,IAAIwC,EAAQR,GAAehC,EAAM,GAC7BhI,EAAMwK,EAAM,GACZrB,EAASqB,EAAM,GAEnB,MAAO,CACLxK,IAAKA,EACLmJ,OAAQA,MAUc,IAAtB7I,EAAWnK,SACbmK,EAAa,CAACA,EAAW,GAAIA,EAAW,KAGnCA,ECtCI,SAASmK,GAAWrW,EAASoL,EAAK4I,EAAQ/F,EAAQX,EAAYyD,GAC3E,IAAIrD,EAAQtC,EAAIrL,eAAeC,GAC3B2L,EAAQgK,GAAWjI,EAAOtC,EAAK4I,EAAQ/F,EAAQX,EAAYyD,GAG3D7E,EAAaiK,GAAgBzI,IAAUgH,GAAoB/I,GAC/D,MAAO,CACLA,MAAOA,EACPO,WAAYA,GCXhB,SAAS,GAAgCjJ,EAAGoO,GAAkB,IAAIC,EAAuB,qBAAXC,QAA0BtO,EAAEsO,OAAOC,WAAavO,EAAE,cAAe,GAAIqO,EAAI,OAAQA,EAAKA,EAAGG,KAAKxO,IAAIyO,KAAKC,KAAKL,GAAK,GAAIM,MAAMC,QAAQ5O,KAAOqO,EAAK,GAA4BrO,KAAOoO,GAAkBpO,GAAyB,kBAAbA,EAAElB,OAAqB,CAAMuP,IAAIrO,EAAIqO,GAAI,IAAIrQ,EAAI,EAAG,OAAO,WAAc,OAAIA,GAAKgC,EAAElB,OAAe,CAAEgQ,MAAM,GAAe,CAAEA,MAAM,EAAOtU,MAAOwF,EAAEhC,OAAa,MAAM,IAAI+Q,UAAU,yIAEjd,SAAS,GAA4B/O,EAAGgP,GAAU,GAAKhP,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGgP,GAAS,IAAI3O,EAAI2G,OAAOkI,UAAUzU,SAAS+T,KAAKxO,GAAGpF,MAAM,GAAI,GAAiE,MAAnD,WAANyF,GAAkBL,EAAEmP,cAAa9O,EAAIL,EAAEmP,YAAY1V,MAAgB,QAAN4G,GAAqB,QAANA,EAAoBsO,MAAMS,KAAKpP,GAAc,cAANK,GAAqB,2CAA2CgP,KAAKhP,GAAW,GAAkBL,EAAGgP,QAAzG,GAE7S,SAAS,GAAkBM,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIxQ,UAAQyQ,EAAMD,EAAIxQ,QAAQ,IAAK,IAAId,EAAI,EAAGwR,EAAO,IAAIb,MAAMY,GAAMvR,EAAIuR,EAAKvR,IAAOwR,EAAKxR,GAAKsR,EAAItR,GAAM,OAAOwR,EAEjK,SAAS6D,GAAcjZ,GACpC,IAAIuW,EAAO5E,UAAUjN,OAAS,QAAsBiM,IAAjBgB,UAAU,GAAmBA,UAAU,GAAK,GAC3EuH,EAAS3C,EAAK2C,OACdC,EAAgB5C,EAAK6C,SACrBA,OAA6B,IAAlBD,EAA2B,SAAUE,GAClD,OAAOA,GACLF,EACAG,EAAmB/C,EAAK+C,iBAGxB1V,EAAI5D,EAAK0E,OAAS,EAEtB,MAAOd,GAAK,EAAG,CAIb,IAFA,IAE+DoS,EAF3DuD,GAAQ,EAEHpD,EAAY,GAAgCnW,EAAK4D,MAAcoS,EAAQG,KAAazB,MAAO,CAClG,IAAIlG,EAAOwH,EAAM5V,MAEjB,GAAuB,OAAnBgZ,EAAS5K,GAAgB,CAC3B+K,GAAQ,EACR,OAKJ,GAAIA,EACFvZ,EAAKwZ,OAAO5V,EAAG,GAEXsV,GACFA,EAAOM,OAAO5V,EAAG,QAEd,GAAI0V,EACT,MAGF1V,IAGF,OAAO5D,EC7CT,SAAS,GAAgC4F,EAAGoO,GAAkB,IAAIC,EAAuB,qBAAXC,QAA0BtO,EAAEsO,OAAOC,WAAavO,EAAE,cAAe,GAAIqO,EAAI,OAAQA,EAAKA,EAAGG,KAAKxO,IAAIyO,KAAKC,KAAKL,GAAK,GAAIM,MAAMC,QAAQ5O,KAAOqO,EAAK,GAA4BrO,KAAOoO,GAAkBpO,GAAyB,kBAAbA,EAAElB,OAAqB,CAAMuP,IAAIrO,EAAIqO,GAAI,IAAIrQ,EAAI,EAAG,OAAO,WAAc,OAAIA,GAAKgC,EAAElB,OAAe,CAAEgQ,MAAM,GAAe,CAAEA,MAAM,EAAOtU,MAAOwF,EAAEhC,OAAa,MAAM,IAAI+Q,UAAU,yIAEjd,SAAS,GAA4B/O,EAAGgP,GAAU,GAAKhP,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGgP,GAAS,IAAI3O,EAAI2G,OAAOkI,UAAUzU,SAAS+T,KAAKxO,GAAGpF,MAAM,GAAI,GAAiE,MAAnD,WAANyF,GAAkBL,EAAEmP,cAAa9O,EAAIL,EAAEmP,YAAY1V,MAAgB,QAAN4G,GAAqB,QAANA,EAAoBsO,MAAMS,KAAKpP,GAAc,cAANK,GAAqB,2CAA2CgP,KAAKhP,GAAW,GAAkBL,EAAGgP,QAAzG,GAE7S,SAAS,GAAkBM,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIxQ,UAAQyQ,EAAMD,EAAIxQ,QAAQ,IAAK,IAAId,EAAI,EAAGwR,EAAO,IAAIb,MAAMY,GAAMvR,EAAIuR,EAAKvR,IAAOwR,EAAKxR,GAAKsR,EAAItR,GAAM,OAAOwR,EAEjK,SAASqE,GAAiBzZ,GACvC,IAAIuW,EAAO5E,UAAUjN,OAAS,QAAsBiM,IAAjBgB,UAAU,GAAmBA,UAAU,GAAK,GAC3EwH,EAAgB5C,EAAK6C,SACrBA,OAA6B,IAAlBD,EAA2B,SAAUE,GAClD,OAAOA,GACLF,EACAG,EAAmB/C,EAAK+C,iBAExB1V,EAAI5D,EAAK,GAAG0E,OAAS,EAEzB,MAAOd,GAAK,EAAG,CAGb,IAFA,IAE4DoS,EAFxDuD,GAAQ,EAEHpD,EAAY,GAAgCnW,KAAgBgW,EAAQG,KAAazB,MAAO,CAC/F,IAAInG,EAAMyH,EAAM5V,MAEhB,GAAyB,OAArBgZ,EAAS7K,EAAI3K,IAAc,CAC7B2V,GAAQ,EACR,OAIJ,GAAIA,EAAO,CACT,IAAIzV,EAAI,EAER,MAAOA,EAAI9D,EAAK0E,OACd1E,EAAK8D,GAAG0V,OAAO5V,EAAG,GAClBE,SAEG,GAAIwV,EACT,MAGF1V,IAGF,OAAO5D,EC1CT,SAAS,GAAgC4F,EAAGoO,GAAkB,IAAIC,EAAuB,qBAAXC,QAA0BtO,EAAEsO,OAAOC,WAAavO,EAAE,cAAe,GAAIqO,EAAI,OAAQA,EAAKA,EAAGG,KAAKxO,IAAIyO,KAAKC,KAAKL,GAAK,GAAIM,MAAMC,QAAQ5O,KAAOqO,EAAK,GAA4BrO,KAAOoO,GAAkBpO,GAAyB,kBAAbA,EAAElB,OAAqB,CAAMuP,IAAIrO,EAAIqO,GAAI,IAAIrQ,EAAI,EAAG,OAAO,WAAc,OAAIA,GAAKgC,EAAElB,OAAe,CAAEgQ,MAAM,GAAe,CAAEA,MAAM,EAAOtU,MAAOwF,EAAEhC,OAAa,MAAM,IAAI+Q,UAAU,yIAEjd,SAAS,GAAeO,EAAKtR,GAAK,OAAO,GAAgBsR,IAAQ,GAAsBA,EAAKtR,IAAM,GAA4BsR,EAAKtR,IAAM,KAEzI,SAAS,KAAqB,MAAM,IAAI+Q,UAAU,6IAElD,SAAS,GAA4B/O,EAAGgP,GAAU,GAAKhP,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGgP,GAAS,IAAI3O,EAAI2G,OAAOkI,UAAUzU,SAAS+T,KAAKxO,GAAGpF,MAAM,GAAI,GAAiE,MAAnD,WAANyF,GAAkBL,EAAEmP,cAAa9O,EAAIL,EAAEmP,YAAY1V,MAAgB,QAAN4G,GAAqB,QAANA,EAAoBsO,MAAMS,KAAKpP,GAAc,cAANK,GAAqB,2CAA2CgP,KAAKhP,GAAW,GAAkBL,EAAGgP,QAAzG,GAE7S,SAAS,GAAkBM,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIxQ,UAAQyQ,EAAMD,EAAIxQ,QAAQ,IAAK,IAAId,EAAI,EAAGwR,EAAO,IAAIb,MAAMY,GAAMvR,EAAIuR,EAAKvR,IAAOwR,EAAKxR,GAAKsR,EAAItR,GAAM,OAAOwR,EAEhL,SAAS,GAAsBF,EAAKtR,GAAK,IAAI8I,EAAY,MAAPwI,EAAc,KAAyB,qBAAXhB,QAA0BgB,EAAIhB,OAAOC,WAAae,EAAI,cAAe,GAAU,MAANxI,EAAJ,CAAwB,IAAkDvN,EAAImC,EAAlDqX,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAmB,IAAM,IAAKnM,EAAKA,EAAG0H,KAAKc,KAAQ0D,GAAMzZ,EAAKuN,EAAG2H,QAAQK,MAAOkE,GAAK,EAA6B,GAArBD,EAAKpL,KAAKpO,EAAGiB,OAAYwD,GAAK+U,EAAKjU,SAAWd,EAAG,MAAW,MAAO0C,GAAOuS,GAAK,EAAMvX,EAAKgF,EAAO,QAAU,IAAWsS,GAAsB,MAAhBlM,EAAG,WAAmBA,EAAG,YAAe,QAAU,GAAImM,EAAI,MAAMvX,GAAQ,OAAOqX,GAE1f,SAAS,GAAgBzD,GAAO,GAAIX,MAAMC,QAAQU,GAAM,OAAOA,EAIhD,SAASwE,GAAQrJ,EAAOqD,GACrC,IAAI7E,EAAawB,EAAMxB,WACnBP,EAAQ+B,EAAM/B,MAElB,GAAqB,IAAjBA,EAAM5J,OACR,MAAO,GAGT,IAAIiV,EAAc,GAAe9K,EAAY,GAEzC+K,GADUD,EAAY,GACRA,EAAY,IAM1BE,EAAYD,EAAYlC,OACxBoC,EAAYF,EAAYrL,IAExBvO,EAAO,IAAIuU,MAAMuF,GACjBlW,EAAI,EAER,MAAOA,EAAIkW,EAAW,CACpB9Z,EAAK4D,GAAK,IAAI2Q,MAAMsF,GACpB,IAAI/V,EAAI,EAER,MAAOA,EAAI+V,EACT7Z,EAAK4D,GAAGE,GAAK,KACbA,IAGFF,IAOF,IAAK,IAAwDoS,EAApDG,EAAY,GAAgC7H,KAAiB0H,EAAQG,KAAazB,MAAO,CAChG,IAAIlG,EAAOwH,EAAM5V,MAKb2Z,EAAWvL,EAAKD,IAAM,EACtByL,EAAcxL,EAAKkJ,OAAS,EAE5BsC,EAAcH,GAAaE,EAAWD,IACxC9Z,EAAK+Z,GAAUC,GAAexL,EAAKpO,OAKvC,IAAI8Y,EAASxF,EAAQwF,OAErB,GAAIA,EAAQ,CACV,IAAIe,EAAM,EAEV,MAAOA,EAAMja,EAAK0E,OAChBwU,EAAOe,GAAOA,EACdA,IAoBJ,OAfAja,EAAOiZ,GAAcQ,GAAiBzZ,EAAM,CAC1CsZ,kBAAkB,IAChB,CACFA,kBAAkB,EAClBJ,OAAQA,IAGNxF,EAAQwG,gBACVla,EAAO0T,EAAQwG,cAAcla,IAOxBA,EChGT,SAAS,GAAgC4F,EAAGoO,GAAkB,IAAIC,EAAuB,qBAAXC,QAA0BtO,EAAEsO,OAAOC,WAAavO,EAAE,cAAe,GAAIqO,EAAI,OAAQA,EAAKA,EAAGG,KAAKxO,IAAIyO,KAAKC,KAAKL,GAAK,GAAIM,MAAMC,QAAQ5O,KAAOqO,EAAK,GAA4BrO,KAAOoO,GAAkBpO,GAAyB,kBAAbA,EAAElB,OAAqB,CAAMuP,IAAIrO,EAAIqO,GAAI,IAAIrQ,EAAI,EAAG,OAAO,WAAc,OAAIA,GAAKgC,EAAElB,OAAe,CAAEgQ,MAAM,GAAe,CAAEA,MAAM,EAAOtU,MAAOwF,EAAEhC,OAAa,MAAM,IAAI+Q,UAAU,yIAEjd,SAAS,GAA4B/O,EAAGgP,GAAU,GAAKhP,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGgP,GAAS,IAAI3O,EAAI2G,OAAOkI,UAAUzU,SAAS+T,KAAKxO,GAAGpF,MAAM,GAAI,GAAiE,MAAnD,WAANyF,GAAkBL,EAAEmP,cAAa9O,EAAIL,EAAEmP,YAAY1V,MAAgB,QAAN4G,GAAqB,QAANA,EAAoBsO,MAAMS,KAAKpP,GAAc,cAANK,GAAqB,2CAA2CgP,KAAKhP,GAAW,GAAkBL,EAAGgP,QAAzG,GAE7S,SAAS,GAAkBM,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIxQ,UAAQyQ,EAAMD,EAAIxQ,QAAQ,IAAK,IAAId,EAAI,EAAGwR,EAAO,IAAIb,MAAMY,GAAMvR,EAAIuR,EAAKvR,IAAOwR,EAAKxR,GAAKsR,EAAItR,GAAM,OAAOwR,EAEhL,SAAS,GAAQjE,EAAQC,GAAkB,IAAIvE,EAAOD,OAAOC,KAAKsE,GAAS,GAAIvE,OAAOyE,sBAAuB,CAAE,IAAIC,EAAU1E,OAAOyE,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ/F,QAAO,SAAUtC,GAAO,OAAO2D,OAAO2E,yBAAyBJ,EAAQlI,GAAKuI,eAAiB3E,EAAKU,KAAKnD,MAAMyC,EAAMyE,GAAY,OAAOzE,EAE9U,SAAS,GAAc6E,GAAU,IAAK,IAAI9N,EAAI,EAAGA,EAAI+N,UAAUjN,OAAQd,IAAK,CAAE,IAAIgO,EAAS,MAAQD,UAAU/N,GAAK+N,UAAU/N,GAAK,GAAIA,EAAI,EAAI,GAAQgJ,OAAOgF,IAAS,GAAIpE,SAAQ,SAAU5O,GAAO,GAAgB8S,EAAQ9S,EAAKgT,EAAOhT,OAAYgO,OAAOkF,0BAA4BlF,OAAOmF,iBAAiBL,EAAQ9E,OAAOkF,0BAA0BF,IAAW,GAAQhF,OAAOgF,IAASpE,SAAQ,SAAU5O,GAAOgO,OAAOoF,eAAeN,EAAQ9S,EAAKgO,OAAO2E,yBAAyBK,EAAQhT,OAAa,OAAO8S,EAEjf,SAAS,GAAgBO,EAAKrT,EAAKwB,GAAiK,OAApJxB,KAAOqT,EAAOrF,OAAOoF,eAAeC,EAAKrT,EAAK,CAAEwB,MAAOA,EAAOoR,YAAY,EAAMU,cAAc,EAAMC,UAAU,IAAkBF,EAAIrT,GAAOwB,EAAgB6R,EAmB5L,SAASkI,GAAS9N,EAAU0B,GACzC,IAAI2F,EAAU/B,UAAUjN,OAAS,QAAsBiM,IAAjBgB,UAAU,GAAmBA,UAAU,GAAK,GAE7E+B,EAAQrD,QACXqD,EAAU,GAAc,CACtBrD,MAAO,GACNqD,IAGL,IAAI0G,EAAoB,SAA2BrJ,GACjD,IAAK1E,EAAS0E,GACZ,MAAM,IAAIrK,MAAM,IAAK6O,OAAOxE,EAAU,wDAGxC,OAAO1E,EAAS0E,IAKdN,EAAYD,GAAe4J,EAAkB,8BAA+BrM,GAE5E4I,EAASlG,EAAUC,cAAgB6C,GAAmB6G,EAAkB3J,EAAUC,eAAgB3C,GAAO,GAEzG6C,EAASH,EAAUG,OAASwB,GAAYgI,EAAkB3J,EAAUG,QAAS7C,GAAO,GACpFkC,EAAaF,GAAgBqK,EAAkB,mBAAoBrM,GAGvE,GAAI2F,EAAQ7D,UACV,OAAOI,EAAWH,OAAOyC,KAAI,SAAUgE,GACrC,IAAIlX,EAAOkX,EAAKlX,KAChB,MAAO,CACLA,KAAMA,MAMZ,IAAIgb,EAAUC,GAAW5G,EAAQrD,MAAOJ,EAAWH,QAGnD,IAAKuK,IAAY5J,EAAUX,OAAOuK,GAChC,MAAME,GAAyB7G,EAAQrD,MAAOJ,EAAWH,QAI3D,IAAIO,EAAQ2I,GAAWoB,EAAkB3J,EAAUX,OAAOuK,IAAWtM,EAAK4I,EAAQ/F,EAAQX,EAAYyD,GAElG1T,EAAO0Z,GAAQrJ,EAAOqD,GAE1B,OAAIA,EAAQzD,WACH,CACLjQ,KAAMA,EACNiQ,WAAYA,GAKTjQ,EAGT,SAASsa,GAAWjK,EAAOP,GACzB,GAAqB,kBAAVO,EAAoB,CAC7B,IAAImK,EAAS1K,EAAOO,EAAQ,GAC5B,OAAOmK,GAAUA,EAAOjK,WAG1B,IAAK,IAAyDyF,EAArDG,EAAY,GAAgCrG,KAAkBkG,EAAQG,KAAazB,MAAO,CACjG,IAAI+F,EAAUzE,EAAM5V,MAEpB,GAAIqa,EAAQpb,OAASgR,EACnB,OAAOoK,EAAQlK,YAKrB,SAASgK,GAAyBlK,EAAOP,GACvC,IAAI4K,EAAa5K,GAAUA,EAAOyC,KAAI,SAAUlC,EAAOzM,GACrD,MAAO,IAAK2R,OAAOlF,EAAMhR,KAAM,QAASkW,OAAO3R,EAAI,EAAG,QACrD+W,KAAK,MACR,OAAO,IAAIjU,MAAM,SAAS6O,OAAwB,kBAAVlF,EAAqB,IAAMA,EAAQ,IAAMA,EAAQ,IAAK,kCAAkCkF,OAAOzF,EAAS,sBAAwB4K,EAAa,IAAM,KC5G7L,SAASE,GAAQ3I,GAAkC,OAAO2I,GAAU,mBAAqB1G,QAAU,iBAAmBA,OAAOC,SAAW,SAAUlC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBiC,QAAUjC,EAAI8C,cAAgBb,QAAUjC,IAAQiC,OAAOY,UAAY,gBAAkB7C,GAAQ2I,GAAQ3I,GAEzU,SAAS4I,GAAkBnJ,EAAQoJ,GAAS,IAAK,IAAIlX,EAAI,EAAGA,EAAIkX,EAAMpW,OAAQd,IAAK,CAAE,IAAImX,EAAaD,EAAMlX,GAAImX,EAAWvJ,WAAauJ,EAAWvJ,aAAc,EAAOuJ,EAAW7I,cAAe,EAAU,UAAW6I,IAAYA,EAAW5I,UAAW,GAAMvF,OAAOoF,eAAeN,EAAQqJ,EAAWnc,IAAKmc,IAE7S,SAASC,GAAaC,EAAaC,EAAYC,GAAyN,OAAtMD,GAAYL,GAAkBI,EAAYnG,UAAWoG,GAAiBC,GAAaN,GAAkBI,EAAaE,GAAcvO,OAAOoF,eAAeiJ,EAAa,YAAa,CAAE9I,UAAU,IAAiB8I,EAE/Q,SAASG,GAAgBC,EAAUJ,GAAe,KAAMI,aAAoBJ,GAAgB,MAAM,IAAItG,UAAU,qCAEhH,SAAS2G,GAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI7G,UAAU,sDAAyD4G,EAASzG,UAAYlI,OAAO6O,OAAOD,GAAcA,EAAW1G,UAAW,CAAEC,YAAa,CAAE3U,MAAOmb,EAAUpJ,UAAU,EAAMD,cAAc,KAAWtF,OAAOoF,eAAeuJ,EAAU,YAAa,CAAEpJ,UAAU,IAAcqJ,GAAYE,GAAgBH,EAAUC,GAEtb,SAASG,GAAaC,GAAW,IAAIC,EAA4BC,KAA6B,OAAO,WAAkC,IAAsCC,EAAlCC,EAAQC,GAAgBL,GAAkB,GAAIC,EAA2B,CAAE,IAAIK,EAAYD,GAAgB7d,MAAM2W,YAAagH,EAASI,QAAQC,UAAUJ,EAAOrK,UAAWuK,QAAqBH,EAASC,EAAM5R,MAAMhM,KAAMuT,WAAc,OAAO0K,GAA2Bje,KAAM2d,IAE5Z,SAASM,GAA2BC,EAAMlI,GAAQ,GAAIA,IAA2B,WAAlBwG,GAAQxG,IAAsC,oBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIO,UAAU,4DAA+D,OAAO4H,GAAuBD,GAExR,SAASC,GAAuBD,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIE,eAAe,6DAAgE,OAAOF,EAE/J,SAASG,GAAiBC,GAAS,IAAIC,EAAwB,oBAARC,IAAqB,IAAIA,SAAQjM,EAA8nB,OAAnnB8L,GAAmB,SAA0BC,GAAS,GAAc,OAAVA,IAAmBG,GAAkBH,GAAQ,OAAOA,EAAO,GAAqB,oBAAVA,EAAwB,MAAM,IAAI/H,UAAU,sDAAyD,GAAsB,qBAAXgI,EAAwB,CAAE,GAAIA,EAAOG,IAAIJ,GAAQ,OAAOC,EAAOI,IAAIL,GAAQC,EAAOxW,IAAIuW,EAAOM,GAAY,SAASA,IAAY,OAAOC,GAAWP,EAAO/K,UAAWsK,GAAgB7d,MAAM2W,aAAgK,OAAhJiI,EAAQlI,UAAYlI,OAAO6O,OAAOiB,EAAM5H,UAAW,CAAEC,YAAa,CAAE3U,MAAO4c,EAASxL,YAAY,EAAOW,UAAU,EAAMD,cAAc,KAAkBwJ,GAAgBsB,EAASN,IAAkBD,GAAiBC,GAE9uB,SAASO,GAAWC,EAAQC,EAAMT,GAAqV,OAAzSO,GAA/BnB,KAA4CK,QAAQC,UAAiC,SAAoBc,EAAQC,EAAMT,GAAS,IAAIlX,EAAI,CAAC,MAAOA,EAAE+H,KAAKnD,MAAM5E,EAAG2X,GAAO,IAAIlC,EAAcmC,SAAS9I,KAAKlK,MAAM8S,EAAQ1X,GAAQ6V,EAAW,IAAIJ,EAAsE,OAAnDyB,GAAOhB,GAAgBL,EAAUqB,EAAM5H,WAAmBuG,GAAsB4B,GAAW7S,MAAM,KAAMuH,WAErZ,SAASmK,KAA8B,GAAuB,qBAAZK,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUiB,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQzI,UAAUmC,QAAQ7C,KAAK+H,QAAQC,UAAUmB,QAAS,IAAI,iBAAyB,EAAQ,MAAOvX,IAAK,OAAO,GAE/T,SAAS6W,GAAkB3a,GAAM,OAAgE,IAAzDkb,SAAS/c,SAAS+T,KAAKlS,GAAIuT,QAAQ,iBAE3E,SAASiG,GAAgB9V,EAAGD,GAA+G,OAA1G+V,GAAkB9O,OAAO4Q,gBAAkB,SAAyB5X,EAAGD,GAAsB,OAAjBC,EAAE6X,UAAY9X,EAAUC,GAAa8V,GAAgB9V,EAAGD,GAErK,SAASsW,GAAgBrW,GAAwJ,OAAnJqW,GAAkBrP,OAAO4Q,eAAiB5Q,OAAO8Q,eAAiB,SAAyB9X,GAAK,OAAOA,EAAE6X,WAAa7Q,OAAO8Q,eAAe9X,IAAcqW,GAAgBrW,GAExM,IAAI+X,GAA4B,SAAUC,GACxCtC,GAAUqC,EAAcC,GAExB,IAAIC,EAASlC,GAAagC,GAE1B,SAASA,EAAaG,GACpB,IAAIC,EAMJ,OAJA3C,GAAgBhd,KAAMuf,GAEtBI,EAAQF,EAAOzJ,KAAKhW,KAAM,WAC1B2f,EAAMD,OAASA,EACRC,EAGT,OAAO/C,GAAa2C,GAfU,CAgBhBlB,GAAiB/V,QC3ClB,SAASsX,GAAW5d,GASjC,GAAqB,kBAAVA,EAAoB,CAC7B,IAAI6d,EAAmB7d,EAGvB,GAFAA,EAAQsV,OAAOtV,GAEX4J,OAAO5J,KAAW6d,EACpB,MAAM,IAAIN,GAAa,gBAI3B,GAAqB,kBAAVvd,EACT,MAAM,IAAIud,GAAa,gBAGzB,GAAI7G,MAAM1W,GACR,MAAM,IAAIud,GAAa,kBAYzB,IAAKO,SAAS9d,GACZ,MAAM,IAAIud,GAAa,iBAGzB,OAAOvd,ECvCM,SAAS+d,GAAW/d,GACjC,GAAqB,kBAAVA,EACT,OAAOA,EAaT,GAAqB,kBAAVA,EAAoB,CAC7B,GAAI0W,MAAM1W,GACR,MAAM,IAAIud,GAAa,kBAUzB,IAAKO,SAAS9d,GACZ,MAAM,IAAIud,GAAa,iBAGzB,OAAO3T,OAAO5J,GAGhB,MAAM,IAAIud,GAAa,gBClCV,SAASS,GAAYhe,GAClC,GAAqB,mBAAVA,EACT,OAAOA,EAGT,MAAM,IAAIud,GAAa,iBCJV,SAASU,GAASje,EAAOmW,GACtC,IAAItG,EAAasG,EAAKtG,WAKtB,GAAI7P,aAAiByT,KAAM,CACzB,GAAIiD,MAAM1W,EAAM6W,WACd,MAAM,IAAI0G,GAAa,iBAGzB,OAAOvd,EAGT,GAAqB,kBAAVA,EAAoB,CAC7B,GAAI0W,MAAM1W,GACR,MAAM,IAAIud,GAAa,kBAGzB,IAAKO,SAAS9d,GACZ,MAAM,IAAIud,GAAa,iBAGzB,IAAIW,EAAO,GAAUle,EAAO6P,GAE5B,GAAI6G,MAAMwH,EAAKrH,WACb,MAAM,IAAI0G,GAAa,iBAGzB,OAAOW,EAGT,MAAM,IAAIX,GAAa,cClCzB,SAAS,GAAezI,EAAKtR,GAAK,OAAO,GAAgBsR,IAAQ,GAAsBA,EAAKtR,IAAM,GAA4BsR,EAAKtR,IAAM,KAEzI,SAAS,KAAqB,MAAM,IAAI+Q,UAAU,6IAElD,SAAS,GAAsBO,EAAKtR,GAAK,IAAI8I,EAAY,MAAPwI,EAAc,KAAyB,qBAAXhB,QAA0BgB,EAAIhB,OAAOC,WAAae,EAAI,cAAe,GAAU,MAANxI,EAAJ,CAAwB,IAAkDvN,EAAImC,EAAlDqX,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAmB,IAAM,IAAKnM,EAAKA,EAAG0H,KAAKc,KAAQ0D,GAAMzZ,EAAKuN,EAAG2H,QAAQK,MAAOkE,GAAK,EAA6B,GAArBD,EAAKpL,KAAKpO,EAAGiB,OAAYwD,GAAK+U,EAAKjU,SAAWd,EAAG,MAAW,MAAO0C,GAAOuS,GAAK,EAAMvX,EAAKgF,EAAO,QAAU,IAAWsS,GAAsB,MAAhBlM,EAAG,WAAmBA,EAAG,YAAe,QAAU,GAAImM,EAAI,MAAMvX,GAAQ,OAAOqX,GAE1f,SAAS,GAAgBzD,GAAO,GAAIX,MAAMC,QAAQU,GAAM,OAAOA,EAE/D,SAAS,GAAQjD,GAAkC,OAAO,GAAU,mBAAqBiC,QAAU,iBAAmBA,OAAOC,SAAW,SAAUlC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBiC,QAAUjC,EAAI8C,cAAgBb,QAAUjC,IAAQiC,OAAOY,UAAY,gBAAkB7C,GAAQ,GAAQA,GAEzU,SAAS,GAAgCrM,EAAGoO,GAAkB,IAAIC,EAAuB,qBAAXC,QAA0BtO,EAAEsO,OAAOC,WAAavO,EAAE,cAAe,GAAIqO,EAAI,OAAQA,EAAKA,EAAGG,KAAKxO,IAAIyO,KAAKC,KAAKL,GAAK,GAAIM,MAAMC,QAAQ5O,KAAOqO,EAAK,GAA4BrO,KAAOoO,GAAkBpO,GAAyB,kBAAbA,EAAElB,OAAqB,CAAMuP,IAAIrO,EAAIqO,GAAI,IAAIrQ,EAAI,EAAG,OAAO,WAAc,OAAIA,GAAKgC,EAAElB,OAAe,CAAEgQ,MAAM,GAAe,CAAEA,MAAM,EAAOtU,MAAOwF,EAAEhC,OAAa,MAAM,IAAI+Q,UAAU,yIAEjd,SAAS,GAA4B/O,EAAGgP,GAAU,GAAKhP,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAO,GAAkBA,EAAGgP,GAAS,IAAI3O,EAAI2G,OAAOkI,UAAUzU,SAAS+T,KAAKxO,GAAGpF,MAAM,GAAI,GAAiE,MAAnD,WAANyF,GAAkBL,EAAEmP,cAAa9O,EAAIL,EAAEmP,YAAY1V,MAAgB,QAAN4G,GAAqB,QAANA,EAAoBsO,MAAMS,KAAKpP,GAAc,cAANK,GAAqB,2CAA2CgP,KAAKhP,GAAW,GAAkBL,EAAGgP,QAAzG,GAE7S,SAAS,GAAkBM,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIxQ,UAAQyQ,EAAMD,EAAIxQ,QAAQ,IAAK,IAAId,EAAI,EAAGwR,EAAO,IAAIb,MAAMY,GAAMvR,EAAIuR,EAAKvR,IAAOwR,EAAKxR,GAAKsR,EAAItR,GAAM,OAAOwR,EAEhL,SAAS,GAAQjE,EAAQC,GAAkB,IAAIvE,EAAOD,OAAOC,KAAKsE,GAAS,GAAIvE,OAAOyE,sBAAuB,CAAE,IAAIC,EAAU1E,OAAOyE,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ/F,QAAO,SAAUtC,GAAO,OAAO2D,OAAO2E,yBAAyBJ,EAAQlI,GAAKuI,eAAiB3E,EAAKU,KAAKnD,MAAMyC,EAAMyE,GAAY,OAAOzE,EAE9U,SAAS,GAAc6E,GAAU,IAAK,IAAI9N,EAAI,EAAGA,EAAI+N,UAAUjN,OAAQd,IAAK,CAAE,IAAIgO,EAAS,MAAQD,UAAU/N,GAAK+N,UAAU/N,GAAK,GAAIA,EAAI,EAAI,GAAQgJ,OAAOgF,IAAS,GAAIpE,SAAQ,SAAU5O,GAAO,GAAgB8S,EAAQ9S,EAAKgT,EAAOhT,OAAYgO,OAAOkF,0BAA4BlF,OAAOmF,iBAAiBL,EAAQ9E,OAAOkF,0BAA0BF,IAAW,GAAQhF,OAAOgF,IAASpE,SAAQ,SAAU5O,GAAOgO,OAAOoF,eAAeN,EAAQ9S,EAAKgO,OAAO2E,yBAAyBK,EAAQhT,OAAa,OAAO8S,EAEjf,SAAS,GAAgBO,EAAKrT,EAAKwB,GAAiK,OAApJxB,KAAOqT,EAAOrF,OAAOoF,eAAeC,EAAKrT,EAAK,CAAEwB,MAAOA,EAAOoR,YAAY,EAAMU,cAAc,EAAMC,UAAU,IAAkBF,EAAIrT,GAAOwB,EAAgB6R,EAM3M,IAAIsM,GAAkB,CACpBC,kBAAkB,GAWL,mBAEX9K,EADEA,EACQ,GAAc,GAAc,GAAI6K,IAAkB7K,GAElD6K,GAGZ,IAAIE,EAAW/K,EACX8K,EAAmBC,EAASD,iBAC5BtF,EAASuF,EAASvF,OAClBwF,EAAkBD,EAASC,gBAC/BC,GAAeC,GAEXJ,IACFxe,EAAO6e,GAAU7e,IAOnB,IAJA,IAAI8e,EAAU9e,EAAK,GACfsN,EAAU,GACVyR,EAAS,GAEJnb,EAAI,EAAGA,EAAI5D,EAAK0E,OAAQd,IAAK,CACpC,IAAImY,EAASiD,GAAKJ,EAAQ5e,EAAK4D,GAAIA,EAAGkb,EAASC,EAAQrL,GAExC,OAAXqI,IAAuC,IAApB2C,GACrBpR,EAAQC,KAAKwO,GAKjB,GAAI7C,EACF,IAAK,IAAyDlD,EAArDG,EAAY,GAAgC4I,KAAkB/I,EAAQG,KAAazB,MAAO,CACjG,IAAIuK,EAAQjJ,EAAM5V,MAKlB6e,EAAM1Q,IAAM2K,EAAO+F,EAAM1Q,IAAM,GAAK,EAIxC,MAAO,CACL2Q,KAAM5R,EACNyR,OAAQA,IAIZ,SAASC,GAAKJ,EAAQrQ,EAAKwL,EAAU+E,EAASC,EAAQrL,GAoFpD,IAnFA,IAAIvC,EAAS,GACTgO,GAAgB,EAEhBC,EAAQ,WACV,IAAIxgB,EAAM+N,EAAaD,GACnB2S,EAAcT,EAAOhgB,GACrB0gB,EAA+C,WAA9B,GAAQD,EAAYpX,QAAuBsM,MAAMC,QAAQ6K,EAAYpX,MACtFsX,EAAWhR,EAAIuQ,EAAQrJ,QAAQ7W,SAElB+R,IAAb4O,IACFA,EAAW,MAGb,IAAInf,OAAQ,EACR6e,OAAQ,EACRnB,OAAS,EAEb,GAAIwB,EACFlf,EAAQ4e,GAAKK,EAAYpX,KAAMsG,EAAKwL,EAAU+E,EAASC,EAAQrL,QAE/D,GAAiB,OAAb6L,EACFnf,EAAQ,UACH,GAAImU,MAAMC,QAAQ6K,EAAYpX,MAAO,CAC1C,IAAIuX,GAAW,EACXC,EAAQC,GAAWH,GAAUhN,KAAI,SAAUoN,GAC7C,IAAI5D,EAAS6D,GAAWD,EAAQN,EAAa3L,GAY7C,OAVIqI,EAAOkD,QACT7e,EAAQuf,EACRV,EAAQlD,EAAOkD,MACfnB,EAAS/B,EAAO+B,QAGG,OAAjB/B,EAAO3b,QACTof,GAAW,GAGNzD,EAAO3b,SAGX6e,IACH7e,EAAQof,EAAWC,EAAQ,UAExB,CACL,IAAI1D,EAAS6D,GAAWL,EAAUF,EAAa3L,GAC/CuL,EAAQlD,EAAOkD,MACfnB,EAAS/B,EAAO+B,OAChB1d,EAAQ6e,EAAQM,EAAWxD,EAAO3b,OAIjC6e,GAAmB,OAAV7e,GAAkBif,EAAYQ,WAC1CZ,EAAQ,YAGNA,GACFA,EAAQ,CACNA,MAAOA,EACP1Q,IAAKwL,EAAW,EAChBrC,OAAQ9Y,EACRwB,MAAOA,GAGL0d,IACFmB,EAAMnB,OAASA,GAGbuB,EAAYpX,OACdgX,EAAMhX,KAAOoX,EAAYpX,MAG3B8W,EAAOxR,KAAK0R,KAERE,GAA2B,OAAV/e,IACnB+e,GAAgB,IAGJ,OAAV/e,GAAkBsT,EAAQoM,qBAC5B3O,EAAOkO,EAAYU,MAAQ3f,KAKxBsM,EAAK,EAAGC,EAAeC,OAAOC,KAAK+R,GAASlS,EAAKC,EAAajI,OAAQgI,IAC7E0S,IAGF,OAAID,EACK,KAGFhO,EAUF,SAASyO,GAAWxf,EAAOif,EAAa3L,GAC7C,GAAc,OAAVtT,EACF,MAAO,CACLA,MAAO,MAIX,IAAI2b,EAkBJ,GAfEA,EADEsD,EAAYW,MACLC,GAAiB7f,EAAOif,EAAYW,OACpCX,EAAYpX,KACZiY,GAAiB9f,EAK1BmU,MAAMC,QAAQ6K,EAAYpX,MAAQoX,EAAYpX,KAAK,GAAKoX,EAAYpX,KAAMyL,GAEjE,CACPtT,MAAOA,GAKP2b,EAAOkD,MACT,OAAOlD,EAGT,GAAqB,OAAjBA,EAAO3b,MAAgB,CACzB,GAAIif,EAAYc,OAASd,EAAYc,MAAM1K,QAAQsG,EAAO3b,OAAS,EACjE,MAAO,CACL6e,MAAO,UACPnB,OAAQ,WAIZ,GAAIuB,EAAYe,SACd,IACEf,EAAYe,SAASrE,EAAO3b,OAC5B,MAAO6e,GACP,MAAO,CACLA,MAAOA,EAAMoB,UAMrB,OAAOtE,EAST,SAASkE,GAAiB7f,EAAO4f,GAC/B,IAGE,OAFA5f,EAAQ4f,EAAM5f,QAEAuQ,IAAVvQ,EACK,CACLA,MAAO,MAIJ,CACLA,MAAOA,GAET,MAAO6e,GACP,IAAIlD,EAAS,CACXkD,MAAOA,EAAMoB,SAOf,OAJIpB,EAAMnB,SACR/B,EAAO+B,OAASmB,EAAMnB,QAGjB/B,GAWX,SAASmE,GAAiB9f,EAAO6H,EAAMyL,GACrC,OAAQzL,GACN,KAAK+B,OACH,OAAOiW,GAAiB7f,EAAO+d,IAEjC,KAAKzI,OACH,OAAOuK,GAAiB7f,EAAO4d,IAEjC,KAAKnK,KACH,OAAOoM,GAAiB7f,GAAO,SAAUA,GACvC,OAAOie,GAASje,EAAO,CACrB6P,WAAYyD,EAAQzD,gBAI1B,KAAKsN,QACH,OAAO0C,GAAiB7f,EAAOge,IAEjC,QACE,GAAoB,oBAATnW,EACT,OAAOgY,GAAiB7f,EAAO6H,GAGjC,MAAM,IAAIvB,MAAM,4BAA4B6O,OAAOtN,GAAQA,EAAK5I,MAAQ4I,KAIvE,SAASqY,GAAS9Q,EAAQ+Q,EAAcC,GAC7C,IAAI5c,EAAI,EACJ6c,EAAY,GAGhB,MAAOD,EAAa5c,EAAI4L,EAAO9K,OAAQ,CACrC,IAAIgc,EAAalR,EAAOgR,EAAa5c,GAErC,GAAI8c,IAAeH,EACjB,MAAO,CAACE,EAAW7c,GACd,GAAmB,MAAf8c,EAAoB,CAC7B,IAAIC,EAAQL,GAAS9Q,EAAQ,IAAKgR,EAAa5c,EAAI,GACnD6c,GAAaE,EAAM,GACnB/c,GAAK,IAAIc,OAASic,EAAM,GAAK,IAAIjc,YAEjC+b,GAAaC,EACb9c,IAIJ,MAAO,CAAC6c,EAAW7c,GASd,SAAS8b,GAAWlQ,GACzB,IAAIoR,EAAS,GACTte,EAAQ,EAEZ,MAAOA,EAAQkN,EAAO9K,OAAQ,CAC5B,IAAImc,EAAYP,GAAS9Q,EAAQ,IAAKlN,GAClCwe,EAAa,GAAeD,EAAW,GACvCJ,EAAYK,EAAW,GACvBpc,EAASoc,EAAW,GAExBxe,GAASoC,EAAS,IAAIA,OACtBkc,EAAOrT,KAAKkT,EAAU3d,QAGxB,OAAO8d,EAIT,IAAI/B,GAAY,SAAmBY,GACjC,OAAOA,EAAM,GAAGlN,KAAI,SAAU8G,EAAGzV,GAC/B,OAAO6b,EAAMlN,KAAI,SAAUhE,GACzB,OAAOA,EAAI3K,UAKjB,SAAS+a,GAAeC,GACtB,IAAK,IAAI3E,EAAM,EAAG8G,EAAgBnU,OAAOC,KAAK+R,GAAS3E,EAAM8G,EAAcrc,OAAQuV,IAAO,CACxF,IAAIrb,EAAMmiB,EAAc9G,GACpB+G,EAAQpC,EAAOhgB,GAEnB,IAAKoiB,EAAMjB,KACT,MAAM,IAAIrZ,MAAM,wCAA2C6O,OAAO3W,EAAK,QC7W7E,SAAS,GAAQqT,GAAkC,OAAO,GAAU,mBAAqBiC,QAAU,iBAAmBA,OAAOC,SAAW,SAAUlC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAO,mBAAqBiC,QAAUjC,EAAI8C,cAAgBb,QAAUjC,IAAQiC,OAAOY,UAAY,gBAAkB7C,GAAQ,GAAQA,GAE1T,SAASgP,GAAmB1O,GAGzC,IAFA,IAAIqM,EAAS,GAEJlS,EAAK,EAAGC,EAAeC,OAAOC,KAAK0F,GAAM7F,EAAKC,EAAajI,OAAQgI,IAAM,CAChF,IAAI9N,EAAM+N,EAAaD,GACnBqT,EAAOxN,EAAI3T,GACXqJ,OAAO,EAEW,WAAlB,GAAQ8X,KACVA,EAAOnT,OAAOC,KAAK0F,EAAI3T,IAAM,GAC7BqJ,EAAOgZ,GAAmB1O,EAAI3T,GAAKmhB,KAGrCnB,EAAOhgB,GAAO,CACZmhB,KAAMA,GAGJ9X,IACF2W,EAAOhgB,GAAKqJ,KAAOA,GAIvB,OAAO2W,ECxBT,IAAIsC,GAAY,CAAC,SAAU,OAE3B,SAAS,GAAQ/P,EAAQC,GAAkB,IAAIvE,EAAOD,OAAOC,KAAKsE,GAAS,GAAIvE,OAAOyE,sBAAuB,CAAE,IAAIC,EAAU1E,OAAOyE,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ/F,QAAO,SAAUtC,GAAO,OAAO2D,OAAO2E,yBAAyBJ,EAAQlI,GAAKuI,eAAiB3E,EAAKU,KAAKnD,MAAMyC,EAAMyE,GAAY,OAAOzE,EAE9U,SAAS,GAAc6E,GAAU,IAAK,IAAI9N,EAAI,EAAGA,EAAI+N,UAAUjN,OAAQd,IAAK,CAAE,IAAIgO,EAAS,MAAQD,UAAU/N,GAAK+N,UAAU/N,GAAK,GAAIA,EAAI,EAAI,GAAQgJ,OAAOgF,IAAS,GAAIpE,SAAQ,SAAU5O,GAAO,GAAgB8S,EAAQ9S,EAAKgT,EAAOhT,OAAYgO,OAAOkF,0BAA4BlF,OAAOmF,iBAAiBL,EAAQ9E,OAAOkF,0BAA0BF,IAAW,GAAQhF,OAAOgF,IAASpE,SAAQ,SAAU5O,GAAOgO,OAAOoF,eAAeN,EAAQ9S,EAAKgO,OAAO2E,yBAAyBK,EAAQhT,OAAa,OAAO8S,EAEjf,SAAS,GAAgBO,EAAKrT,EAAKwB,GAAiK,OAApJxB,KAAOqT,EAAOrF,OAAOoF,eAAeC,EAAKrT,EAAK,CAAEwB,MAAOA,EAAOoR,YAAY,EAAMU,cAAc,EAAMC,UAAU,IAAkBF,EAAIrT,GAAOwB,EAAgB6R,EAE3M,SAASkP,GAAyBvP,EAAQwP,GAAY,GAAc,MAAVxP,EAAgB,MAAO,GAAI,IAAkEhT,EAAKgF,EAAnE8N,EAAS2P,GAA8BzP,EAAQwP,GAAuB,GAAIxU,OAAOyE,sBAAuB,CAAE,IAAIiQ,EAAmB1U,OAAOyE,sBAAsBO,GAAS,IAAKhO,EAAI,EAAGA,EAAI0d,EAAiB5c,OAAQd,IAAOhF,EAAM0iB,EAAiB1d,GAAQwd,EAAS3L,QAAQ7W,IAAQ,GAAkBgO,OAAOkI,UAAUyM,qBAAqBnN,KAAKxC,EAAQhT,KAAgB8S,EAAO9S,GAAOgT,EAAOhT,IAAU,OAAO8S,EAEne,SAAS2P,GAA8BzP,EAAQwP,GAAY,GAAc,MAAVxP,EAAgB,MAAO,GAAI,IAA2DhT,EAAKgF,EAA5D8N,EAAS,GAAQ8P,EAAa5U,OAAOC,KAAK+E,GAAqB,IAAKhO,EAAI,EAAGA,EAAI4d,EAAW9c,OAAQd,IAAOhF,EAAM4iB,EAAW5d,GAAQwd,EAAS3L,QAAQ7W,IAAQ,IAAa8S,EAAO9S,GAAOgT,EAAOhT,IAAQ,OAAO8S,EAK3R,SAAS+P,GAAqBC,EAAS3T,EAAKwI,GACzD,IAAIqI,EAASrI,EAAKqI,OACdrM,EAAMgE,EAAKhE,IACXmB,EAAUyN,GAAyB5K,EAAM2K,KAExCtC,GAAUrM,IACbqM,EAASqC,GAAmB1O,IAG9B,IAAIwJ,EAAS5B,GAASuH,EAAS3T,EAAK,GAAc,GAAc,GAAI2F,GAAU,GAAI,CAChFzD,WAAY2O,GAAUlL,EAAQzD,cAGhC,OAAI2O,EACK+C,GAAc5F,EAAO/b,KAAM4e,EAAQ,GAAc,GAAc,GAAIlL,GAAU,GAAI,CACtFzD,WAAY8L,EAAO9L,cAIhB8L,ECvBM,SAAS6F,GAAaC,GACnC,IAAInO,EAAU/B,UAAUjN,OAAS,QAAsBiM,IAAjBgB,UAAU,GAAmBA,UAAU,GAAK,GAClF,OAAO9F,EAAegW,GAAM3V,MAAK,SAAUwV,GACzC,OAAOD,GAAqBC,EAAS,EAAKhO,M,2WCwJ9C,QACA5T,WAAA,mDACE,KAFF,WAGI,MAAJ,CACM,WAAN,GACM,aAAN,GACM,WAAN,GACM,WAAN,GACM,kBAAN,GACM,gBAAN,GACM,iBAAN,GACM,eAAN,GACM,cAAN,GACM,IAAN,GACM,UAAN,GACM,QAAN,GACM,KAAN,GACM,UAAN,GACM,eAAN,GACM,mBAAN,GACM,yBAAN,GACM,eAAN,GACM,SAAN,GACM,OAAN,GACM,iBAAN,GACM,eAAN,GACM,IAAN,GACM,KAAN,GACM,SAAN,GACM,UAAN,GACM,MAAN,GACM,SAAN,GACM,UAAN,GACM,cAAN,GACM,eAAN,GACM,gBAAN,GACM,aAAN,GACM,QAAN,CACQ,SAAR,EACQ,SAAR,EACQ,SAAR,GAEM,OAAN,CACQ,MAAR,EACQ,KAAR,GAEM,UAAN,EACM,iBAAN,EACM,UAAN,oCAGE,QAAF,CACI,aADJ,WACM,IAAN,OAAM,OAAN,yCAAQ,IAAR,EAAQ,OAAR,iFACA,WADA,SAEA,gCAFA,OAEA,EAFA,OAGA,+BACgB,EAAhB,oCAEA,0FACgB,EAAhB,8FAPA,8CAWI,WAZJ,WAYM,IAAN,OAAM,OAAN,yCAAQ,IAAR,EAAQ,OAAR,iFACA,WADA,SAEA,8BAFA,OAEA,EAFA,OAGA,gBACA,6CAJA,8CAOI,WAnBJ,WAmBM,IAAN,OAAM,OAAN,yCAAQ,IAAR,EAAQ,OAAR,iFACA,WADA,SAEA,8BAFA,OAEA,EAFA,OAGA,gBACA,wCAJA,8CAMI,OAzBJ,WA0BM,OAAN,mBAEI,kBA5BJ,SA4BA,GACM,KAAN,+BACM,KAAN,yCACM,KAAN,wCACM,KAAN,oBAEI,gBAlCJ,SAkCA,GACM,KAAN,6BACM,KAAN,uCACM,KAAN,sCACM,KAAN,oBAEI,gBAxCJ,SAwCA,GACM,KAAN,6BACM,KAAN,oBAEI,cA5CJ,SA4CA,GACM,OAAN,2BACQ,IAAR,iBACQ,EAAR,iBACQ,EAAR,qBACU,EAAV,6BAII,gBArDJ,WAqDM,IAAN,OAAM,OAAN,yCAAQ,IAAR,QAAQ,OAAR,iFACA,GACA,iBACA,MACA,8BACA,oBACA,kBANA,kBAUA,kCAVA,OAUA,EAVA,OAWA,IACgB,EAAhB,kCACgB,EAAhB,uCACgB,EAAhB,4BACgB,EAAhB,oBACgB,EAAhB,gBACgB,EAAhB,kBACgB,SAAhB,oBACgB,EAAhB,QACgB,SAAhB,qBApBA,mDAwBc,QAAd,UAxBA,4DA4BI,iBAjFJ,WAiFM,IAAN,OAAM,OAAN,yCAAQ,IAAR,UAAQ,OAAR,6EACA,8BADA,iCAEA,8BAFA,cAEc,EAAd,cAFA,OAGc,EAAd,CACgBgiB,OAAQ,uBACR9hB,KAAM,CACJ,kBAAlB,kBANA,kBAUA,kCAVA,OAWc,GADA,EAVd,OAWA,GAwBgB,IAvBA,EAAhB,kCACA,mCAEkB,EAAlB,OACoB,KAApB,QACoB,MAApB,yBACoB,mBAApB,EACoB,WAApB,OACoB,SAApB,4FAGoB,YAApB,CACsB,MAAtB,uBAEA,kBACA,eACsB,OAAtB,qBAIgB,EAAhB,kCACgB,EAAhB,iCACgB,EAAhB,gDACA,yCACA,kDACA,yDAGgB,EAAhB,2BACkB,EAAlB,wBAEgB,EAAhB,gBAAkB,IAAlB,4CAAoB,IAApB,gBAAoB,OAApB,qCAAsB,MAAtB,wBAAwB,KAAxB,EAA0B,KAC1B,sBADA,CAA4B,EAA5B,OAA4B,MAAF,OAEA,EAA1B,OAC4B,KAA5B,QAC4B,MAA5B,QAC4B,KAA5B,qDAC4B,mBAA5B,EAC4B,WAA5B,OAC4B,MAA5B,QAC4B,SAA5B,wGAG4B,YAA5B,CAC8B,MAA9B,uBAEA,sBAfA,mBAAwB,KAAxB,EAA0B,GAsB1B,yFAtBA,CAA4B,EAA5B,QAA4B,MAAF,KAuB1B,kCAvBA,CAA4B,EAA5B,QAA4B,MAAF,SAA1B,OA2BA,gBA3BwB,KAAxB,EAkC0B,IAlCA,EAA1B,UAA0B,EAA1B,IA2B4B,qBA3B5B,MAwB0B,EAxB1B,CAyB4B,OAA5B,6BAC4B,KA1B5B,MA+B0B,EAA1B,EAC0B,EAA1B,EAEA,6BAC4B,GAA5B,qBAnC0B,GAqCA,EAA1B,aAC0B,EAA1B,gBACA,UAC4B,EAA5B,iBAEA,wCAC4B,EAA5B,iDAEA,qBA7CA,CAA4B,EAA5B,QAA4B,MA8CF,EAA1B,OAC4B,KAA5B,QAC4B,MAA5B,QAC4B,KAA5B,mGAC4B,mBAA5B,EAC4B,WAA5B,OAC4B,MAA5B,QAC4B,SAA5B,wHAG4B,YAA5B,CAC8B,MAA9B,uBAEA,kBACA,eAC8B,OAA9B,qBA7D0B,EAA1B,QAA0B,MAAF,KAAxB,GAA0B,SAA1B,QAA0B,EAA1B,QAoEA,kCApEwB,KAAxB,GAqE0B,GADA,EApE1B,OAqEA,GAuB4B,IAtBA,EAA5B,kCACA,aAC8B,EAA9B,OACgC,KAAhC,QACgC,MAAhC,uBACgC,KAChC,iDACgC,mBAAhC,EACgC,WAAhC,OACgC,SAAhC,kJAGgC,YAAhC,CACkC,MAAlC,uBAEA,kBACA,eACkC,OAAlC,qBAI4B,EAA5B,wEACA,iCACA,mCACgC,EAAhC,kDAEA,mCAEgC,EAAhC,0CAGA,0DAC8B,EAA9B,uBAE8B,EAA9B,OACgC,KAAhC,QACgC,MAAhC,QACgC,KAChC,uBACgC,mBAAhC,EACgC,WAAhC,OACgC,SAAhC,kJAGgC,YAAhC,CACkC,MAAlC,uBAEA,kBACA,gBACkC,EAAlC,YACkC,EAAlC,uBAxH0B,EAA1B,QAA0B,MAAF,KAAxB,GAA0B,EAA1B,QAA0B,EAA1B,kBAgI0B,EAA1B,OAC4B,KAA5B,QAC4B,MAA5B,QAC4B,KAC5B,uBAC4B,mBAA5B,EAC4B,WAA5B,OAC4B,SAA5B,kIAG4B,YAA5B,CAC8B,MAA9B,uBA3IwB,KAAxB,GAA0B,EAA1B,QAA0B,MAAF,KAAxB,GAoJ0B,EAA1B,OAC4B,KAA5B,QAC4B,MAA5B,QAC4B,KAC5B,2DAC4B,mBAA5B,EAC4B,WAA5B,OAC4B,SAA5B,4GAG4B,YAA5B,CAC8B,MAA9B,uBA/JwB,KAAxB,GAAwB,IAAxB,MAA0B,OAA1B,kCAAkB,OAAlB,YAAoB,OAApB,6BA3CA,qDAoNc,QAAd,UApNA,gCAwNc,EAAd,OACgB+hB,KAAM,QACNC,MAAO,QACPC,KAChB,uBACgBC,mBAAmB,EACnBC,SAAU,oDAGVC,YAAa,CACX,MAAlB,uBAlOA,6DAyOI,qBA1TJ,WA0TM,IAAN,OAAM,OAAN,yCAAQ,IAAR,MAAQ,OAAR,0EACA,KACA,IACA,4JACA,cACA,mBAFA,oGAKA,uKAEA,gDACA,oEACA,wBAEA,6CACA,yCACA,0CACA,4CACA,0CAEA,GACA,YACA,QACA,YACA,WACA,cACA,gBAEA,yBAIA,IADA,IACA,6BACA,wBAGA,wJACA,KACA,mBACA,uBACA,sBACA,mBAGA,GACA,oBACA,MACA,gBACA,YACA,8BACA,gBACA,yBACA,eACA,0BACA,mBACA,4BACA,QACA,UACA,CACA,kBACA,iBAMA,eA9BA,kBAgCA,kCAhCA,OAgCA,EAhCA,OAiCA,IACA,uCACA,kCACA,uBACA,kBAEA,sCACA,oCACA,oCACA,sBA1CA,qDA8CA,kBA9CA,0DAgDA,MA5EA,kGARA,8CAyFI,YAnZJ,WAmZM,IAAN,OAAM,OAAN,yCAAQ,IAAR,QAAQ,OAAR,gFACA,GADA,SAiDA,mBAjDA,OAoDA,IAHA,EAjDA,OAkDA,sBAEA,mBACgB,EAAhB,SACgB,EAAhB,CACkB,UAAlB,SACkB,MAAlB,UAEgB,EAAhB,gBA1DA,OA4DA,sBA5DA,kBA6DA,aA7DA,8CA+DI,gBAldJ,WAkdM,IAAN,OAAM,OAAN,yCAAQ,IAAR,MAAQ,OAAR,iFACA,GACA,6BACA,MAEA,qBALA,kBASA,kCATA,OASA,EATA,OAUA,IACgB,EAAhB,qCACA,0BACkB,EAAlB,yCAbA,mDAmBA,kBAnBA,4DAsBI,iBAxeJ,WAweM,IAAN,OAAM,OAAN,yCAAQ,IAAR,UAAQ,OAAR,0EACA,IADA,YACA,2BADA,wBAGc,EAAd,oCAHA,SAKA,qCALA,cAKc,EALd,OAMc,EAAd,CACgBN,OAAQ,aACR9hB,KAAM,CACJ,SAAlB,EACkB,gBAAlB,0BACkB,YAAlB,8CACkB,cAAlB,yBACkB,cAAlB,IAbA,mBAiBA,kCAjBA,QAiBc,EAjBd,OAkBA,GACA,kCAnBA,qDAuBc,QAAd,UAvBA,QACA,IADA,4EA2BI,OAngBJ,WAmgBM,IAAN,OAAM,OAAN,yCAAQ,IAAR,IAAQ,OAAR,0EACA,KACA,wKACA,EADA,SAEA,8BAFA,YAEA,EAFA,0HAKA,oKACA,GACA,8BACA,MACA,sBAJA,kBAQA,kCARA,OAQA,EARA,OAS4BqiB,IACF,EAA1B,kCAC0B,EAA1B,4BAC0B,QAA1B,YAZA,mDAewBC,QAAQC,IAAI,EAApC,IAfA,gHAPA,gDC5tB+V,M,yBCQ3V1iB,GAAY,gBACd,GACA3B,EACAuB,GACA,EACA,KACA,WACA,MAIa,aAAAI,G","file":"js/chunk-7834c407.dd25151c.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/pdf.c3d800c8.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('nav',{staticClass:\"navbar\"},[_c('div',{staticClass:\"container\"},_vm._l((_vm.navigation),function(item){return _c('div',{key:item.to},[_c('router-link',{staticClass:\"nav-link\",class:{ active: _vm.activeLink === item.to },attrs:{\"to\":item.to}},[_vm._v(_vm._s(_vm._f(\"capitalizeFirst\")(item.name)))])],1)}),0),_c('div',{staticClass:\"float-right\"},[_c('button',{staticClass:\"logout-button\",on:{\"click\":function($event){return _vm.logOut('¿Desea cerrar la sesión?', false)}}},[_vm._v(\"Cerrar Sesión\")])])]),_c('logout-modal')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('modal',{attrs:{\"name\":\"error-modal\",\"width\":400,\"height\":'auto',\"clickToClose\":false}},[_c('div',{staticClass:\"modal-content\"},[_c('span',{staticClass:\"closebtn\",on:{\"click\":_vm.closeError}},[_vm._v(\"×\")]),_c('i',{staticClass:\"fas fa-exclamation-circle fa-5x\",staticStyle:{\"color\":\"#ffffff\",\"size\":\"5rem\"}})]),_c('div',{staticClass:\"text-center p-3 mb-3\"},[_c('strong',{staticStyle:{\"font-size\":\"30px\",\"color\":\"#f44336ea\"}},[_vm._v(\"Error!\")]),_c('h6',{staticClass:\"mt-2\"},[_vm._v(_vm._s(_vm.errorMessage))])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n ","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./logoutModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./logoutModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./logoutModal.vue?vue&type=template&id=67539fd6&scoped=true&\"\nimport script from \"./logoutModal.vue?vue&type=script&lang=js&\"\nexport * from \"./logoutModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./logoutModal.vue?vue&type=style&index=0&id=67539fd6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"67539fd6\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navbarSas.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navbarSas.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./navbarSas.vue?vue&type=template&id=0788b890&scoped=true&\"\nimport script from \"./navbarSas.vue?vue&type=script&lang=js&\"\nexport * from \"./navbarSas.vue?vue&type=script&lang=js&\"\nimport style0 from \"./navbarSas.vue?vue&type=style&index=0&id=0788b890&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0788b890\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/xml.9d918dfe.png\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navbarSas.vue?vue&type=style&index=0&id=0788b890&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./navbarSas.vue?vue&type=style&index=0&id=0788b890&scoped=true&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./logoutModal.vue?vue&type=style&index=0&id=67539fd6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./logoutModal.vue?vue&type=style&index=0&id=67539fd6&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/xlsx.3d85067c.png\";","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=style&index=0&id=e3dd3336&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=style&index=0&id=e3dd3336&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"footer\"},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"footer-content\"},[_c('p',[_vm._v(\"© 2024 Latino Seguros. Todos los derechos reservados.\")]),_c('nav',[_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"/about\"}},[_vm._v(\"Sobre Nosotros\")])]),_c('li',[_c('a',{attrs:{\"href\":\"/contact\"}},[_vm._v(\"Contacto\")])]),_c('li',[_c('a',{attrs:{\"href\":\"/privacy\"}},[_vm._v(\"Política de Privacidad\")])])])])])])])}]\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n ","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./footer.vue?vue&type=template&id=e3dd3336&scoped=true&\"\nimport script from \"./footer.vue?vue&type=script&lang=js&\"\nexport * from \"./footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./footer.vue?vue&type=style&index=0&id=e3dd3336&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e3dd3336\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./masiva.vue?vue&type=style&index=0&id=64233106&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./masiva.vue?vue&type=style&index=0&id=64233106&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"row mr-2\"},[_c('div',{staticClass:\"col-12 pt-3\"},[_c('button',{staticClass:\"btn btn-light mt-2 float-right\",staticStyle:{\"border-radius\":\"10px\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.descargarLayout}},[_c('i',{staticClass:\"fas fa-arrow-circle-down fa-lg mr-2\"}),_vm._v(\" Descargar layout \")])])]),(_vm.divCarga)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"card target mt-4 container col-4\"},[_c('div',{staticClass:\"card-body\"},[_vm._m(0),_c('div',{staticClass:\"card mt-3\",staticStyle:{\"border-radius\":\"17px\"}},[_c('div',{staticClass:\"row fila\"},[_vm._m(1),_c('div',{staticClass:\"col \"},[_c('h4',{staticClass:\"titulo ml-2 pt-2\"},[_vm._v(\"Excel\")]),_c('div',{staticClass:\"file-select\",attrs:{\"id\":\"src-file1\"}},[_c('input',{attrs:{\"type\":\"file\",\"name\":\"src-file1\",\"aria-label\":\"Archivo\",\"accept\":\".csv\"},on:{\"change\":function($event){return _vm.onChangeFileExcel($event)}}})])]),(_vm.popover.ppvrCSV)?_c('div',{staticClass:\"col-3 mt-3\"},[_c('CButton',{staticClass:\"btn-see\",attrs:{\"color\":\"info\"},on:{\"click\":_vm.mostrarExcel}},[_c('i',{staticClass:\"fas fa-arrow-to-bottom\"})])],1):_vm._e()])]),_c('div',{staticClass:\"card mt-2\",staticStyle:{\"border-radius\":\"17px\"}},[_c('div',{staticClass:\"row fila\"},[_vm._m(2),_c('div',{staticClass:\"col\"},[_c('h4',{staticClass:\"titulo ml-2 pt-2\"},[_vm._v(\"XML\")]),_c('div',{staticClass:\"file-select\",attrs:{\"id\":\"src-file1\"}},[_c('input',{attrs:{\"type\":\"file\",\"name\":\"src-file1\",\"aria-label\":\"Archivo\",\"accept\":\".xml\"},on:{\"change\":function($event){return _vm.onChangeFileXML($event)}}})])]),(_vm.popover.ppvrXML)?_c('div',{staticClass:\"col-3 mt-3\"},[_c('CButton',{staticClass:\"btn-see\",attrs:{\"color\":\"info\"},on:{\"click\":_vm.mostrarXML}},[_c('i',{staticClass:\"fas fa-eye\"})])],1):_vm._e()])]),_c('div',{staticClass:\"card mt-2\",staticStyle:{\"border-radius\":\"15px\"}},[_c('div',{staticClass:\"row fila\"},[_vm._m(3),_c('div',{staticClass:\"col\"},[_c('h4',{staticClass:\"titulo ml-2 pt-2\"},[_vm._v(\"PDF\")]),_c('div',{staticClass:\"file-select\",attrs:{\"id\":\"src-file1\"}},[_c('input',{attrs:{\"type\":\"file\",\"name\":\"src-file1\",\"aria-label\":\"Archivo\",\"accept\":\".pdf\"},on:{\"change\":function($event){return _vm.onChangeFilePDF($event)}}})])]),(_vm.popover.ppvrPDF)?_c('div',{staticClass:\"col-3 mt-3\"},[_c('CButton',{staticClass:\"btn-see\",attrs:{\"color\":\"info\"},on:{\"click\":_vm.mostrarPDF}},[_c('i',{staticClass:\"fas fa-eye\"})])],1):_vm._e()])]),_c('button',{staticClass:\"col-12 btn-sm btn btn-see p-2\",staticStyle:{\"color\":\"white\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.enviarDocumentos}},[_c('i',{staticClass:\"fas fa-paper-plane mr-1\"}),_vm._v(\" Enviar y validar \")])])])]):_vm._e()]),_vm._m(4),_c('div',[_c('CModal',{ref:\"my-modal\",attrs:{\"show\":_vm.modals.info,\"close-on-backdrop\":false},on:{\"update:show\":function($event){return _vm.$set(_vm.modals, \"info\", $event)}},scopedSlots:_vm._u([{key:\"header-wrapper\",fn:function(){return [_c('div',{staticClass:\"card-header text-center\"},[_c('h5',{staticStyle:{\"color\":\"white\"}},[_vm._v(\"Generación de operación de pago\")])])]},proxy:true},{key:\"footer-wrapper\",fn:function(){return [_c('span')]},proxy:true}])},[_c('div',{staticClass:\"card-body text-center\"},[_c('h5',{staticClass:\"text-center\"},[_vm._v(\"Se genero tu número de proceso de Importacion:\")]),_c('h5',{staticStyle:{\"color\":\"green\"}},[_vm._v(_vm._s(_vm.NumImportacion))]),_c('h6',[_vm._v(\"Te notificaremos en cuanto se realice el pago.\")]),_c('h6',[_vm._v(\"¡Gracias!\")])]),_c('CCardFooter',{staticClass:\"pt-3 pl-0 pr-0 pb-0\",attrs:{\"align\":\"right\"}},[_c('CButton',{staticClass:\"mr-2\",attrs:{\"color\":\"secondary\"},on:{\"click\":function($event){_vm.modals.info = false}}},[_vm._v(\" Ok \")])],1)],1)],1),(_vm.divNoExistentes)?_c('div',{staticClass:\"container mt-2 mb-5\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"}),_c('div',{staticClass:\"col-6 mt-4\"},[_c('button',{staticClass:\"btn btn-secondary mb-2 btn-sm\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.reload}},[_c('i',{staticClass:\"fad fa-step-backward mr-1\"}),_vm._v(\"Volver\")]),_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body text-center\"},[_c('h5',{},[_vm._v(\"Siniestros no existentes:\")]),_vm._l((_vm.listNoExistentes),function(item,index){return _c('ul',{key:index,staticClass:\"list-group\"},[_c('li',{staticClass:\"list-group-item\"},[_vm._v(_vm._s(item.Siniestro))])])})],2)])]),_c('div',{staticClass:\"col-3\"})])]):_vm._e(),_c('div',[_c('CModal',{ref:\"my-modal\",attrs:{\"size\":\"lg\",\"show\":_vm.modals.ver,\"close-on-backdrop\":false},on:{\"update:show\":function($event){return _vm.$set(_vm.modals, \"ver\", $event)}},scopedSlots:_vm._u([{key:\"footer-wrapper\",fn:function(){return [_c('span')]},proxy:true}])},[_c('div',{staticClass:\"card-body p-0\"},[_c('iframe',{staticClass:\"container iframePdf\",attrs:{\"src\":_vm.documento,\"frameborder\":\"0\"}})]),_c('CCardFooter',{staticClass:\"pt-3 pl-0 pr-0 pb-0\",attrs:{\"align\":\"right\"}},[_c('CButton',{staticClass:\"mr-2\",attrs:{\"color\":\"secondary\"},on:{\"click\":function($event){_vm.modals.ver = false}}},[_vm._v(\" Cerrar \")])],1)],1)],1),_c('loading')],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('h5',{staticClass:\"text-center\"},[_vm._v(\"Carga los siguientes archivos:\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-2 p-2 ml-4\"},[_c('img',{attrs:{\"src\":require(\"./Tools/img/xlsx.png\"),\"alt\":\"\",\"height\":\"60px\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-2 p-2 ml-4\"},[_c('img',{attrs:{\"src\":require(\"./Tools/img/xml.png\"),\"alt\":\"\",\"height\":\"60px\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-2 p-2 ml-4\"},[_c('img',{attrs:{\"src\":require(\"./Tools/img/pdf.png\"),\"alt\":\"\",\"height\":\"60px\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"foot\"},[_c('p',[_vm._v(\"© 2024 Latino Seguros.\")])])}]\n\nexport { render, staticRenderFns }","export default {\n createDocument: function createDocument(content) {\n // if (!content) {\n // \tthrow new Error('No *.xml content')\n // }\n // A weird bug: it won't parse XML unless it's trimmed.\n // https://github.com/catamphetamine/read-excel-file/issues/21\n return new DOMParser().parseFromString(content.trim(), 'text/xml');\n }\n};\n//# sourceMappingURL=xmlBrowser.js.map","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Some of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([\n c + ';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'\n ], { type: 'text/javascript' }))));\n w.onmessage = function (e) {\n var d = e.data, ed = d.$e$;\n if (ed) {\n var err = new Error(ed[0]);\n err['code'] = ed[1];\n err.stack = ed[2];\n cb(err, null);\n }\n else\n cb(null, d);\n };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, u32 = Uint32Array;\n// fixed length extra bits\nvar fleb = new u8([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, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\n// see fleb note\nvar fdeb = new u8([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, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new u32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return [b, r];\n};\nvar _a = freb(fleb, 2), fl = _a[0], revfl = _a[1];\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b[0], revfd = _b[1];\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >>> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >>> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >>> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >>> 8) | ((x & 0x00FF) << 8)) >>> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i) {\n if (cd[i])\n ++l[cd[i] - 1];\n }\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 0; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >>> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i) {\n if (cd[i]) {\n co[i] = rev[le[cd[i] - 1]++] >>> (15 - cd[i]);\n }\n }\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p + 7) / 8) | 0; };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n var n = new (v.BYTES_PER_ELEMENT == 2 ? u16 : v.BYTES_PER_ELEMENT == 4 ? u32 : u8)(e - s);\n n.set(v.subarray(s, e));\n return n;\n};\n/**\n * Codes for errors generated within this library\n */\nexport var FlateErrorCode = {\n UnexpectedEOF: 0,\n InvalidBlockType: 1,\n InvalidLengthLiteral: 2,\n InvalidDistance: 3,\n StreamFinished: 4,\n NoStreamHandler: 5,\n InvalidHeader: 6,\n NoCallback: 7,\n InvalidUTF8: 8,\n ExtraFieldTooLong: 9,\n InvalidDate: 10,\n FilenameTooLong: 11,\n StreamFinishing: 12,\n InvalidZipData: 13,\n UnknownCompressionMethod: 14\n};\n// error codes\nvar ec = [\n 'unexpected EOF',\n 'invalid block type',\n 'invalid length/literal',\n 'invalid distance',\n 'stream finished',\n 'no stream handler',\n ,\n 'no callback',\n 'invalid UTF-8 data',\n 'extra field too long',\n 'date not in range 1980-2099',\n 'filename too long',\n 'stream finishing',\n 'invalid zip data'\n // determined by unknown compression method\n];\n;\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, buf, st) {\n // source length\n var sl = dat.length;\n if (!sl || (st && st.f && !st.l))\n return buf || new u8(0);\n // have to estimate size\n var noBuf = !buf || st;\n // no state\n var noSt = !st || st.i;\n if (!st)\n st = {};\n // Assumes roughly 33% compression ratio average\n if (!buf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n err(0);\n break;\n }\n // ensure size\n if (noBuf)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8, st.f = final;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >>> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n err(1);\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17;\n if (noBuf)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var lpos = pos;\n for (;; lpos = pos) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >>> 4;\n pos += c & 15;\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (!c)\n err(2);\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lpos = pos, lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;\n if (!d)\n err(3);\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & ((1 << b) - 1), pos += b;\n }\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (noBuf)\n cbuf(bt + 131072);\n var end = bt + add;\n for (; bt < end; bt += 4) {\n buf[bt] = buf[bt - dt];\n buf[bt + 1] = buf[bt + 1 - dt];\n buf[bt + 2] = buf[bt + 2 - dt];\n buf[bt + 3] = buf[bt + 3 - dt];\n }\n bt = end;\n }\n }\n st.l = lm, st.p = lpos, st.b = bt, st.f = final;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n return bt == buf.length ? buf : slc(buf, 0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n d[o + 2] |= v >>> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return [et, 0];\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return [v, 1];\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return [new u8(tr), mbt];\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return [cl.subarray(0, cli), s];\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >>> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a[0], mlb = _a[1];\n var _b = hTree(df, 15), ddt = _b[0], mdb = _b[1];\n var _c = lc(dlt), lclt = _c[0], nlc = _c[1];\n var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n lcfreq[lclt[i] & 31]++;\n for (var i = 0; i < lcdt.length; ++i)\n lcfreq[lcdt[i] & 31]++;\n var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);\n if (flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >>> 5) & 127), p += clct[i] >>> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n if (syms[i] > 255) {\n var len = (syms[i] >>> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (syms[i] >>> 23) & 31), p += fleb[len];\n var dst = syms[i] & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (syms[i] >>> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new u32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, lst) {\n var s = dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var pos = 0;\n if (!lvl || s < 8) {\n for (var i = 0; i <= s; i += 65535) {\n // end\n var e = i + 65535;\n if (e >= s) {\n // write final block\n w[pos >> 3] = lst;\n }\n pos = wfblk(w, pos + 1, dat.subarray(i, e));\n }\n }\n else {\n var opt = deo[lvl - 1];\n var n = opt >>> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = new u16(32768), head = new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new u32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx bitpos\n var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;\n for (; i < s; ++i) {\n // hash value\n // deopt when i > s - 3 - at end, deopt acceptable\n var hv = hsh(i);\n // index mod 32768 previous index mod\n var imod = i & 32767, pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && rem > 423) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = (imod - pimod) & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = (i - dif + j + 32768) & 32767;\n var pti = prev[ti];\n var cd = (ti - pti + 32768) & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += (imod - pimod + 32768) & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one Uint32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n // this is the easiest way to avoid needing to maintain state\n if (!lst && pos & 7)\n pos = wfblk(w, pos + 1, et);\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new Int32Array(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && -306674912) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = -1;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return ~c; }\n };\n};\n// Alder32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length | 0;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 2655, l);\n for (; i < e; ++i)\n m += n += d[i];\n n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);\n }\n a = n, b = m;\n },\n d: function () {\n a %= 65521, b %= 65521;\n return (a & 255) << 24 | (a >>> 8) << 16 | (b & 255) << 8 | (b >>> 8);\n }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, !st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\\s+/g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return [fnStr, td];\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k].buffer) {\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n var _a;\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n _a = wcln(fns[i], fnStr, td_1), fnStr = _a[0], td_1 = _a[1];\n ch[id] = wcln(fns[m], fnStr, td_1);\n }\n var td = mrg({}, ch[id][1]);\n return wk(ch[id][0] + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, u32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gu8]; };\nvar bDflt = function () { return [u8, u16, u32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zlv]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get u8\nvar gu8 = function (o) { return o && o.size && new u8(o.size); };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) { return strm.push(ev.data[0], ev.data[1]); };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.push = function (d, f) {\n if (!strm.ondata)\n err(5);\n if (t)\n strm.ondata(err(4, 0, 1), null, !!f);\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\nvar b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n err(6, 'invalid gzip data');\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += d[10] | (d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return ((d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16) | (d[l - 1] << 24)) >>> 0;\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + ((o.filename && (o.filename.length + 1)) || 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (fl ? (32 - 2 * fl) : 1);\n};\n// zlib valid\nvar zlv = function (d) {\n if ((d[0] & 15) != 8 || (d[0] >>> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n err(6, 'invalid zlib data');\n if (d[1] & 32)\n err(6, 'invalid zlib data: preset dictionaries not supported');\n};\nfunction AsyncCmpStrm(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n// zlib footer: -4 to -0 is Adler32\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, !f), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n this.d = final;\n this.p(chunk, final || false);\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n return dopt(data, opts || {}, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n /**\n * Creates an inflation stream\n * @param cb The callback to call whenever data is inflated\n */\n function Inflate(cb) {\n this.s = {};\n this.p = new u8(0);\n this.ondata = cb;\n }\n Inflate.prototype.e = function (c) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n var l = this.p.length;\n var n = new u8(l + c.length);\n n.set(this.p), n.set(c, l), this.p = n;\n };\n Inflate.prototype.c = function (final) {\n this.d = this.s.i = final || false;\n var bts = this.s.b;\n var dt = inflt(this.p, this.o, this.s);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous inflation stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncInflate(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, 0, function () {\n var strm = new Inflate();\n onmessage = astrm(strm);\n }, 7);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gu8(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, out) {\n return inflt(data, out);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n this.c.p(c);\n this.l += c.length;\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, !f);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (!opts)\n opts = {};\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n /**\n * Creates a GUNZIP stream\n * @param cb The callback to call whenever data is inflated\n */\n function Gunzip(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n var s = this.p.length > 3 ? gzs(this.p) : 4;\n if (s >= this.p.length && !final)\n return;\n this.p = this.p.subarray(s), this.v = 0;\n }\n if (final) {\n if (this.p.length < 8)\n err(6, 'invalid gzip data');\n this.p = this.p.subarray(0, -8);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous GUNZIP stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncGunzip(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, 0, function () {\n var strm = new Gunzip();\n onmessage = astrm(strm);\n }, 9);\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param out Where to write the data. GZIP already encodes the output size, so providing this doesn't save memory.\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, out) {\n return inflt(data.subarray(gzs(data), -8), out || new u8(gzl(data)));\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n this.c.p(c);\n var raw = dopt(c, this.o, this.v && 2, f && 4, !f);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (!opts)\n opts = {};\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n /**\n * Creates a Zlib decompression stream\n * @param cb The callback to call whenever data is inflated\n */\n function Unzlib(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 2 && !final)\n return;\n this.p = this.p.subarray(2), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n err(6, 'invalid zlib data');\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous Zlib decompression stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncUnzlib(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, 0, function () {\n var strm = new Unzlib();\n onmessage = astrm(strm);\n }, 11);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gu8(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, out) {\n return inflt((zlv(data), data.subarray(2, -4)), out);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n /**\n * Creates a decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function Decompress(cb) {\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n var _this_1 = this;\n var cb = function () { _this_1.ondata.apply(_this_1, arguments); };\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(cb)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(cb)\n : new this.Z(cb);\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function AsyncDecompress(cb) {\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, out) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, out)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, out)\n : unzlibSync(data, out);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k, op = o;\n if (Array.isArray(val))\n op = mrg(o, val[1]), val = val[0];\n if (val instanceof u8)\n t[n] = [val, op];\n else {\n t[n += '/'] = [new u8(0), op];\n fltn(val, n, t, o);\n }\n }\n};\n// text encoder\nvar te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder();\n// text decoder\nvar td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();\n// text decoder stream\nvar tds = 0;\ntry {\n td.decode(et, { stream: true });\n tds = 1;\n}\ncatch (e) { }\n// decode UTF8\nvar dutf8 = function (d) {\n for (var r = '', i = 0;;) {\n var c = d[i++];\n var eb = (c > 127) + (c > 223) + (c > 239);\n if (i + eb > d.length)\n return [r, slc(d, i - 1)];\n if (!eb)\n r += String.fromCharCode(c);\n else if (eb == 3) {\n c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n else if (eb & 1)\n r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));\n else\n r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));\n }\n};\n/**\n * Streaming UTF-8 decoding\n */\nvar DecodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is decoded\n */\n function DecodeUTF8(cb) {\n this.ondata = cb;\n if (tds)\n this.t = new TextDecoder();\n else\n this.p = et;\n }\n /**\n * Pushes a chunk to be decoded from UTF-8 binary\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n DecodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n final = !!final;\n if (this.t) {\n this.ondata(this.t.decode(chunk, { stream: true }), final);\n if (final) {\n if (this.t.decode().length)\n err(8);\n this.t = null;\n }\n return;\n }\n if (!this.p)\n err(4);\n var dat = new u8(this.p.length + chunk.length);\n dat.set(this.p);\n dat.set(chunk, this.p.length);\n var _a = dutf8(dat), ch = _a[0], np = _a[1];\n if (final) {\n if (np.length)\n err(8);\n this.p = null;\n }\n else\n this.p = np;\n this.ondata(ch, final);\n };\n return DecodeUTF8;\n}());\nexport { DecodeUTF8 };\n/**\n * Streaming UTF-8 encoding\n */\nvar EncodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is encoded\n */\n function EncodeUTF8(cb) {\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be encoded to UTF-8\n * @param chunk The string data to push\n * @param final Whether this is the last chunk\n */\n EncodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n this.ondata(strToU8(chunk), this.d = final || false);\n };\n return EncodeUTF8;\n}());\nexport { EncodeUTF8 };\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n if (latin1) {\n var ar_1 = new u8(str.length);\n for (var i = 0; i < str.length; ++i)\n ar_1[i] = str.charCodeAt(i);\n return ar_1;\n }\n if (te)\n return te.encode(str);\n var l = str.length;\n var ar = new u8(str.length + (str.length >> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n if (latin1) {\n var r = '';\n for (var i = 0; i < dat.length; i += 16384)\n r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));\n return r;\n }\n else if (td)\n return td.decode(dat);\n else {\n var _a = dutf8(dat), out = _a[0], ext = _a[1];\n if (ext.length)\n err(8);\n return out;\n }\n}\n;\n// deflate bit flag\nvar dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; };\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);\n var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];\n};\n// extra field length\nvar exfl = function (ex) {\n var le = 0;\n if (ex) {\n for (var k in ex) {\n var l = ex[k].length;\n if (l > 65535)\n err(9);\n le += l + 4;\n }\n }\n return le;\n};\n// write zip header\nvar wzh = function (d, b, f, fn, u, c, ce, co) {\n var fl = fn.length, ex = f.extra, col = co && co.length;\n var exl = exfl(ex);\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b++] = 20, d[b++] = f.os;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8;\n d[b++] = f.compression & 255, d[b++] = f.compression >> 8;\n var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n err(10);\n wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >>> 1)), b += 4;\n if (c != -1) {\n wbytes(d, b, f.crc);\n wbytes(d, b + 4, c < 0 ? -c - 2 : c);\n wbytes(d, b + 8, f.size);\n }\n wbytes(d, b + 12, fl);\n wbytes(d, b + 14, exl), b += 16;\n if (ce != null) {\n wbytes(d, b, col);\n wbytes(d, b + 6, f.attrs);\n wbytes(d, b + 10, ce), b += 14;\n }\n d.set(fn, b);\n b += fl;\n if (exl) {\n for (var k in ex) {\n var exf = ex[k], l = exf.length;\n wbytes(d, b, +k);\n wbytes(d, b + 2, l);\n d.set(exf, b + 4), b += 4 + l;\n }\n }\n if (col)\n d.set(co, b), b += col;\n return b;\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\n/**\n * A pass-through stream to keep data uncompressed in a ZIP archive.\n */\nvar ZipPassThrough = /*#__PURE__*/ (function () {\n /**\n * Creates a pass-through stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n */\n function ZipPassThrough(filename) {\n this.filename = filename;\n this.c = crc();\n this.size = 0;\n this.compression = 0;\n }\n /**\n * Processes a chunk and pushes to the output stream. You can override this\n * method in a subclass for custom behavior, but by default this passes\n * the data through. You must call this.ondata(err, chunk, final) at some\n * point in this method.\n * @param chunk The chunk to process\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.process = function (chunk, final) {\n this.ondata(null, chunk, final);\n };\n /**\n * Pushes a chunk to be added. If you are subclassing this with a custom\n * compression algorithm, note that you must push data from the source\n * file only, pre-compression.\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n this.c.p(chunk);\n this.size += chunk.length;\n if (final)\n this.crc = this.c.d();\n this.process(chunk, final || false);\n };\n return ZipPassThrough;\n}());\nexport { ZipPassThrough };\n// I don't extend because TypeScript extension adds 1kB of runtime bloat\n/**\n * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate\n * for better performance\n */\nvar ZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function ZipDeflate(filename, opts) {\n var _this_1 = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new Deflate(opts, function (dat, final) {\n _this_1.ondata(null, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n }\n ZipDeflate.prototype.process = function (chunk, final) {\n try {\n this.d.push(chunk, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return ZipDeflate;\n}());\nexport { ZipDeflate };\n/**\n * Asynchronous streaming DEFLATE compression for ZIP archives\n */\nvar AsyncZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function AsyncZipDeflate(filename, opts) {\n var _this_1 = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new AsyncDeflate(opts, function (err, dat, final) {\n _this_1.ondata(err, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n this.terminate = this.d.terminate;\n }\n AsyncZipDeflate.prototype.process = function (chunk, final) {\n this.d.push(chunk, final);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return AsyncZipDeflate;\n}());\nexport { AsyncZipDeflate };\n// TODO: Better tree shaking\n/**\n * A zippable archive to which files can incrementally be added\n */\nvar Zip = /*#__PURE__*/ (function () {\n /**\n * Creates an empty ZIP archive to which files can be added\n * @param cb The callback to call whenever data for the generated ZIP archive\n * is available\n */\n function Zip(cb) {\n this.ondata = cb;\n this.u = [];\n this.d = 1;\n }\n /**\n * Adds a file to the ZIP archive\n * @param file The file stream to add\n */\n Zip.prototype.add = function (file) {\n var _this_1 = this;\n if (!this.ondata)\n err(5);\n // finishing or finished\n if (this.d & 2)\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false);\n else {\n var f = strToU8(file.filename), fl_1 = f.length;\n var com = file.comment, o = com && strToU8(com);\n var u = fl_1 != file.filename.length || (o && (com.length != o.length));\n var hl_1 = fl_1 + exfl(file.extra) + 30;\n if (fl_1 > 65535)\n this.ondata(err(11, 0, 1), null, false);\n var header = new u8(hl_1);\n wzh(header, 0, file, f, u, -1);\n var chks_1 = [header];\n var pAll_1 = function () {\n for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) {\n var chk = chks_2[_i];\n _this_1.ondata(null, chk, false);\n }\n chks_1 = [];\n };\n var tr_1 = this.d;\n this.d = 0;\n var ind_1 = this.u.length;\n var uf_1 = mrg(file, {\n f: f,\n u: u,\n o: o,\n t: function () {\n if (file.terminate)\n file.terminate();\n },\n r: function () {\n pAll_1();\n if (tr_1) {\n var nxt = _this_1.u[ind_1 + 1];\n if (nxt)\n nxt.r();\n else\n _this_1.d = 1;\n }\n tr_1 = 1;\n }\n });\n var cl_1 = 0;\n file.ondata = function (err, dat, final) {\n if (err) {\n _this_1.ondata(err, dat, final);\n _this_1.terminate();\n }\n else {\n cl_1 += dat.length;\n chks_1.push(dat);\n if (final) {\n var dd = new u8(16);\n wbytes(dd, 0, 0x8074B50);\n wbytes(dd, 4, file.crc);\n wbytes(dd, 8, cl_1);\n wbytes(dd, 12, file.size);\n chks_1.push(dd);\n uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size;\n if (tr_1)\n uf_1.r();\n tr_1 = 1;\n }\n else if (tr_1)\n pAll_1();\n }\n };\n this.u.push(uf_1);\n }\n };\n /**\n * Ends the process of adding files and prepares to emit the final chunks.\n * This *must* be called after adding all desired files for the resulting\n * ZIP file to work properly.\n */\n Zip.prototype.end = function () {\n var _this_1 = this;\n if (this.d & 2) {\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true);\n return;\n }\n if (this.d)\n this.e();\n else\n this.u.push({\n r: function () {\n if (!(_this_1.d & 1))\n return;\n _this_1.u.splice(-1, 1);\n _this_1.e();\n },\n t: function () { }\n });\n this.d = 3;\n };\n Zip.prototype.e = function () {\n var bt = 0, l = 0, tl = 0;\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0);\n }\n var out = new u8(tl + 22);\n for (var _b = 0, _c = this.u; _b < _c.length; _b++) {\n var f = _c[_b];\n wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o);\n bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b;\n }\n wzf(out, bt, this.u.length, tl, l);\n this.ondata(null, out, true);\n this.d = 2;\n };\n /**\n * A method to terminate any internal workers used by the stream. Subsequent\n * calls to add() will fail.\n */\n Zip.prototype.terminate = function () {\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n f.t();\n }\n this.d = 2;\n };\n return Zip;\n}());\nexport { Zip };\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n var l = f.c.length;\n wzh(out, tot, f, f.f, f.u, l);\n var badd = 30 + f.f.length + exfl(f.extra);\n var loc = tot + badd;\n out.set(f.c, loc);\n wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l;\n }\n catch (e) {\n return cbd(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cbd(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), size = file.length;\n c.p(file);\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n var compression = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n var l = d.length;\n files[i] = mrg(p, {\n size: size,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n compression: compression\n });\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n if (!--lft)\n cbf();\n }\n };\n if (s > 65535)\n cbl(err(11, 0, 1), null);\n if (!compression)\n cbl(null, file);\n else if (size < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (!opts)\n opts = {};\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var compression = p.level == 0 ? 0 : 8;\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n if (s > 65535)\n err(11);\n var d = compression ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push(mrg(p, {\n size: file.length,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n o: o,\n compression: compression\n }));\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f, f.f, f.u, f.c.length);\n var badd = 30 + f.f.length + exfl(f.extra);\n out.set(f.c, f.o + badd);\n wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0);\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Streaming pass-through decompression for ZIP archives\n */\nvar UnzipPassThrough = /*#__PURE__*/ (function () {\n function UnzipPassThrough() {\n }\n UnzipPassThrough.prototype.push = function (data, final) {\n this.ondata(null, data, final);\n };\n UnzipPassThrough.compression = 0;\n return UnzipPassThrough;\n}());\nexport { UnzipPassThrough };\n/**\n * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for\n * better performance.\n */\nvar UnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function UnzipInflate() {\n var _this_1 = this;\n this.i = new Inflate(function (dat, final) {\n _this_1.ondata(null, dat, final);\n });\n }\n UnzipInflate.prototype.push = function (data, final) {\n try {\n this.i.push(data, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n UnzipInflate.compression = 8;\n return UnzipInflate;\n}());\nexport { UnzipInflate };\n/**\n * Asynchronous streaming DEFLATE decompression for ZIP archives\n */\nvar AsyncUnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function AsyncUnzipInflate(_, sz) {\n var _this_1 = this;\n if (sz < 320000) {\n this.i = new Inflate(function (dat, final) {\n _this_1.ondata(null, dat, final);\n });\n }\n else {\n this.i = new AsyncInflate(function (err, dat, final) {\n _this_1.ondata(err, dat, final);\n });\n this.terminate = this.i.terminate;\n }\n }\n AsyncUnzipInflate.prototype.push = function (data, final) {\n if (this.i.terminate)\n data = slc(data, 0);\n this.i.push(data, final);\n };\n AsyncUnzipInflate.compression = 8;\n return AsyncUnzipInflate;\n}());\nexport { AsyncUnzipInflate };\n/**\n * A ZIP archive decompression stream that emits files as they are discovered\n */\nvar Unzip = /*#__PURE__*/ (function () {\n /**\n * Creates a ZIP decompression stream\n * @param cb The callback to call whenever a file in the ZIP archive is found\n */\n function Unzip(cb) {\n this.onfile = cb;\n this.k = [];\n this.o = {\n 0: UnzipPassThrough\n };\n this.p = et;\n }\n /**\n * Pushes a chunk to be unzipped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzip.prototype.push = function (chunk, final) {\n var _this_1 = this;\n if (!this.onfile)\n err(5);\n if (!this.p)\n err(4);\n if (this.c > 0) {\n var len = Math.min(this.c, chunk.length);\n var toAdd = chunk.subarray(0, len);\n this.c -= len;\n if (this.d)\n this.d.push(toAdd, !this.c);\n else\n this.k[0].push(toAdd);\n chunk = chunk.subarray(len);\n if (chunk.length)\n return this.push(chunk, final);\n }\n else {\n var f = 0, i = 0, is = void 0, buf = void 0;\n if (!this.p.length)\n buf = chunk;\n else if (!chunk.length)\n buf = this.p;\n else {\n buf = new u8(this.p.length + chunk.length);\n buf.set(this.p), buf.set(chunk, this.p.length);\n }\n var l = buf.length, oc = this.c, add = oc && this.d;\n var _loop_2 = function () {\n var _a;\n var sig = b4(buf, i);\n if (sig == 0x4034B50) {\n f = 1, is = i;\n this_1.d = null;\n this_1.c = 0;\n var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28);\n if (l > i + 30 + fnl + es) {\n var chks_3 = [];\n this_1.k.unshift(chks_3);\n f = 2;\n var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22);\n var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u);\n if (sc_1 == 4294967295) {\n _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1];\n }\n else if (dd)\n sc_1 = -1;\n i += es;\n this_1.c = sc_1;\n var d_1;\n var file_1 = {\n name: fn_1,\n compression: cmp_1,\n start: function () {\n if (!file_1.ondata)\n err(5);\n if (!sc_1)\n file_1.ondata(null, et, true);\n else {\n var ctr = _this_1.o[cmp_1];\n if (!ctr)\n file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false);\n d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);\n d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); };\n for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) {\n var dat = chks_4[_i];\n d_1.push(dat, false);\n }\n if (_this_1.k[0] == chks_3 && _this_1.c)\n _this_1.d = d_1;\n else\n d_1.push(et, true);\n }\n },\n terminate: function () {\n if (d_1 && d_1.terminate)\n d_1.terminate();\n }\n };\n if (sc_1 >= 0)\n file_1.size = sc_1, file_1.originalSize = su_1;\n this_1.onfile(file_1);\n }\n return \"break\";\n }\n else if (oc) {\n if (sig == 0x8074B50) {\n is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0;\n return \"break\";\n }\n else if (sig == 0x2014B50) {\n is = i -= 4, f = 3, this_1.c = 0;\n return \"break\";\n }\n }\n };\n var this_1 = this;\n for (; i < l - 4; ++i) {\n var state_1 = _loop_2();\n if (state_1 === \"break\")\n break;\n }\n this.p = et;\n if (oc < 0) {\n var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i);\n if (add)\n add.push(dat, !!f);\n else\n this.k[+(f == 2)].push(dat);\n }\n if (f & 2)\n return this.push(buf.subarray(i), final);\n this.p = buf.subarray(i);\n }\n if (final) {\n if (this.c)\n err(13);\n this.p = null;\n }\n };\n /**\n * Registers a decoder with the stream, allowing for files compressed with\n * the compression type provided to be expanded correctly\n * @param decoder The decoder constructor\n */\n Unzip.prototype.register = function (decoder) {\n this.o[decoder.compression] = decoder;\n };\n return Unzip;\n}());\nexport { Unzip };\nvar mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); };\nexport function unzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cbd(err(13, 0, 1), null);\n return tAll;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (lft) {\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = lft = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n var _loop_3 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n if (d)\n files[fn] = d;\n if (!--lft)\n cbd(null, files);\n }\n };\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_1\n })) {\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n if (sc < 320000) {\n try {\n cbl(null, inflateSync(infl, new u8(su)));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl(err(14, 'unknown compression type ' + c_1, 1), null);\n }\n else\n cbl(null, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_3(i);\n }\n }\n else\n cbd(null, {});\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @param opts The ZIP extraction options\n * @returns The decompressed files\n */\nexport function unzipSync(data, opts) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n err(13);\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_2\n })) {\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), new u8(su));\n else\n err(14, 'unknown compression type ' + c_2);\n }\n }\n return files;\n}\n","import { unzipSync, strFromU8 } from 'fflate';\n/**\r\n * Reads XLSX file in a browser.\r\n * @param {(File|Blob|ArrayBuffer)} input - A `File` or an `ArrayBuffer`.\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\n\nexport default function unpackXlsxFile(input) {\n if (input instanceof File) {\n return input.arrayBuffer().then(unpackXlsxArrayBuffer);\n }\n\n if (input instanceof Blob) {\n return input.arrayBuffer().then(unpackXlsxArrayBuffer);\n }\n\n return unpackXlsxArrayBuffer(input);\n}\n/**\r\n * Reads XLSX file in a browser from an `ArrayBuffer`.\r\n * @param {ArrayBuffer} input\r\n * @return {Promise} Resolves to an object holding XLSX file entries.\r\n */\n\nfunction unpackXlsxArrayBuffer(arrayBuffer) {\n var archive = new Uint8Array(arrayBuffer);\n var contents = unzipSync(archive);\n return Promise.resolve(getContents(contents)); // return new Promise((resolve, reject) => {\n // \tunzip(archive, (error, contents) => {\n // \t\tif (error) {\n // \t\t\treturn reject(error)\n // \t\t}\n // \t\treturn resolve(getContents(contents))\n // \t})\n // })\n}\n\nfunction getContents(contents) {\n var unzippedFiles = [];\n\n for (var _i = 0, _Object$keys = Object.keys(contents); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n unzippedFiles[key] = strFromU8(contents[key]);\n }\n\n return unzippedFiles;\n}\n//# sourceMappingURL=unpackXlsxFileBrowser.js.map","export function findChild(node, tagName) {\n var i = 0;\n\n while (i < node.childNodes.length) {\n var childNode = node.childNodes[i]; // `nodeType: 1` means \"Element\".\n // https://www.w3schools.com/xml/prop_element_nodetype.asp\n\n if (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\n return childNode;\n }\n\n i++;\n }\n}\nexport function findChildren(node, tagName) {\n var results = [];\n var i = 0;\n\n while (i < node.childNodes.length) {\n var childNode = node.childNodes[i]; // `nodeType: 1` means \"Element\".\n // https://www.w3schools.com/xml/prop_element_nodetype.asp\n\n if (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\n results.push(childNode);\n }\n\n i++;\n }\n\n return results;\n}\nexport function forEach(node, tagName, func) {\n // if (typeof tagName === 'function') {\n // \tfunc = tagName\n // \ttagName = undefined\n // }\n var i = 0;\n\n while (i < node.childNodes.length) {\n var childNode = node.childNodes[i];\n\n if (tagName) {\n // `nodeType: 1` means \"Element\".\n // https://www.w3schools.com/xml/prop_element_nodetype.asp\n if (childNode.nodeType === 1 && getTagName(childNode) === tagName) {\n func(childNode, i);\n }\n } else {\n func(childNode, i);\n }\n\n i++;\n }\n}\nexport function map(node, tagName, func) {\n var results = [];\n forEach(node, tagName, function (node, i) {\n results.push(func(node, i));\n });\n return results;\n}\nvar NAMESPACE_REG_EXP = /.+\\:/;\nexport function getTagName(element) {\n // For some weird reason, if an element is declared as,\n // for example, ``, then its `.tagName` will be\n // \"x:sheets\" instead of just \"sheets\".\n // https://gitlab.com/catamphetamine/read-excel-file/-/issues/25\n // Its not clear how to tell it to ignore any namespaces\n // when getting `.tagName`, so just replacing anything\n // before a colon, if any.\n return element.tagName.replace(NAMESPACE_REG_EXP, '');\n} // This function is only used for occasional debug messages.\n\nexport function getOuterXml(node) {\n // `nodeType: 1` means \"Element\".\n // https://www.w3schools.com/xml/prop_element_nodetype.asp\n if (node.nodeType !== 1) {\n return node.textContent;\n }\n\n var xml = '<' + getTagName(node);\n var j = 0;\n\n while (j < node.attributes.length) {\n xml += ' ' + node.attributes[j].name + '=' + '\"' + node.attributes[j].value + '\"';\n j++;\n }\n\n xml += '>';\n var i = 0;\n\n while (i < node.childNodes.length) {\n xml += getOuterXml(node.childNodes[i]);\n i++;\n }\n\n xml += '';\n return xml;\n}\n//# sourceMappingURL=dom.js.map","import { findChild, findChildren, forEach, map, getTagName } from './dom.js';\nexport function getCells(document) {\n var worksheet = document.documentElement;\n var sheetData = findChild(worksheet, 'sheetData');\n var cells = [];\n forEach(sheetData, 'row', function (row) {\n forEach(row, 'c', function (cell) {\n cells.push(cell);\n });\n });\n return cells;\n}\nexport function getMergedCells(document) {\n var worksheet = document.documentElement;\n var mergedCells = findChild(worksheet, 'mergeCells');\n var mergedCellsInfo = [];\n\n if (mergedCells) {\n forEach(mergedCells, 'mergeCell', function (mergedCell) {\n mergedCellsInfo.push(mergedCell.getAttribute('ref'));\n });\n }\n\n return mergedCellsInfo;\n}\nexport function getCellValue(document, node) {\n return findChild(node, 'v');\n}\nexport function getCellInlineStringValue(document, node) {\n if (node.firstChild && getTagName(node.firstChild) === 'is' && node.firstChild.firstChild && getTagName(node.firstChild.firstChild) === 't') {\n return node.firstChild.firstChild.textContent;\n }\n}\nexport function getDimensions(document) {\n var worksheet = document.documentElement;\n var dimensions = findChild(worksheet, 'dimension');\n\n if (dimensions) {\n return dimensions.getAttribute('ref');\n }\n}\nexport function getBaseStyles(document) {\n var styleSheet = document.documentElement;\n var cellStyleXfs = findChild(styleSheet, 'cellStyleXfs');\n\n if (cellStyleXfs) {\n return findChildren(cellStyleXfs, 'xf');\n }\n\n return [];\n}\nexport function getCellStyles(document) {\n var styleSheet = document.documentElement;\n var cellXfs = findChild(styleSheet, 'cellXfs');\n\n if (!cellXfs) {\n return [];\n }\n\n return findChildren(cellXfs, 'xf');\n}\nexport function getNumberFormats(document) {\n var styleSheet = document.documentElement;\n var numberFormats = [];\n var numFmts = findChild(styleSheet, 'numFmts');\n\n if (numFmts) {\n return findChildren(numFmts, 'numFmt');\n }\n\n return [];\n}\nexport function getSharedStrings(document) {\n // An `` element can contain a `` (simplest case) or a set of `` (\"rich formatting\") elements having ``.\n // https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sharedstringitem?redirectedfrom=MSDN&view=openxml-2.8.1\n // http://www.datypic.com/sc/ooxml/e-ssml_si-1.html\n var sst = document.documentElement;\n return map(sst, 'si', function (string) {\n var t = findChild(string, 't');\n\n if (t) {\n return t.textContent;\n }\n\n var value = '';\n forEach(string, 'r', function (r) {\n value += findChild(r, 't').textContent;\n });\n return value;\n });\n}\nexport function getWorkbookProperties(document) {\n var workbook = document.documentElement;\n return findChild(workbook, 'workbookPr');\n}\nexport function getRelationships(document) {\n var relationships = document.documentElement;\n return findChildren(relationships, 'Relationship');\n}\nexport function getSheets(document) {\n var workbook = document.documentElement;\n var sheets = findChild(workbook, 'sheets');\n return findChildren(sheets, 'sheet');\n}\n//# sourceMappingURL=xlsx.js.map","import { getWorkbookProperties, getSheets } from '../xml/xlsx.js'; // I guess `xl/workbook.xml` file should always be present inside the *.xlsx archive.\n\nexport default function parseProperties(content, xml) {\n var book = xml.createDocument(content);\n var properties = {}; // Read `` element to detect whether dates are 1900-based or 1904-based.\n // https://support.microsoft.com/en-gb/help/214330/differences-between-the-1900-and-the-1904-date-system-in-excel\n // http://webapp.docx4java.org/OnlineDemo/ecma376/SpreadsheetML/workbookPr.html\n\n var workbookProperties = getWorkbookProperties(book);\n\n if (workbookProperties && workbookProperties.getAttribute('date1904') === '1') {\n properties.epoch1904 = true;\n } // Get sheets info (indexes, names, if they're available).\n // Example:\n // \n // \n // \n // http://www.datypic.com/sc/ooxml/e-ssml_sheet-1.html\n\n\n properties.sheets = [];\n\n var addSheetInfo = function addSheetInfo(sheet) {\n if (sheet.getAttribute('name')) {\n properties.sheets.push({\n id: sheet.getAttribute('sheetId'),\n name: sheet.getAttribute('name'),\n relationId: sheet.getAttribute('r:id')\n });\n }\n };\n\n getSheets(book).forEach(addSheetInfo);\n return properties;\n}\n//# sourceMappingURL=parseProperties.js.map","import { getRelationships } from '../xml/xlsx.js';\n/**\r\n * Returns sheet file paths.\r\n * Seems that the correct place to look for the `sheetId` -> `filename` mapping\r\n * is `xl/_rels/workbook.xml.rels` file.\r\n * https://github.com/tidyverse/readxl/issues/104\r\n * @param {string} content — `xl/_rels/workbook.xml.rels` file contents.\r\n * @param {object} xml\r\n * @return {object}\r\n */\n\nexport default function parseFilePaths(content, xml) {\n // Example:\n // \n // ...\n // \n // \n var document = xml.createDocument(content);\n var filePaths = {\n sheets: {},\n sharedStrings: undefined,\n styles: undefined\n };\n\n var addFilePathInfo = function addFilePathInfo(relationship) {\n var filePath = relationship.getAttribute('Target');\n var fileType = relationship.getAttribute('Type');\n\n switch (fileType) {\n case 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles':\n filePaths.styles = getFilePath(filePath);\n break;\n\n case 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings':\n filePaths.sharedStrings = getFilePath(filePath);\n break;\n\n case 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet':\n filePaths.sheets[relationship.getAttribute('Id')] = getFilePath(filePath);\n break;\n }\n };\n\n getRelationships(document).forEach(addFilePathInfo); // Seems like \"sharedStrings.xml\" is not required to exist.\n // For example, when the spreadsheet doesn't contain any strings.\n // https://github.com/catamphetamine/read-excel-file/issues/85\n // if (!filePaths.sharedStrings) {\n // throw new Error('\"sharedStrings.xml\" file not found in the *.xlsx file')\n // }\n\n return filePaths;\n}\n\nfunction getFilePath(path) {\n // Normally, `path` is a relative path inside the ZIP archive,\n // like \"worksheets/sheet1.xml\", or \"sharedStrings.xml\", or \"styles.xml\".\n // There has been one weird case when file path was an absolute path,\n // like \"/xl/worksheets/sheet1.xml\" (specifically for sheets):\n // https://github.com/catamphetamine/read-excel-file/pull/95\n // Other libraries (like `xlsx`) and software (like Google Docs)\n // seem to support such absolute file paths, so this library does too.\n if (path[0] === '/') {\n return path.slice('/'.length);\n } // // Seems like a path could also be a URL.\n // // http://officeopenxml.com/anatomyofOOXML-xlsx.php\n // if (/^[a-z]+\\:\\/\\//.test(path)) {\n // return path\n // }\n\n\n return 'xl/' + path;\n}\n//# sourceMappingURL=parseFilePaths.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { getBaseStyles, getCellStyles, getNumberFormats } from '../xml/xlsx.js'; // http://officeopenxml.com/SSstyles.php\n// Returns an array of cell styles.\n// A cell style index is its ID.\n\nexport default function parseStyles(content, xml) {\n if (!content) {\n return {};\n } // https://social.msdn.microsoft.com/Forums/sqlserver/en-US/708978af-b598-45c4-a598-d3518a5a09f0/howwhen-is-cellstylexfs-vs-cellxfs-applied-to-a-cell?forum=os_binaryfile\n // https://www.office-forums.com/threads/cellxfs-cellstylexfs.2163519/\n\n\n var doc = xml.createDocument(content);\n var baseStyles = getBaseStyles(doc).map(parseCellStyle);\n var numberFormats = getNumberFormats(doc).map(parseNumberFormatStyle).reduce(function (formats, format) {\n // Format ID is a numeric index.\n // There're some standard \"built-in\" formats (in Excel) up to about `100`.\n formats[format.id] = format;\n return formats;\n }, []);\n\n var getCellStyle = function getCellStyle(xf) {\n if (xf.hasAttribute('xfId')) {\n return _objectSpread(_objectSpread({}, baseStyles[xf.xfId]), parseCellStyle(xf, numberFormats));\n }\n\n return parseCellStyle(xf, numberFormats);\n };\n\n return getCellStyles(doc).map(getCellStyle);\n}\n\nfunction parseNumberFormatStyle(numFmt) {\n return {\n id: numFmt.getAttribute('numFmtId'),\n template: numFmt.getAttribute('formatCode')\n };\n} // http://www.datypic.com/sc/ooxml/e-ssml_xf-2.html\n\n\nfunction parseCellStyle(xf, numFmts) {\n var style = {};\n\n if (xf.hasAttribute('numFmtId')) {\n var numberFormatId = xf.getAttribute('numFmtId'); // Built-in number formats don't have a `` element in `styles.xml`.\n // https://hexdocs.pm/xlsxir/number_styles.html\n\n if (numFmts[numberFormatId]) {\n style.numberFormat = numFmts[numberFormatId];\n } else {\n style.numberFormat = {\n id: numberFormatId\n };\n }\n }\n\n return style;\n}\n//# sourceMappingURL=parseStyles.js.map","import { getSharedStrings } from '../xml/xlsx.js';\nexport default function parseSharedStrings(content, xml) {\n if (!content) {\n return [];\n }\n\n return getSharedStrings(xml.createDocument(content));\n}\n//# sourceMappingURL=parseSharedStrings.js.map","// Parses an Excel Date (\"serial\") into a corresponding javascript Date in UTC+0 timezone.\n// (with time equal to 00:00)\n//\n// https://www.pcworld.com/article/3063622/software/mastering-excel-date-time-serial-numbers-networkdays-datevalue-and-more.html\n// \"If you need to calculate dates in your spreadsheets,\n// Excel uses its own unique system, which it calls Serial Numbers\".\n//\nexport default function parseExcelDate(excelSerialDate, options) {\n // https://support.microsoft.com/en-gb/help/214330/differences-between-the-1900-and-the-1904-date-system-in-excel\n if (options && options.epoch1904) {\n excelSerialDate += 1462;\n } // \"Excel serial date\" is just\n // the count of days since `01/01/1900`\n // (seems that it may be even fractional).\n //\n // The count of days elapsed\n // since `01/01/1900` (Excel epoch)\n // till `01/01/1970` (Unix epoch).\n // Accounts for leap years\n // (19 of them, yielding 19 extra days).\n\n\n var daysBeforeUnixEpoch = 70 * 365 + 19; // An hour, approximately, because a minute\n // may be longer than 60 seconds, due to \"leap seconds\".\n //\n // Still, Javascript `Date` (and UNIX time in general) intentionally\n // drops the concept of \"leap seconds\" in order to make things simpler.\n // So it's fine.\n // https://stackoverflow.com/questions/53019726/where-are-the-leap-seconds-in-javascript\n //\n // \"The JavaScript Date object specifically adheres to the concept of Unix Time\n // (albeit with higher precision). This is part of the POSIX specification,\n // and thus is sometimes called \"POSIX Time\". It does not count leap seconds,\n // but rather assumes every day had exactly 86,400 seconds. You can read about\n // this in section 20.3.1.1 of the current ECMAScript specification, which states:\n //\n // \"Time is measured in ECMAScript in milliseconds since 01 January, 1970 UTC.\n // In time values leap seconds are ignored. It is assumed that there are exactly\n // 86,400,000 milliseconds per day.\"\n //\n // The fact is, that the unpredictable nature of leap seconds makes them very\n // difficult to work with in APIs. One can't generally pass timestamps around\n // that need leap seconds tables to be interpreted correctly, and expect that\n // one system will interpret them the same as another. For example, while your\n // example timestamp 1483228826 is 2017-01-01T00:00:00Z on your system,\n // it would be interpreted as 2017-01-01T00:00:26Z on POSIX based systems,\n // or systems without leap second tables. So they aren't portable.\n // Even on systems that have full updated tables, there's no telling what those\n // tables will contain in the future (beyond the 6-month IERS announcement period),\n // so I can't produce a future timestamp without risk that it may eventually change.\n //\n // To be clear - to support leap seconds in a programming language, the implementation\n // must go out of its way to do so, and must make tradeoffs that are not always acceptable.\n // Though there are exceptions, the general position is to not support them - not because\n // of any subversion or active countermeasures, but because supporting them properly is much,\n // much harder.\"\n //\n // https://en.wikipedia.org/wiki/Unix_time#Leap_seconds\n // https://en.wikipedia.org/wiki/Leap_year\n // https://en.wikipedia.org/wiki/Leap_second\n //\n\n var hour = 60 * 60 * 1000;\n return new Date(Math.round((excelSerialDate - daysBeforeUnixEpoch) * 24 * hour));\n}\n//# sourceMappingURL=parseDate.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// XLSX does have \"d\" type for dates, but it's not commonly used.\n// Instead, it prefers using \"n\" type for storing dates as timestamps.\n//\n// Whether a numeric value is a number or a date timestamp, it sometimes could be\n// detected by looking at the value \"format\" and seeing if it's a date-specific one.\n// https://github.com/catamphetamine/read-excel-file/issues/3#issuecomment-395770777\n//\n// The list of generic numeric value \"formats\":\n// https://xlsxwriter.readthedocs.io/format.html#format-set-num-format\n//\nexport default function isDateTimestamp(value, styleId, styles, options) {\n if (styleId) {\n var style = styles[styleId];\n\n if (!style) {\n throw new Error(\"Cell style not found: \".concat(styleId));\n }\n\n if (!style.numberFormat) {\n return false;\n }\n\n if ( // Whether it's a \"number format\" that's conventionally used for storing date timestamps.\n BUILT_IN_DATE_NUMBER_FORMAT_IDS.indexOf(Number(style.numberFormat.id)) >= 0 || // Whether it's a \"number format\" that uses a \"formatting template\"\n // that the developer is certain is a date formatting template.\n options.dateFormat && style.numberFormat.template === options.dateFormat || // Whether the \"smart formatting template\" feature is not disabled\n // and it has detected that it's a date formatting template by looking at it.\n options.smartDateParser !== false && style.numberFormat.template && isDateTemplate(style.numberFormat.template)) {\n return true;\n }\n }\n} // https://hexdocs.pm/xlsxir/number_styles.html\n\nvar BUILT_IN_DATE_NUMBER_FORMAT_IDS = [14, 15, 16, 17, 18, 19, 20, 21, 22, 27, 30, 36, 45, 46, 47, 50, 57]; // On some date formats, there's an \"[$-414]\" prefix.\n// I don't have any idea what that is.\n//\n// https://stackoverflow.com/questions/4730152/what-indicates-an-office-open-xml-cell-contains-a-date-time-value\n//\n// Examples:\n//\n// * 27 (built-in format) \"[$-404]e/m/d\"\n// * 164 (custom format) \"[$-414]mmmm\\ yyyy;@\"\n//\n\nvar DATE_FORMAT_WEIRD_PREFIX = /^\\[\\$-414\\]/; // On some date formats, there's an \";@\" postfix.\n// I don't have any idea what that is.\n// Examples:\n//\n// * 164 (custom format) \"m/d/yyyy;@\"\n// * 164 (custom format) \"[$-414]mmmm\\ yyyy;@\"\n//\n\nvar DATE_FORMAT_WEIRD_POSTFIX = /;@$/;\n\nfunction isDateTemplate(template) {\n // Date format tokens could be in upper case or in lower case.\n // There seems to be no single standard.\n // So lowercase the template first.\n template = template.toLowerCase(); // On some date formats, there's an \"[$-414]\" prefix.\n // I don't have any idea what that is. Trim it.\n\n template = template.replace(DATE_FORMAT_WEIRD_PREFIX, ''); // On some date formats, there's an \";@\" postfix.\n // I don't have any idea what that is. Trim it.\n\n template = template.replace(DATE_FORMAT_WEIRD_POSTFIX, '');\n var tokens = template.split(/\\W+/);\n\n for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {\n var token = _step.value;\n\n if (DATE_TEMPLATE_TOKENS.indexOf(token) < 0) {\n return false;\n }\n }\n\n return true;\n} // These tokens could be in upper case or in lower case.\n// There seems to be no single standard, so using lower case.\n\n\nvar DATE_TEMPLATE_TOKENS = [// Seconds (min two digits). Example: \"05\".\n'ss', // Minutes (min two digits). Example: \"05\". Could also be \"Months\". Weird.\n'mm', // Hours. Example: \"1\".\n'h', // Hours (min two digits). Example: \"01\".\n'hh', // \"AM\" part of \"AM/PM\". Lowercased just in case.\n'am', // \"PM\" part of \"AM/PM\". Lowercased just in case.\n'pm', // Day. Example: \"1\"\n'd', // Day (min two digits). Example: \"01\"\n'dd', // Month (numeric). Example: \"1\".\n'm', // Month (numeric, min two digits). Example: \"01\". Could also be \"Minutes\". Weird.\n'mm', // Month (shortened month name). Example: \"Jan\".\n'mmm', // Month (full month name). Example: \"January\".\n'mmmm', // Two-digit year. Example: \"20\".\n'yy', // Full year. Example: \"2020\".\n'yyyy', // I don't have any idea what \"e\" means.\n// It's used in \"built-in\" XLSX formats:\n// * 27 '[$-404]e/m/d';\n// * 36 '[$-404]e/m/d';\n// * 50 '[$-404]e/m/d';\n// * 57 '[$-404]e/m/d';\n'e'];\n//# sourceMappingURL=isDateTimestamp.js.map","import parseDate from './parseDate.js';\nimport isDateTimestamp from './isDateTimestamp.js'; // Parses a string `value` of a cell.\n\nexport default function parseCellValue(value, type, _ref) {\n var getInlineStringValue = _ref.getInlineStringValue,\n getInlineStringXml = _ref.getInlineStringXml,\n getStyleId = _ref.getStyleId,\n styles = _ref.styles,\n values = _ref.values,\n properties = _ref.properties,\n options = _ref.options;\n\n if (!type) {\n // Default cell type is \"n\" (numeric).\n // http://www.datypic.com/sc/ooxml/t-ssml_CT_Cell.html\n type = 'n';\n } // Available Excel cell types:\n // https://github.com/SheetJS/sheetjs/blob/19620da30be2a7d7b9801938a0b9b1fd3c4c4b00/docbits/52_datatype.md\n //\n // Some other document (seems to be old):\n // http://webapp.docx4java.org/OnlineDemo/ecma376/SpreadsheetML/ST_CellType.html\n //\n\n\n switch (type) {\n // XLSX tends to store all strings as \"shared\" (indexed) ones\n // using \"s\" cell type (for saving on strage space).\n // \"str\" cell type is then generally only used for storing\n // formula-pre-calculated cell values.\n case 'str':\n value = parseString(value, options);\n break;\n // Sometimes, XLSX stores strings as \"inline\" strings rather than \"shared\" (indexed) ones.\n // Perhaps the specification doesn't force it to use one or another.\n // Example: `Test 123`.\n\n case 'inlineStr':\n value = getInlineStringValue();\n\n if (value === undefined) {\n throw new Error(\"Unsupported \\\"inline string\\\" cell value structure: \".concat(getInlineStringXml()));\n }\n\n value = parseString(value, options);\n break;\n // XLSX tends to store string values as \"shared\" (indexed) ones.\n // \"Shared\" strings is a way for an Excel editor to reduce\n // the file size by storing \"commonly used\" strings in a dictionary\n // and then referring to such strings by their index in that dictionary.\n // Example: `0`.\n\n case 's':\n // If a cell has no value then there's no `` element for it.\n // If a `` element exists then it's not empty.\n // The ``alue is a key in the \"shared strings\" dictionary of the\n // XLSX file, so look it up in the `values` dictionary by the numeric key.\n var sharedStringIndex = Number(value);\n\n if (isNaN(sharedStringIndex)) {\n throw new Error(\"Invalid \\\"shared\\\" string index: \".concat(value));\n }\n\n if (sharedStringIndex >= values.length) {\n throw new Error(\"An out-of-bounds \\\"shared\\\" string index: \".concat(value));\n }\n\n value = values[sharedStringIndex];\n value = parseString(value, options);\n break;\n // Boolean (TRUE/FALSE) values are stored as either \"1\" or \"0\"\n // in cells of type \"b\".\n\n case 'b':\n if (value === '1') {\n value = true;\n } else if (value === '0') {\n value = false;\n } else {\n throw new Error(\"Unsupported \\\"boolean\\\" cell value: \".concat(value));\n }\n\n break;\n // XLSX specification seems to support cells of type \"z\":\n // blank \"stub\" cells that should be ignored by data processing utilities.\n\n case 'z':\n value = undefined;\n break;\n // XLSX specification also defines cells of type \"e\" containing a numeric \"error\" code.\n // It's not clear what that means though.\n // They also wrote: \"and `w` property stores its common name\".\n // It's unclear what they meant by that.\n\n case 'e':\n value = decodeError(value);\n break;\n // XLSX supports date cells of type \"d\", though seems like it (almost?) never\n // uses it for storing dates, preferring \"n\" numeric timestamp cells instead.\n // The value of a \"d\" cell is supposedly a string in \"ISO 8601\" format.\n // I haven't seen an XLSX file having such cells.\n // Example: `2021-06-10T00:47:45.700Z`.\n\n case 'd':\n if (value === undefined) {\n break;\n }\n\n var parsedDate = new Date(value);\n\n if (isNaN(parsedDate.valueOf())) {\n throw new Error(\"Unsupported \\\"date\\\" cell value: \".concat(value));\n }\n\n value = parsedDate;\n break;\n // Numeric cells have type \"n\".\n\n case 'n':\n if (value === undefined) {\n break;\n }\n\n var parsedNumber = Number(value);\n\n if (isNaN(parsedNumber)) {\n throw new Error(\"Invalid \\\"numeric\\\" cell value: \".concat(value));\n }\n\n value = parsedNumber; // XLSX does have \"d\" type for dates, but it's not commonly used.\n // Instead, it prefers using \"n\" type for storing dates as timestamps.\n\n if (isDateTimestamp(value, getStyleId(), styles, options)) {\n // Parse the number as a date timestamp.\n value = parseDate(value, properties);\n }\n\n break;\n\n default:\n throw new TypeError(\"Cell type not supported: \".concat(type));\n } // Convert empty values to `null`.\n\n\n if (value === undefined) {\n value = null;\n }\n\n return value;\n} // Decodes numeric error code to a string code.\n// https://github.com/SheetJS/sheetjs/blob/19620da30be2a7d7b9801938a0b9b1fd3c4c4b00/docbits/52_datatype.md\n\nfunction decodeError(errorCode) {\n // While the error values are determined by the application,\n // the following are some example error values that could be used:\n switch (errorCode) {\n case 0x00:\n return '#NULL!';\n\n case 0x07:\n return '#DIV/0!';\n\n case 0x0F:\n return '#VALUE!';\n\n case 0x17:\n return '#REF!';\n\n case 0x1D:\n return '#NAME?';\n\n case 0x24:\n return '#NUM!';\n\n case 0x2A:\n return '#N/A';\n\n case 0x2B:\n return '#GETTING_DATA';\n\n default:\n // Such error code doesn't exist. I made it up.\n return \"#ERROR_\".concat(errorCode);\n }\n}\n\nfunction parseString(value, options) {\n // In some weird cases, a developer might want to disable\n // the automatic trimming of all strings.\n // For example, leading spaces might express a tree-like hierarchy.\n // https://github.com/catamphetamine/read-excel-file/pull/106#issuecomment-1136062917\n if (options.trim !== false) {\n value = value.trim();\n }\n\n if (value === '') {\n value = undefined;\n }\n\n return value;\n}\n//# sourceMappingURL=parseCellValue.js.map","// Maps \"A1\"-like coordinates to `{ row, column }` numeric coordinates.\nvar LETTERS = [\"\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\"];\nexport function calculateDimensions(cells) {\n var comparator = function comparator(a, b) {\n return a - b;\n };\n\n var allRows = cells.map(function (cell) {\n return cell.row;\n }).sort(comparator);\n var allCols = cells.map(function (cell) {\n return cell.column;\n }).sort(comparator);\n var minRow = allRows[0];\n var maxRow = allRows[allRows.length - 1];\n var minCol = allCols[0];\n var maxCol = allCols[allCols.length - 1];\n return [{\n row: minRow,\n column: minCol\n }, {\n row: maxRow,\n column: maxCol\n }];\n} // Converts a letter coordinate to a digit coordinate.\n// Examples: \"A\" -> 1, \"B\" -> 2, \"Z\" -> 26, \"AA\" -> 27, etc.\n\nfunction columnLettersToNumber(columnLetters) {\n // `for ... of ...` would require Babel polyfill for iterating a string.\n var n = 0;\n var i = 0;\n\n while (i < columnLetters.length) {\n n *= 26;\n n += LETTERS.indexOf(columnLetters[i]);\n i++;\n }\n\n return n;\n}\n\nexport function parseCellCoordinates(coords) {\n // Coordinate examples: \"AA2091\", \"R988\", \"B1\".\n coords = coords.split(/(\\d+)/);\n return [// Row.\n parseInt(coords[1]), // Column.\n columnLettersToNumber(coords[0].trim())];\n}\n//# sourceMappingURL=coordinates.js.map","import parseCellValue from './parseCellValue.js';\nimport { parseCellCoordinates } from './coordinates.js';\nimport { getCellValue, getCellInlineStringValue } from '../xml/xlsx.js';\nimport { getOuterXml } from '../xml/dom.js'; // Example of a ``ell element:\n//\n// \n// string — formula.\n// string — formula pre-computed value.\n// \n// string — an `inlineStr` string (rather than a \"common string\" from a dictionary).\n// \n// \n// ...\n// \n// string\n// \n// \n// string\n// \n// \n// \n// \n// \n// \n// \n// \n// \n//\n\nexport default function parseCell(node, sheet, xml, values, styles, properties, options) {\n var coords = parseCellCoordinates(node.getAttribute('r'));\n var valueElement = getCellValue(sheet, node); // For `xpath`, `value` can be `undefined` while for native `DOMParser` it's `null`.\n // So using `value && ...` instead of `if (value !== undefined) { ... }` here\n // for uniform compatibility with both `xpath` and native `DOMParser`.\n\n var value = valueElement && valueElement.textContent;\n var type;\n\n if (node.hasAttribute('t')) {\n type = node.getAttribute('t');\n }\n\n return {\n row: coords[0],\n column: coords[1],\n value: parseCellValue(value, type, {\n getInlineStringValue: function getInlineStringValue() {\n return getCellInlineStringValue(sheet, node);\n },\n getInlineStringXml: function getInlineStringXml() {\n return getOuterXml(node);\n },\n getStyleId: function getStyleId() {\n return node.getAttribute('s');\n },\n styles: styles,\n values: values,\n properties: properties,\n options: options\n })\n };\n}\n//# sourceMappingURL=parseCell.js.map","import parseCell from './parseCell.js';\nimport { getCells, getMergedCells } from '../xml/xlsx.js';\nexport default function parseCells(sheet, xml, values, styles, properties, options) {\n var cells = getCells(sheet);\n\n if (cells.length === 0) {\n return [];\n } // const mergedCells = getMergedCells(sheet)\n // for (const mergedCell of mergedCells) {\n // const [from, to] = mergedCell.split(':').map(parseCellCoordinates)\n // console.log('Merged Cell.', 'From:', from, 'To:', to)\n // }\n\n\n return cells.map(function (node) {\n return parseCell(node, sheet, xml, values, styles, properties, options);\n });\n}\n//# sourceMappingURL=parseCells.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { parseCellCoordinates } from './coordinates.js';\nimport { getDimensions } from '../xml/xlsx.js'; // `dimensions` defines the spreadsheet area containing all non-empty cells.\n// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sheetdimension?view=openxml-2.8.1\n\nexport default function parseDimensions(sheet) {\n var dimensions = getDimensions(sheet);\n\n if (dimensions) {\n dimensions = dimensions.split(':').map(parseCellCoordinates).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n row = _ref2[0],\n column = _ref2[1];\n\n return {\n row: row,\n column: column\n };\n }); // Sometimes there can be just a single cell as a spreadsheet's \"dimensions\".\n // For example, the default \"dimensions\" in Apache POI library is \"A1\",\n // meaning that only the first cell in the spreadsheet is used.\n //\n // A quote from Apache POI library:\n // \"Single cell ranges are formatted like single cell references (e.g. 'A1' instead of 'A1:A1').\"\n //\n\n if (dimensions.length === 1) {\n dimensions = [dimensions[0], dimensions[0]];\n }\n\n return dimensions;\n }\n}\n//# sourceMappingURL=parseDimensions.js.map","import parseCells from './parseCells.js';\nimport parseDimensions from './parseDimensions.js';\nimport { calculateDimensions } from './coordinates.js';\nexport default function parseSheet(content, xml, values, styles, properties, options) {\n var sheet = xml.createDocument(content);\n var cells = parseCells(sheet, xml, values, styles, properties, options); // `dimensions` defines the spreadsheet area containing all non-empty cells.\n // https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sheetdimension?view=openxml-2.8.1\n\n var dimensions = parseDimensions(sheet) || calculateDimensions(cells);\n return {\n cells: cells,\n dimensions: dimensions\n };\n}\n//# sourceMappingURL=parseSheet.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nexport default function dropEmptyRows(data) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n rowMap = _ref.rowMap,\n _ref$accessor = _ref.accessor,\n accessor = _ref$accessor === void 0 ? function (_) {\n return _;\n } : _ref$accessor,\n onlyTrimAtTheEnd = _ref.onlyTrimAtTheEnd;\n\n // Drop empty rows.\n var i = data.length - 1;\n\n while (i >= 0) {\n // Check if the row is empty.\n var empty = true;\n\n for (var _iterator = _createForOfIteratorHelperLoose(data[i]), _step; !(_step = _iterator()).done;) {\n var cell = _step.value;\n\n if (accessor(cell) !== null) {\n empty = false;\n break;\n }\n } // Remove the empty row.\n\n\n if (empty) {\n data.splice(i, 1);\n\n if (rowMap) {\n rowMap.splice(i, 1);\n }\n } else if (onlyTrimAtTheEnd) {\n break;\n }\n\n i--;\n }\n\n return data;\n}\n//# sourceMappingURL=dropEmptyRows.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nexport default function dropEmptyColumns(data) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$accessor = _ref.accessor,\n accessor = _ref$accessor === void 0 ? function (_) {\n return _;\n } : _ref$accessor,\n onlyTrimAtTheEnd = _ref.onlyTrimAtTheEnd;\n\n var i = data[0].length - 1;\n\n while (i >= 0) {\n var empty = true;\n\n for (var _iterator = _createForOfIteratorHelperLoose(data), _step; !(_step = _iterator()).done;) {\n var row = _step.value;\n\n if (accessor(row[i]) !== null) {\n empty = false;\n break;\n }\n }\n\n if (empty) {\n var j = 0;\n\n while (j < data.length) {\n data[j].splice(i, 1);\n j++;\n }\n } else if (onlyTrimAtTheEnd) {\n break;\n }\n\n i--;\n }\n\n return data;\n}\n//# sourceMappingURL=dropEmptyColumns.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport dropEmptyRows from './dropEmptyRows.js';\nimport dropEmptyColumns from './dropEmptyColumns.js';\nexport default function getData(sheet, options) {\n var dimensions = sheet.dimensions,\n cells = sheet.cells; // If the sheet is empty.\n\n if (cells.length === 0) {\n return [];\n }\n\n var _dimensions = _slicedToArray(dimensions, 2),\n leftTop = _dimensions[0],\n rightBottom = _dimensions[1]; // Don't discard empty rows or columns at the start.\n // https://github.com/catamphetamine/read-excel-file/issues/102\n // const colsCount = (rightBottom.column - leftTop.column) + 1\n // const rowsCount = (rightBottom.row - leftTop.row) + 1\n\n\n var colsCount = rightBottom.column;\n var rowsCount = rightBottom.row; // Initialize spreadsheet data structure.\n\n var data = new Array(rowsCount);\n var i = 0;\n\n while (i < rowsCount) {\n data[i] = new Array(colsCount);\n var j = 0;\n\n while (j < colsCount) {\n data[i][j] = null;\n j++;\n }\n\n i++;\n } // Fill in spreadsheet `data`.\n // (this code implies that `cells` aren't necessarily sorted by row and column:\n // maybe that's not correct, this piece code was initially copy-pasted\n // from some other library that used `XPath`)\n\n\n for (var _iterator = _createForOfIteratorHelperLoose(cells), _step; !(_step = _iterator()).done;) {\n var cell = _step.value;\n // Don't discard empty rows or columns at the start.\n // https://github.com/catamphetamine/read-excel-file/issues/102\n // const rowIndex = cell.row - leftTop.row\n // const columnIndex = cell.column - leftTop.column\n var rowIndex = cell.row - 1;\n var columnIndex = cell.column - 1; // Ignore the data in the cell if it's outside of the spreadsheet's \"dimensions\".\n\n if (columnIndex < colsCount && rowIndex < rowsCount) {\n data[rowIndex][columnIndex] = cell.value;\n }\n } // Fill in the row map.\n\n\n var rowMap = options.rowMap;\n\n if (rowMap) {\n var _i2 = 0;\n\n while (_i2 < data.length) {\n rowMap[_i2] = _i2;\n _i2++;\n }\n } // Drop empty columns or rows.\n\n\n data = dropEmptyRows(dropEmptyColumns(data, {\n onlyTrimAtTheEnd: true\n }), {\n onlyTrimAtTheEnd: true,\n rowMap: rowMap\n }); // Optionally transform data before applying `schema`.\n\n if (options.transformData) {\n data = options.transformData(data); // data = options.transformData(data, {\n // dropEmptyRowsAndColumns(data) {\n // return dropEmptyRows(dropEmptyColumns(data), { rowMap })\n // }\n // })\n }\n\n return data;\n}\n//# sourceMappingURL=getData.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parseProperties from './parseProperties.js';\nimport parseFilePaths from './parseFilePaths.js';\nimport parseStyles from './parseStyles.js';\nimport parseSharedStrings from './parseSharedStrings.js';\nimport parseSheet from './parseSheet.js';\nimport getData from './getData.js'; // For an introduction in reading `*.xlsx` files see \"The minimum viable XLSX reader\":\n// https://www.brendanlong.com/the-minimum-viable-xlsx-reader.html\n\n/**\r\n * Reads an (unzipped) XLSX file structure into a 2D array of cells.\r\n * @param {object} contents - A list of XML files inside XLSX file (which is a zipped directory).\r\n * @param {number?} options.sheet - Workbook sheet id (`1` by default).\r\n * @param {string?} options.dateFormat - Date format, e.g. \"mm/dd/yyyy\". Values having this format template set will be parsed as dates.\r\n * @param {object} contents - A list of XML files inside XLSX file (which is a zipped directory).\r\n * @return {object} An object of shape `{ data, cells, properties }`. `data: string[][]` is an array of rows, each row being an array of cell values. `cells: string[][]` is an array of rows, each row being an array of cells. `properties: object` is the spreadsheet properties (e.g. whether date epoch is 1904 instead of 1900).\r\n */\n\nexport default function readXlsx(contents, xml) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!options.sheet) {\n options = _objectSpread({\n sheet: 1\n }, options);\n }\n\n var getXmlFileContent = function getXmlFileContent(filePath) {\n if (!contents[filePath]) {\n throw new Error(\"\\\"\".concat(filePath, \"\\\" file not found inside the *.xlsx file zip archive\"));\n }\n\n return contents[filePath];\n }; // Some Excel editors don't want to use standard naming scheme for sheet files.\n // https://github.com/tidyverse/readxl/issues/104\n\n\n var filePaths = parseFilePaths(getXmlFileContent('xl/_rels/workbook.xml.rels'), xml); // Default file path for \"shared strings\": \"xl/sharedStrings.xml\".\n\n var values = filePaths.sharedStrings ? parseSharedStrings(getXmlFileContent(filePaths.sharedStrings), xml) : []; // Default file path for \"styles\": \"xl/styles.xml\".\n\n var styles = filePaths.styles ? parseStyles(getXmlFileContent(filePaths.styles), xml) : {};\n var properties = parseProperties(getXmlFileContent('xl/workbook.xml'), xml); // A feature for getting the list of sheets in an Excel file.\n // https://github.com/catamphetamine/read-excel-file/issues/14\n\n if (options.getSheets) {\n return properties.sheets.map(function (_ref) {\n var name = _ref.name;\n return {\n name: name\n };\n });\n } // Find the sheet by name, or take the first one.\n\n\n var sheetId = getSheetId(options.sheet, properties.sheets); // If the sheet wasn't found then throw an error.\n // Example: \"xl/worksheets/sheet1.xml\".\n\n if (!sheetId || !filePaths.sheets[sheetId]) {\n throw createSheetNotFoundError(options.sheet, properties.sheets);\n } // Parse sheet data.\n\n\n var sheet = parseSheet(getXmlFileContent(filePaths.sheets[sheetId]), xml, values, styles, properties, options); // Get spreadsheet data.\n\n var data = getData(sheet, options); // Can return properties, if required.\n\n if (options.properties) {\n return {\n data: data,\n properties: properties\n };\n } // Return spreadsheet data.\n\n\n return data;\n}\n\nfunction getSheetId(sheet, sheets) {\n if (typeof sheet === 'number') {\n var _sheet = sheets[sheet - 1];\n return _sheet && _sheet.relationId;\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(sheets), _step; !(_step = _iterator()).done;) {\n var _sheet2 = _step.value;\n\n if (_sheet2.name === sheet) {\n return _sheet2.relationId;\n }\n }\n}\n\nfunction createSheetNotFoundError(sheet, sheets) {\n var sheetsList = sheets && sheets.map(function (sheet, i) {\n return \"\\\"\".concat(sheet.name, \"\\\" (#\").concat(i + 1, \")\");\n }).join(', ');\n return new Error(\"Sheet \".concat(typeof sheet === 'number' ? '#' + sheet : '\"' + sheet + '\"', \" not found in the *.xlsx file.\").concat(sheets ? ' Available sheets: ' + sheetsList + '.' : ''));\n}\n//# sourceMappingURL=readXlsx.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar InvalidError = /*#__PURE__*/function (_Error) {\n _inherits(InvalidError, _Error);\n\n var _super = _createSuper(InvalidError);\n\n function InvalidError(reason) {\n var _this;\n\n _classCallCheck(this, InvalidError);\n\n _this = _super.call(this, 'invalid');\n _this.reason = reason;\n return _this;\n }\n\n return _createClass(InvalidError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexport { InvalidError as default };\n//# sourceMappingURL=InvalidError.js.map","import InvalidError from './InvalidError.js';\nexport default function NumberType(value) {\n // An XLSX file editing software might not always correctly\n // detect numeric values in string-type cells. Users won't bother\n // manually selecting a cell type, so the editing software has to guess\n // based on the user's input. One can assume that such auto-detection\n // might not always work.\n //\n // So, if a cell is supposed to be a numeric one, convert a string value to a number.\n //\n if (typeof value === 'string') {\n var stringifiedValue = value;\n value = Number(value);\n\n if (String(value) !== stringifiedValue) {\n throw new InvalidError('not_a_number');\n }\n }\n\n if (typeof value !== 'number') {\n throw new InvalidError('not_a_number');\n }\n\n if (isNaN(value)) {\n throw new InvalidError('invalid_number');\n } // At this point, `value` can only be a number.\n //\n // The global `isFinite()` function filters out:\n // * NaN\n // * -Infinity\n // * Infinity\n //\n // All other values pass (including non-numbers).\n //\n\n\n if (!isFinite(value)) {\n throw new InvalidError('out_of_bounds');\n }\n\n return value;\n}\n//# sourceMappingURL=Number.js.map","import InvalidError from './InvalidError.js';\nexport default function StringType(value) {\n if (typeof value === 'string') {\n return value;\n } // Excel tends to perform a forced automatic convertion of string-type values\n // to number-type ones when the user has input them. Otherwise, users wouldn't\n // be able to perform formula calculations on those cell values because users\n // won't bother manually choosing a \"numeric\" cell type for each cell, and\n // even if they did, choosing a \"numeric\" cell type every time wouldn't be an\n // acceptable \"user experience\".\n //\n // So, if a cell value is supposed to be a string and Excel has automatically\n // converted it to a number, perform a backwards conversion.\n //\n\n\n if (typeof value === 'number') {\n if (isNaN(value)) {\n throw new InvalidError('invalid_number');\n } // The global `isFinite()` function filters out:\n // * NaN\n // * -Infinity\n // * Infinity\n //\n // All other values pass (including non-numbers).\n //\n\n\n if (!isFinite(value)) {\n throw new InvalidError('out_of_bounds');\n }\n\n return String(value);\n }\n\n throw new InvalidError('not_a_string');\n}\n//# sourceMappingURL=String.js.map","import InvalidError from './InvalidError.js';\nexport default function BooleanType(value) {\n if (typeof value === 'boolean') {\n return value;\n }\n\n throw new InvalidError('not_a_boolean');\n}\n//# sourceMappingURL=Boolean.js.map","import parseDate from '../read/parseDate.js';\nimport InvalidError from './InvalidError.js';\nexport default function DateType(value, _ref) {\n var properties = _ref.properties;\n\n // XLSX has no specific format for dates.\n // Sometimes a date can be heuristically detected.\n // https://github.com/catamphetamine/read-excel-file/issues/3#issuecomment-395770777\n if (value instanceof Date) {\n if (isNaN(value.valueOf())) {\n throw new InvalidError('out_of_bounds');\n }\n\n return value;\n }\n\n if (typeof value === 'number') {\n if (isNaN(value)) {\n throw new InvalidError('invalid_number');\n }\n\n if (!isFinite(value)) {\n throw new InvalidError('out_of_bounds');\n }\n\n var date = parseDate(value, properties);\n\n if (isNaN(date.valueOf())) {\n throw new InvalidError('out_of_bounds');\n }\n\n return date;\n }\n\n throw new InvalidError('not_a_date');\n}\n//# sourceMappingURL=Date.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport NumberType from '../../types/Number.js';\nimport StringType from '../../types/String.js';\nimport BooleanType from '../../types/Boolean.js';\nimport DateType from '../../types/Date.js';\nvar DEFAULT_OPTIONS = {\n isColumnOriented: false\n};\n/**\r\n * Convert 2D array to nested objects.\r\n * If row oriented data, row 0 is dotted key names.\r\n * Column oriented data is transposed.\r\n * @param {any[][]} data - An array of rows, each row being an array of cells.\r\n * @param {object} schema\r\n * @return {object[]}\r\n */\n\nexport default function (data, schema, options) {\n if (options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n var _options = options,\n isColumnOriented = _options.isColumnOriented,\n rowMap = _options.rowMap,\n ignoreEmptyRows = _options.ignoreEmptyRows;\n validateSchema(schema);\n\n if (isColumnOriented) {\n data = transpose(data);\n }\n\n var columns = data[0];\n var results = [];\n var errors = [];\n\n for (var i = 1; i < data.length; i++) {\n var result = read(schema, data[i], i, columns, errors, options);\n\n if (result !== null || ignoreEmptyRows === false) {\n results.push(result);\n }\n } // Correct error rows.\n\n\n if (rowMap) {\n for (var _iterator = _createForOfIteratorHelperLoose(errors), _step; !(_step = _iterator()).done;) {\n var error = _step.value;\n // Convert the `row` index in `data` to the\n // actual `row` index in the spreadsheet.\n // `- 1` converts row number to row index.\n // `+ 1` converts row index to row number.\n error.row = rowMap[error.row - 1] + 1;\n }\n }\n\n return {\n rows: results,\n errors: errors\n };\n}\n\nfunction read(schema, row, rowIndex, columns, errors, options) {\n var object = {};\n var isEmptyObject = true;\n\n var _loop = function _loop() {\n var key = _Object$keys[_i];\n var schemaEntry = schema[key];\n var isNestedSchema = _typeof(schemaEntry.type) === 'object' && !Array.isArray(schemaEntry.type);\n var rawValue = row[columns.indexOf(key)];\n\n if (rawValue === undefined) {\n rawValue = null;\n }\n\n var value = void 0;\n var error = void 0;\n var reason = void 0;\n\n if (isNestedSchema) {\n value = read(schemaEntry.type, row, rowIndex, columns, errors, options);\n } else {\n if (rawValue === null) {\n value = null;\n } else if (Array.isArray(schemaEntry.type)) {\n var notEmpty = false;\n var array = parseArray(rawValue).map(function (_value) {\n var result = parseValue(_value, schemaEntry, options);\n\n if (result.error) {\n value = _value;\n error = result.error;\n reason = result.reason;\n }\n\n if (result.value !== null) {\n notEmpty = true;\n }\n\n return result.value;\n });\n\n if (!error) {\n value = notEmpty ? array : null;\n }\n } else {\n var result = parseValue(rawValue, schemaEntry, options);\n error = result.error;\n reason = result.reason;\n value = error ? rawValue : result.value;\n }\n }\n\n if (!error && value === null && schemaEntry.required) {\n error = 'required';\n }\n\n if (error) {\n error = {\n error: error,\n row: rowIndex + 1,\n column: key,\n value: value\n };\n\n if (reason) {\n error.reason = reason;\n }\n\n if (schemaEntry.type) {\n error.type = schemaEntry.type;\n }\n\n errors.push(error);\n } else {\n if (isEmptyObject && value !== null) {\n isEmptyObject = false;\n }\n\n if (value !== null || options.includeNullValues) {\n object[schemaEntry.prop] = value;\n }\n }\n };\n\n for (var _i = 0, _Object$keys = Object.keys(schema); _i < _Object$keys.length; _i++) {\n _loop();\n }\n\n if (isEmptyObject) {\n return null;\n }\n\n return object;\n}\n/**\r\n * Converts textual value to a javascript typed value.\r\n * @param {any} value\r\n * @param {object} schemaEntry\r\n * @return {{ value: any, error: string }}\r\n */\n\n\nexport function parseValue(value, schemaEntry, options) {\n if (value === null) {\n return {\n value: null\n };\n }\n\n var result;\n\n if (schemaEntry.parse) {\n result = parseCustomValue(value, schemaEntry.parse);\n } else if (schemaEntry.type) {\n result = parseValueOfType(value, // Supports parsing array types.\n // See `parseArray()` function for more details.\n // Example `type`: String[]\n // Input: 'Barack Obama, \"String, with, colons\", Donald Trump'\n // Output: ['Barack Obama', 'String, with, colons', 'Donald Trump']\n Array.isArray(schemaEntry.type) ? schemaEntry.type[0] : schemaEntry.type, options);\n } else {\n result = {\n value: value\n }; // throw new Error('Invalid schema entry: no .type and no .parse():\\n\\n' + JSON.stringify(schemaEntry, null, 2))\n } // If errored then return the error.\n\n\n if (result.error) {\n return result;\n }\n\n if (result.value !== null) {\n if (schemaEntry.oneOf && schemaEntry.oneOf.indexOf(result.value) < 0) {\n return {\n error: 'invalid',\n reason: 'unknown'\n };\n }\n\n if (schemaEntry.validate) {\n try {\n schemaEntry.validate(result.value);\n } catch (error) {\n return {\n error: error.message\n };\n }\n }\n }\n\n return result;\n}\n/**\r\n * Converts textual value to a custom value using supplied `.parse()`.\r\n * @param {any} value\r\n * @param {function} parse\r\n * @return {{ value: any, error: string }}\r\n */\n\nfunction parseCustomValue(value, parse) {\n try {\n value = parse(value);\n\n if (value === undefined) {\n return {\n value: null\n };\n }\n\n return {\n value: value\n };\n } catch (error) {\n var result = {\n error: error.message\n };\n\n if (error.reason) {\n result.reason = error.reason;\n }\n\n return result;\n }\n}\n/**\r\n * Converts textual value to a javascript typed value.\r\n * @param {any} value\r\n * @param {} type\r\n * @return {{ value: (string|number|Date|boolean), error: string, reason?: string }}\r\n */\n\n\nfunction parseValueOfType(value, type, options) {\n switch (type) {\n case String:\n return parseCustomValue(value, StringType);\n\n case Number:\n return parseCustomValue(value, NumberType);\n\n case Date:\n return parseCustomValue(value, function (value) {\n return DateType(value, {\n properties: options.properties\n });\n });\n\n case Boolean:\n return parseCustomValue(value, BooleanType);\n\n default:\n if (typeof type === 'function') {\n return parseCustomValue(value, type);\n }\n\n throw new Error(\"Unsupported schema type: \".concat(type && type.name || type));\n }\n}\n\nexport function getBlock(string, endCharacter, startIndex) {\n var i = 0;\n var substring = '';\n var character;\n\n while (startIndex + i < string.length) {\n var _character = string[startIndex + i];\n\n if (_character === endCharacter) {\n return [substring, i];\n } else if (_character === '\"') {\n var block = getBlock(string, '\"', startIndex + i + 1);\n substring += block[0];\n i += '\"'.length + block[1] + '\"'.length;\n } else {\n substring += _character;\n i++;\n }\n }\n\n return [substring, i];\n}\n/**\r\n * Parses a string of comma-separated substrings into an array of substrings.\r\n * (the `export` is just for tests)\r\n * @param {string} string — A string of comma-separated substrings.\r\n * @return {string[]} An array of substrings.\r\n */\n\nexport function parseArray(string) {\n var blocks = [];\n var index = 0;\n\n while (index < string.length) {\n var _getBlock = getBlock(string, ',', index),\n _getBlock2 = _slicedToArray(_getBlock, 2),\n substring = _getBlock2[0],\n length = _getBlock2[1];\n\n index += length + ','.length;\n blocks.push(substring.trim());\n }\n\n return blocks;\n} // Transpose a 2D array.\n// https://stackoverflow.com/questions/17428587/transposing-a-2d-array-in-javascript\n\nvar transpose = function transpose(array) {\n return array[0].map(function (_, i) {\n return array.map(function (row) {\n return row[i];\n });\n });\n};\n\nfunction validateSchema(schema) {\n for (var _i2 = 0, _Object$keys2 = Object.keys(schema); _i2 < _Object$keys2.length; _i2++) {\n var key = _Object$keys2[_i2];\n var entry = schema[key];\n\n if (!entry.prop) {\n throw new Error(\"\\\"prop\\\" not defined for schema entry \\\"\".concat(key, \"\\\".\"));\n }\n }\n}\n//# sourceMappingURL=convertToJson.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nexport default function convertMapToSchema(map) {\n var schema = {};\n\n for (var _i = 0, _Object$keys = Object.keys(map); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n var prop = map[key];\n var type = void 0;\n\n if (_typeof(prop) === 'object') {\n prop = Object.keys(map[key])[0];\n type = convertMapToSchema(map[key][prop]);\n }\n\n schema[key] = {\n prop: prop\n };\n\n if (type) {\n schema[key].type = type;\n }\n }\n\n return schema;\n}\n//# sourceMappingURL=convertMapToSchema.js.map","var _excluded = [\"schema\", \"map\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport readXlsx from './readXlsx.js';\nimport convertToJson from './schema/convertToJson.js';\nimport convertMapToSchema from './schema/convertMapToSchema.js';\nexport default function readXlsxFileContents(entries, xml, _ref) {\n var schema = _ref.schema,\n map = _ref.map,\n options = _objectWithoutProperties(_ref, _excluded);\n\n if (!schema && map) {\n schema = convertMapToSchema(map);\n }\n\n var result = readXlsx(entries, xml, _objectSpread(_objectSpread({}, options), {}, {\n properties: schema || options.properties\n }));\n\n if (schema) {\n return convertToJson(result.data, schema, _objectSpread(_objectSpread({}, options), {}, {\n properties: result.properties\n }));\n }\n\n return result;\n}\n//# sourceMappingURL=readXlsxFileContents.js.map","import xml from '../xml/xmlBrowser.js';\nimport unpackXlsxFile from './unpackXlsxFileBrowser.js';\nimport readXlsxFileContents from './readXlsxFileContents.js';\n/**\r\n * Reads XLSX file into a 2D array of cells in a browser.\r\n * @param {file} file - A file being uploaded in the browser.\r\n * @param {object?} options\r\n * @param {(number|string)?} options.sheet - Excel document sheet to read. Defaults to `1`. Will only read this sheet and skip others.\r\n * @return {Promise} Resolves to a 2D array of cells: an array of rows, each row being an array of cells.\r\n */\n\nexport default function readXlsxFile(file) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return unpackXlsxFile(file).then(function (entries) {\n return readXlsxFileContents(entries, xml, options);\n });\n}\n//# sourceMappingURL=readXlsxFileBrowser.js.map","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./masiva.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./masiva.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./masiva.vue?vue&type=template&id=64233106&scoped=true&\"\nimport script from \"./masiva.vue?vue&type=script&lang=js&\"\nexport * from \"./masiva.vue?vue&type=script&lang=js&\"\nimport style0 from \"./masiva.vue?vue&type=style&index=0&id=64233106&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"64233106\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}