{"version":3,"sources":["webpack:///./src/assets/img/log/1.png","webpack:///./src/assets/img/log/2.png","webpack:///./src/views/back/cloud/Activation.vue?a0cd","webpack:///src/views/back/cloud/Activation.vue","webpack:///./src/views/back/cloud/Activation.vue?7b0f","webpack:///./src/views/back/cloud/Activation.vue","webpack:///./src/views/back/license/P2PCode.vue?3f64","webpack:///./src/views/back/test/TestDevice.vue?711f","webpack:///src/views/back/test/TestDevice.vue","webpack:///./src/views/back/test/TestDevice.vue?d3c7","webpack:///./src/views/back/test/TestDevice.vue","webpack:///./src/views/back/cloud/OssCharts.vue?076e","webpack:///src/views/back/cloud/OssCharts.vue","webpack:///./src/views/back/cloud/OssCharts.vue?314f","webpack:///./src/views/back/cloud/OssCharts.vue","webpack:///./src/views/cust/GuestAnaly.vue?2bc8","webpack:///src/views/cust/GuestAnaly.vue","webpack:///./src/views/cust/GuestAnaly.vue?7ec4","webpack:///./src/views/cust/GuestAnaly.vue","webpack:///./src/views/common/cloneValue.js","webpack:///./src/views/back/monitor/Mongo.vue?b812","webpack:///./src/views/cust/GuestComplaint.vue?2245","webpack:///./src/views/back/monitor/P2PServer.vue?d6d6","webpack:///src/views/back/monitor/P2PServer.vue","webpack:///./src/views/back/monitor/P2PServer.vue?7d20","webpack:///./src/views/back/monitor/P2PServer.vue","webpack:///./src/utils/watermark.js","webpack:///./src/views/back/operation/GrayPublish.vue?271b","webpack:///./src/views/back/extend/PictureDetail.vue?6820","webpack:///./src/views/back/monitor/Redis.vue?417a","webpack:///src/views/back/monitor/Redis.vue","webpack:///./src/views/back/monitor/Redis.vue?86eb","webpack:///./src/views/back/monitor/Redis.vue","webpack:///./src/views/back/operation/FeedbackCharts.vue?a953","webpack:///./src/views/back/extend/Country.vue?c06a","webpack:///src/views/back/extend/Country.vue","webpack:///./src/views/back/extend/Country.vue?3943","webpack:///./src/views/back/extend/Country.vue","webpack:///./src/views/back/stat/StatUser.vue?6d94","webpack:///./src/views/back/operation/GrayPublish.vue?8dd2","webpack:///src/views/back/operation/GrayPublish.vue","webpack:///./src/views/back/operation/GrayPublish.vue?9940","webpack:///./src/views/back/operation/GrayPublish.vue","webpack:///./src/views/back/cloud/OssCharts.vue?9ed8","webpack:///./src/views/back/operation/FeedbackCharts.vue?e119","webpack:///src/views/back/operation/FeedbackCharts.vue","webpack:///./src/views/back/operation/FeedbackCharts.vue?b1eb","webpack:///./src/views/back/operation/FeedbackCharts.vue","webpack:///./src/views/back/license/P2PCode.vue?ee91","webpack:///src/views/back/license/P2PCode.vue","webpack:///./src/views/back/license/P2PCode.vue?0a63","webpack:///./src/views/back/license/P2PCode.vue","webpack:///./src/views/back/cloud/Package.vue?1713","webpack:///src/views/back/cloud/Package.vue","webpack:///./src/views/back/cloud/Package.vue?d8c5","webpack:///./src/views/back/cloud/Package.vue","webpack:///./node_modules/_file-saver@2.0.5@file-saver/dist/FileSaver.min.js","webpack:///./src/views/back/extend/GrayRelease.vue?53c8","webpack:///./src/views/cust/GuestComplaint.vue?7103","webpack:///src/views/cust/GuestComplaint.vue","webpack:///./src/views/cust/GuestComplaint.vue?4141","webpack:///./src/views/cust/GuestComplaint.vue","webpack:///./node_modules/_base64-js@1.5.1@base64-js/index.js","webpack:///./src/views/back/monitor/BusinessServer.vue?5fab","webpack:///src/views/back/monitor/BusinessServer.vue","webpack:///./src/views/back/monitor/BusinessServer.vue?5a7f","webpack:///./src/views/back/monitor/BusinessServer.vue","webpack:///./src/views/back/extend/Icon.vue?66a5","webpack:///src/views/back/extend/Icon.vue","webpack:///./src/views/back/extend/Icon.vue?864d","webpack:///./src/views/back/extend/Icon.vue","webpack:///./src/views/cust/GuestList.vue?7c95","webpack:///./src/views/back/extend/Awox.vue?dbe2","webpack:///./src/views/back/monitor/Dubbo.vue?51c9","webpack:///./src/views/back/license/Packing.vue?422b","webpack:///./src/views/back/extend/Upload.vue?0ad5","webpack:///src/views/back/extend/Upload.vue","webpack:///./src/views/back/extend/Upload.vue?8cdd","webpack:///./src/views/back/extend/Upload.vue","webpack:///./src/views/back/cloud/Order.vue?784e","webpack:///src/views/back/cloud/Order.vue","webpack:///./src/views/back/cloud/Order.vue?57c6","webpack:///./src/views/back/cloud/Order.vue","webpack:///./node_modules/_inherits@2.0.3@inherits/inherits_browser.js","webpack:///./src/views/back/operation/FeedbackList.vue?e538","webpack:///./src/views/back/license/ThirdLicenseConflictList.vue?4d23","webpack:///src/views/back/license/ThirdLicenseConflictList.vue","webpack:///./src/views/back/license/ThirdLicenseConflictList.vue?b6a2","webpack:///./src/views/back/license/ThirdLicenseConflictList.vue","webpack:///./node_modules/_util@0.11.1@util/util.js","webpack:///./src/views/back/operation/FeedbackList.vue?1a25","webpack:///src/views/back/operation/FeedbackList.vue","webpack:///./src/views/back/operation/FeedbackList.vue?a75d","webpack:///./src/views/back/operation/FeedbackList.vue","webpack:///./src/views/back/log/ServerLogTable.vue?5844","webpack:///src/views/back/log/ServerLogTable.vue","webpack:///./src/views/back/log/ServerLogTable.vue?8b26","webpack:///./src/views/back/log/ServerLogTable.vue","webpack:///./src/views/back/extend/PictureDetail.vue?1198","webpack:///src/views/back/extend/PictureDetail.vue","webpack:///./src/views/back/extend/PictureDetail.vue?f0bd","webpack:///./src/views/back/extend/PictureDetail.vue","webpack:///./src/views/back/operation/AppPublish.vue?a674","webpack:///./node_modules/_isarray@1.0.0@isarray/index.js","webpack:///./src/views/back/test/TestApp.vue?40d0","webpack:///src/views/back/test/TestApp.vue","webpack:///./src/views/back/test/TestApp.vue?0b9c","webpack:///./src/views/back/test/TestApp.vue","webpack:///./node_modules/_xlsx@0.15.6@xlsx/dist/cpexcel.js","webpack:///./src/views/back/stat/StatAppFeedback.vue?cb76","webpack:///./src/views/back/cloud/Income.vue?31a1","webpack:///src/views/back/cloud/Income.vue","webpack:///./src/views/back/cloud/Income.vue?c698","webpack:///./src/views/back/cloud/Income.vue","webpack:///./src/views/back/stat/StatDevice.vue?7cba","webpack:///./src/views/back/extend/PictureTypeList.vue?59eb","webpack:///./src/views/back/log/AppCrash.vue?ef56","webpack:///src/views/back/log/AppCrash.vue","webpack:///./src/views/back/log/AppCrash.vue?862e","webpack:///./src/views/back/log/AppCrash.vue","webpack:///./src/views/back/stat/StatUserFeedback.vue?ba24","webpack:///./src/views/back/operation/DevicePublish.vue?e6d1","webpack:///./src/views/back/license/ThirdLicenseList.vue?8d19","webpack:///src/views/back/license/ThirdLicenseList.vue","webpack:///./src/views/back/license/ThirdLicenseList.vue?6371","webpack:///./src/views/back/license/ThirdLicenseList.vue","webpack:///./src/views/back/extend/Awox.vue?e8e3","webpack:///src/views/back/extend/Awox.vue","webpack:///./src/views/back/extend/Awox.vue?9ea6","webpack:///./src/views/back/extend/Awox.vue","webpack:///./src/views/back/operation/DeviceDetail.vue?8b7b","webpack:///src/views/back/operation/DeviceDetail.vue","webpack:///./src/views/back/operation/DeviceDetail.vue?2acc","webpack:///./src/views/back/operation/DeviceDetail.vue","webpack:///./src/views/back/extend/AppConfigUrlChoise.vue?85ad","webpack:///src/views/back/extend/AppConfigUrlChoise.vue","webpack:///./src/views/back/extend/AppConfigUrlChoise.vue?7b93","webpack:///./src/views/back/extend/AppConfigUrlChoise.vue","webpack:///./src/views/back/stat/StatUserFeedback.vue?cf09","webpack:///src/views/back/stat/StatUserFeedback.vue","webpack:///./src/views/back/stat/StatUserFeedback.vue?d6f1","webpack:///./src/views/back/stat/StatUserFeedback.vue","webpack:///./src/views/back/stat/StatProductFeedback.vue?c2ec","webpack:///./src/views/back/monitor/Redis.vue?1286","webpack:///./src/views/back/log/AppBuriedPoint.vue?d2f4","webpack:///src/views/back/log/AppBuriedPoint.vue","webpack:///./src/views/back/log/AppBuriedPoint.vue?584a","webpack:///./src/views/back/log/AppBuriedPoint.vue","webpack:///./src/views/cust/CommonWords.vue?dc31","webpack:///./src/views/back/operation/DeviceList.vue?0feb","webpack:///src/views/back/operation/DeviceList.vue","webpack:///./src/views/back/operation/DeviceList.vue?15f9","webpack:///./src/views/back/operation/DeviceList.vue","webpack:///./src/views/back/operation/DeviceDetail.vue?d95a","webpack:///./src/views/back/stat/LicenseList.vue?605d","webpack:///src/views/back/stat/LicenseList.vue","webpack:///./src/views/back/stat/LicenseList.vue?54b0","webpack:///./src/views/back/stat/LicenseList.vue","webpack:///./src/views/back/extend/FeedbackStandardList.vue?172e","webpack:///src/views/back/extend/FeedbackStandardList.vue","webpack:///./src/views/back/extend/FeedbackStandardList.vue?f35b","webpack:///./src/views/back/extend/FeedbackStandardList.vue","webpack:///./src/views/back/log/ServerLog.vue?1cd1","webpack:///src/views/back/log/ServerLog.vue","webpack:///./src/views/back/log/ServerLog.vue?eb89","webpack:///./src/views/back/log/ServerLog.vue","webpack:///./src/views/back/cloud/OrderCharts.vue?d4fc","webpack:///./src/views/back/cloud/CloudRefund.vue?a65f","webpack:///src/views/back/cloud/CloudRefund.vue","webpack:///./src/views/back/cloud/CloudRefund.vue?638b","webpack:///./src/views/back/cloud/CloudRefund.vue","webpack:///./src/views/back/monitor/Dubbo.vue?dbfc","webpack:///src/views/back/monitor/Dubbo.vue","webpack:///./src/views/back/monitor/Dubbo.vue?a479","webpack:///./src/views/back/monitor/Dubbo.vue","webpack:///./src/views/back/account/AccountList.vue?f8cc","webpack:///src/views/back/account/AccountList.vue","webpack:///./src/views/back/account/AccountList.vue?19a5","webpack:///./src/views/back/account/AccountList.vue","webpack:///./src/views/back/stat/StatAddress.vue?f573","webpack:///src/views/back/stat/StatAddress.vue","webpack:///./src/views/back/stat/StatAddress.vue?4d87","webpack:///./src/views/back/stat/StatAddress.vue","webpack:///./src/views/back/license/LicenseRecycleList.vue?b2f5","webpack:///src/views/back/license/LicenseRecycleList.vue","webpack:///./src/views/back/license/LicenseRecycleList.vue?46da","webpack:///./src/views/back/license/LicenseRecycleList.vue","webpack:///./src/views/back/operation/DeviceShadow.vue?b91f","webpack:///src/views/back/operation/DeviceShadow.vue","webpack:///./src/views/back/operation/DeviceShadow.vue?c05d","webpack:///./src/views/back/operation/DeviceShadow.vue","webpack:///./src/views/back/extend/TwoWayConfig.vue?9200","webpack:///./src/views/back/license/Packing.vue?0c75","webpack:///src/views/back/license/Packing.vue","webpack:///./src/views/back/license/Packing.vue?213e","webpack:///./src/views/back/license/Packing.vue","webpack:///./src/views/back/license/DataImport.vue?c1de","webpack:///src/views/back/license/DataImport.vue","webpack:///./src/views/back/license/DataImport.vue?eb55","webpack:///./src/views/back/license/DataImport.vue","webpack:///./src/views/back/operation/AppPublish.vue?6e62","webpack:///src/views/back/operation/AppPublish.vue","webpack:///./src/views/back/operation/AppPublish.vue?c323","webpack:///./src/views/back/operation/AppPublish.vue","webpack:///./src/views/back/account/AccountGroup.vue?f5c2","webpack:///src/views/back/account/AccountGroup.vue","webpack:///./src/views/back/account/AccountGroup.vue?613f","webpack:///./src/views/back/account/AccountGroup.vue","webpack:///./src/views/back/extend/PPSInternational.vue?7318","webpack:///./src/views/cust/CommonWords.vue?8ec7","webpack:///src/views/cust/CommonWords.vue","webpack:///./src/views/cust/CommonWords.vue?a691","webpack:///./src/views/cust/CommonWords.vue","webpack:///./src/views/back/operation/FeedbackContent.vue?6cad","webpack:///src/views/back/operation/FeedbackContent.vue","webpack:///./src/views/back/operation/FeedbackContent.vue?c325","webpack:///./src/views/back/operation/FeedbackContent.vue","webpack:///./src/views/back/operation/DeviceShadow.vue?e58a","webpack:///./src/views/back/account/ProjectList.vue?3ba1","webpack:///src/views/back/account/ProjectList.vue","webpack:///./src/views/back/account/ProjectList.vue?53b7","webpack:///./src/views/back/account/ProjectList.vue","webpack:///./src/views/back/operation/DeviceUnbind.vue?7078","webpack:///src/views/back/operation/DeviceUnbind.vue","webpack:///./src/views/back/operation/DeviceUnbind.vue?f3b9","webpack:///./src/views/back/operation/DeviceUnbind.vue","webpack:///./src/views/back/test/TestP2p.vue?1c2a","webpack:///src/views/back/test/TestP2p.vue","webpack:///./src/views/back/test/TestP2p.vue?8310","webpack:///./src/views/back/test/TestP2p.vue","webpack:///./src/views/back/extend/PPSInternational.vue?0078","webpack:///src/views/back/extend/PPSInternational.vue","webpack:///./src/views/back/extend/PPSInternational.vue?b725","webpack:///./src/views/back/extend/PPSInternational.vue","webpack:///./src/views/back/cloud/OrderCharts.vue?70a1","webpack:///src/views/back/cloud/OrderCharts.vue","webpack:///./src/views/back/cloud/OrderCharts.vue?360d","webpack:///./src/views/back/cloud/OrderCharts.vue","webpack:///./src/views/back/cloud/Package.vue?2e44","webpack:///./src/views/back/stat/StatUser.vue?bd9a","webpack:///src/views/back/stat/StatUser.vue","webpack:///./src/views/back/stat/StatUser.vue?3556","webpack:///./src/views/back/stat/StatUser.vue","webpack:///./src/views/back/stat/StatAppFeedback.vue?6f22","webpack:///src/views/back/stat/StatAppFeedback.vue","webpack:///./src/views/back/stat/StatAppFeedback.vue?2198","webpack:///./src/views/back/stat/StatAppFeedback.vue","webpack:///./src/views/back/operation/DeviceList.vue?cea9","webpack:///./src/views/back/extend/GrayRelease.vue?3a52","webpack:///src/views/back/extend/GrayRelease.vue","webpack:///./src/views/back/extend/GrayRelease.vue?d46b","webpack:///./src/views/back/extend/GrayRelease.vue","webpack:///./src/views/cust/GuestList.vue?5452","webpack:///src/views/cust/GuestList.vue","webpack:///./src/views/cust/GuestList.vue?d3b7","webpack:///./src/views/cust/GuestList.vue","webpack:///./src/views/cust/GuestWorkOrder.vue?dca5","webpack:///src/views/cust/GuestWorkOrder.vue","webpack:///./src/views/cust/GuestWorkOrder.vue?847b","webpack:///./src/views/cust/GuestWorkOrder.vue","webpack:///./src/views/back/stat/DataOverview.vue?1e09","webpack:///src/views/back/stat/DataOverview.vue","webpack:///./src/views/back/stat/DataOverview.vue?3a3e","webpack:///./src/views/back/stat/DataOverview.vue","webpack:///./src/utils/ProblemTypes.js","webpack:///./src/views/back/extend/PictureTypeList.vue?c5aa","webpack:///./node_modules/_sortablejs@1.13.0@sortablejs/modular/sortable.esm.js","webpack:///src/views/back/extend/PictureTypeList.vue","webpack:///./src/views/back/extend/PictureTypeList.vue?34bd","webpack:///./src/views/back/extend/PictureTypeList.vue","webpack:///./src/Cipher.js","webpack:///./src/views/back/log/BuriedPointAnalysis.vue?f7c6","webpack:///src/views/back/log/BuriedPointAnalysis.vue","webpack:///./src/views/back/log/BuriedPointAnalysis.vue?8ee7","webpack:///./src/views/back/log/BuriedPointAnalysis.vue","webpack:///./src/views/back/cloud/Order.vue?0b76","webpack:///./src/views/back/monitor/ServerPing.vue?86cb","webpack:///src/views/back/monitor/ServerPing.vue","webpack:///./src/views/back/monitor/ServerPing.vue?151b","webpack:///./src/views/back/monitor/ServerPing.vue","webpack:///./src/views/back/cloud/Cost.vue?8d5f","webpack:///src/views/back/cloud/Cost.vue","webpack:///./src/views/back/cloud/Cost.vue?d0b2","webpack:///./src/views/back/cloud/Cost.vue","webpack:///./node_modules/_xlsx@0.15.6@xlsx/jszip.js","webpack:///./src/views/back/operation/UserList.vue?28ed","webpack:///src/views/back/operation/UserList.vue","webpack:///./src/views/back/operation/UserList.vue?9369","webpack:///./src/views/back/operation/UserList.vue","webpack:///./src/views/back/operation/UserList.vue?1e46","webpack:///./src/views/back/monitor/ServerPing.vue?6b27","webpack:///./src/views/back/monitor/Mongo.vue?4c55","webpack:///src/views/back/monitor/Mongo.vue","webpack:///./src/views/back/monitor/Mongo.vue?29f1","webpack:///./src/views/back/monitor/Mongo.vue","webpack:///./src/views/back/log/ServersLog.vue?3669","webpack:///src/views/back/log/ServersLog.vue","webpack:///./src/views/back/log/ServersLog.vue?721e","webpack:///./src/views/back/log/ServersLog.vue","webpack:///./src/views/back/account/PermissionGroup.vue?a407","webpack:///src/views/back/account/PermissionGroup.vue","webpack:///./src/views/back/account/PermissionGroup.vue?5966","webpack:///./src/views/back/account/PermissionGroup.vue","webpack:///./src/views/back/log/AppCrash.vue?c373","webpack:///./node_modules/_util@0.11.1@util/support/isBufferBrowser.js","webpack:///./src/views/back/cloud/ActivationOrder.vue?ea5c","webpack:///src/views/back/cloud/ActivationOrder.vue","webpack:///./src/views/back/cloud/ActivationOrder.vue?0cb8","webpack:///./src/views/back/cloud/ActivationOrder.vue","webpack:///./src/views/back/log/AppBuriedPoint.vue?4226","webpack:///./node_modules/_ieee754@1.2.1@ieee754/index.js","webpack:///./src/views/back/extend/TwoWayConfig.vue?8b71","webpack:///src/views/back/extend/TwoWayConfig.vue","webpack:///./src/views/back/extend/TwoWayConfig.vue?b165","webpack:///./src/views/back/extend/TwoWayConfig.vue","webpack:///./src/views/back/stat/DataOverview.vue?795e","webpack:///./src/views/back/log/ServerLogTable.vue?ee25","webpack:///./src/views/back/stat/StatProductFeedback.vue?ff23","webpack:///src/views/back/stat/StatProductFeedback.vue","webpack:///./src/views/back/stat/StatProductFeedback.vue?160b","webpack:///./src/views/back/stat/StatProductFeedback.vue","webpack:///./src/views/back/cloud/CloudRefund.vue?b990","webpack:///./src/views/back/stat/StatDevice.vue?d29f","webpack:///src/views/back/stat/StatDevice.vue","webpack:///./src/views/back/stat/StatDevice.vue?46d0","webpack:///./src/views/back/stat/StatDevice.vue","webpack:///./src/views/back/license/LicenseConflictList.vue?a11e","webpack:///src/views/back/license/LicenseConflictList.vue","webpack:///./src/views/back/license/LicenseConflictList.vue?a05f","webpack:///./src/views/back/license/LicenseConflictList.vue","webpack:///./node_modules/_xlsx@0.15.6@xlsx/xlsx.js","webpack:///./src/views/back/operation/DevicePublish.vue?57f0","webpack:///src/views/back/operation/DevicePublish.vue","webpack:///./src/views/back/operation/DevicePublish.vue?0619","webpack:///./src/views/back/operation/DevicePublish.vue","webpack:///./src/views/back/stat/StatVersion.vue?c79c","webpack:///src/views/back/stat/StatVersion.vue","webpack:///./src/views/back/stat/StatVersion.vue?e1ec","webpack:///./src/views/back/stat/StatVersion.vue","webpack:///./src/views/back/operation/VisitorList.vue?003b","webpack:///src/views/back/operation/VisitorList.vue","webpack:///./src/views/back/operation/VisitorList.vue?6aaa","webpack:///./src/views/back/operation/VisitorList.vue","webpack:///./node_modules/_buffer@4.9.2@buffer/index.js"],"names":["module","exports","render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","$t","model","value","search","callback","$$v","$set","expression","on","submitFetchList","cleanSearch_fetchList","directives","name","rawName","staticStyle","list","page","size","total","fetchList","$event","showGenerateOrderDialog","ref","form","rules","_l","item","key","id","activation","generateLoading","generate","_v","_s","showDownloadOrderDialog","orderId","downLoading","download","staticRenderFns","component","test","NavTop","Breadcrumb","Aside","components","created","power_1910","$store","getters","hasPower","loading","methods","type","url","a","get","then","res","$message","message","catch","error","console","log","cloneValue","Array","isArray","map","setWatermark","str1","str2","document","getElementById","body","removeChild","can","createElement","width","height","cans","getContext","rotate","Math","PI","font","fillStyle","textAlign","textBaseline","fillText","format_date","div","style","pointerEvents","top","left","opacity","position","zIndex","background","toDataURL","appendChild","setWaterMark","removeWatermark","day","src","nativeOn","preventDefault","power_1420","searchParam","JSON","parse","stringify","countryCode","englishName","continent","k","data","setTimeout","this$1","handleChange","activeName","licenseSearch","getList","resetForm","getVersion","show_dialog","_e","licenseRateConfigDrawer","licenseConfigDrawer","licenseBatchConfigDrawer","licenseDeleteDrawer","scopedSlots","_u","fn","scope","changeTabs","row","versionID","remove","licenseID","undefined","tpSearch","tpConfigDrawer","tp","deviceSearch","firmwareUploadDrawer","_f","uploadDate","batch","batchRemove","licenseForm","selectLoading","option","index","v","fl","getFile","excelFileList","slot","marginTop","batchPub","singleForm","singlePub","rateForm","Object","assign","amount","rate","buttonLoading","getTotal","getAmount","judgeCount","deviceForm","fileList","firmwareUpload","closeDialog","progressForm","getProgress","progressList","getKeyLabel","currentPage","pageSize","upload","props","createDate","power_1280","p2pLicense","state","p2pFlag","area","uploadDialogVisible","addPackage","enter_id","storageTime","mealType","storageType","openDrawer","editDialogVisible","editRow","updateType","saveEdit","createActivation","b","autoBom","warn","Blob","c","d","XMLHttpRequest","open","responseType","onload","g","response","onerror","send","status","e","dispatchEvent","MouseEvent","createEvent","initMouseEvent","window","f","self","global","navigator","userAgent","saveAs","HTMLAnchorElement","prototype","h","i","URL","webkitURL","j","rel","href","origin","location","target","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","title","innerText","HTMLElement","safari","FileReader","onloadend","result","replace","readAsDataURL","l","m","updateDealPersonOption","label","addProblemTypeDialogVisible","openContent","openForward","isDealed","createTime","showEdit","updateValue","problemType","minRows","maxRows","updateLoading","update","updateProblemTypeValue","updateProblemTypeLoading","updateProblemType","contentDialogVisible","contentProps","forwardDialogVisible","forwardRow","shareDialog","forward_req","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","code","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","add","enterId","iconId","iconUrl","iconGrayUrl","updateTime","hasAnyPowers","edit","addDialogVisible","addData","add_rules","saveAdd","editData","add_files","uploadSectionFile","fileUrl","user_info","by","dele","transferDrawer","open_cloud_replace","open_code_open","exportDrawer","payDate","cloudReplaceDialog","cloudReplaceData","cloud_replace_req","codeOpenDialog","codeOpenData","code_open_req","exportForm","oemId","oemName","sourceApp","exportOrder","transferForm","transfer","create","ctor","superCtor","super_","constructor","enumerable","writable","configurable","TempCtor","power_1240","serverMac","deviceMac","getOwnPropertyDescriptors","obj","keys","descriptors","getOwnPropertyDescriptor","formatRegExp","format","isString","objects","arguments","inspect","args","str","String","x","Number","_","isNull","isObject","deprecate","msg","process","noDeprecation","apply","warned","deprecated","throwDeprecation","traceDeprecation","trace","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","styles","arrayToHash","array","hash","forEach","val","idx","recurseTimes","isFunction","ret","primitive","formatPrimitive","visibleKeys","getOwnPropertyNames","isError","formatError","isRegExp","RegExp","toString","call","isDate","Date","base","braces","n","toUTCString","formatArray","formatProperty","pop","reduceToSingleString","simple","isNumber","hasOwnProperty","match","desc","set","split","line","substr","reduce","prev","cur","numLinesEst","ar","arg","isNullOrUndefined","isSymbol","re","objectToString","isPrimitive","o","pad","debuglog","NODE_DEBUG","toUpperCase","pid","isBuffer","months","timestamp","time","getHours","getMinutes","getSeconds","getDate","getMonth","prop","inherits","kCustomPromisifiedSymbol","Symbol","callbackifyOnRejected","reason","cb","newReason","callbackify","original","TypeError","callbackified","maybeCb","nextTick","rej","setPrototypeOf","getPrototypeOf","defineProperties","promisify","defineProperty","promiseResolve","promiseReject","promise","Promise","resolve","reject","err","custom","expand","col_sort","columns","expand_span","onClick","hasDetail","showDetail","$router","history","go","savedLoading","submit","file","uploadFile","getUrl","power_1920","cptable","version","D","charAt","DO_NOT_EXPORT_CODEPAGE","root","factory","cpt","magic","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","fromCharCode","cca","has_buf","Buffer","Buffer_from","nbfs","from","buf","enc","bind","allocUnsafe","mdl","mdb","make_EE","E","EE","ee","sbcs_encode","cp","ofmt","out","w","slice","sbcs_decode","dec","DD","dbcs_encode","jj","dbcs_decode","utf8_d","ww","direct","encache","s","null_enc","cp_decache","decache","last_enc","last_cp","cache","sbcs","dbcs","BM","SetD","encode","C","M","isstr","tt","decode","F","dash","o64","c1","c2","c3","e1","e2","e3","e4","hascp","utils","showType","emitValue","updateUserIncrease","pictureUserIncreaseMax","year","month","power_1340","legendArr","color","pictureUserIncreaseCharts","maxCharts","echarts","userIncreaseShow","pictureList","showTypeList","tooltip","trigger","legend","xAxis","boundaryGap","yAxis","mounted","$nextTick","_initDocument","init","getFullYear","resultCode","echartData","content","_putOption","setOption","xAxisName","legendData","series","xAxisData","echartDataKey","date","dom","updateFunction","lineDate","chart","clear","monthValue","watch","deep","dataRange","renderLog","renderTime","renderInfo","power_1810","beginTime","valueOf","endTime","configInfo","configInfoData","$route","query","userID","formatJson","appVer","eventId","counts","showCheckThirdLicensDialog","showUnbindThirdLicensDialog","doUpload","beforeUpload","checkLoading","onSubmit","failList","beforeUploadForUnbind","unbindLoading","onSubmitForUnbind","unbindFailList","power_1220","userName","flag","orderID","sn","mac","$refs","uploadForUnbind","fd","FormData","append","post","checkFailIds","resMap","handleClick","getDetail","taken","free","class","tipsShow","path","deviceName","getPassword","deviceSecret","changePasswordKey","passwordKey","tabChange","getModal","cleanSearch_getList","feedback","domProps","otherInfo","pickerOptions","handleDateChange","createdTime","productChartData","extend","dataEmpty","chartWidth","appChartData","active","clickIndex","showRingChartInfo","chartData","pieExtend","chartSettings","timestampToDate","Y","power_1750","initStartDateAndEndDate","innerWidth","normal","show","formatter","radius","queryInfo","startDate","endDate","shortcuts","text","picker","setTime","getTime","$emit","rows","feedbackType","feedbackList","isdeal","otherInfos","allChatInfoList","unDealChatInfoList","dealChatInfoList","getFeedbackInfo","that","onresize","screenWidth","clientWidth","$axios","params","feedbackInfo","chartInfoList","productChartInfo","handleLineChartData","appChartInfo","otherInfoList","feedbackChartInfo","showClose","duration","newDate","chartInfo","handleRingChartData","options","expandTrigger","checkStrictly","timeOptions","changeEventId","showLogDetail","logDetail","deviceUUID","deviceVersionID","expandRowKeys","decodeUUID","toDeviceIOT","snNum","toRelay","relayLicenseId","devTypeID","toVisitor","addFeedbackStandardDialogVisible","mouse_enter","at","enter","member","searchMembers","addMemberId","addMember","members","scope2","deleMember","addFeedbackStandardForm","handleOptionChangeName","handleOptionChangeTp","addStandard","db","serverZone","docDialogShow","changeMethod","search_param","dialog","dialog_src","respDialog","resp","imgUrl","refundDialogVisible","refundForm","localOrHZ","addAccountDialogVisible","group","project","edit_roleList","infoRow","infoDialogVisible","projects","editMember","editMemberDialogVisible","editMemberRow","editMember_roleList","saveEditMember","addAccountForm","addAccountFormRules","addUser","dataChina","chartSettingsChina","chartExtend","chartEvents","operateDate","power_1250","recycleID","operator","deviceNums","allDeviceTotal","activeDeviceTotal","onlineNum","$formatterCellValue","lastOnline","toDeviceDetail","table","power_1261","batchDeleteLicenseIsvalidateDialog","findPackingDialog","deleteLicensePackBySnDialog","deleteLoading","deleteLicenseBySn","deleteLicensePackDialog","deleteLicense","batchFindLicenseIsSuccessDialog","doupload","beforeUploadForFindIsSuccess","submitForLicenseIsSuccess","batchFindLicenseIsValidateDialog","beforeUploadForFindIsValidate","submitForLicenseIsValidate","batchFindThirdLicenseIsSuccessDialog","deleteThirdLicenseBySnDialog","deletetuyaBySn","deleteThirdLicenseDialog","deletetuya","batchFindThirdLicenseIsValidateDialog","beforeUploadForDelete","noValidateSns","submitForDeleteLicenseIsvalidate","workSheet","downloadPacking","createDates","nameu","localStorage","getItem","projectId","filters","power_1560","searchId","fileSizeLimit","versionName","versionCode","versionUrl","upgradeFlag","versionType","en","zh","de","fr","pl","es","ja","ko","required","detailList","validate","valid","formName","resetFields","cleanForm_add","$formatDate","changeForm","addDrawer","areaString","_m","account","urlencodedContent","getAllType","phoneType","lightStatus","contactInfo","files","device","mark","ruleValidate","power_1571","power_1572","handleSubmit","power_1570","validateSn","rule","validateServerZone","userAccount","password","snNumConfirm","validator","validResult","sourceAppLoading","changeEdit","pageSizes","totalNum","searchType","dataYear","dataMonth","radio","handleOptionChange","changeDate","selectOptions","dateOptions","dateOption","onChange","save_add","save_edit","on_edit","on_dele","customerId","getStatus","fontSize","getEditData","editDrawer","editForm","problemTypes","getLabel","find","getAllLabel","list1","item1","Problem","typeList","saveLoading","save","productType","changeType","modalList","goDetail","_typeof","iterator","_defineProperty","_extends","source","_objectSpread","ownKeys","getOwnPropertySymbols","concat","filter","sym","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","propertyIsEnumerable","pattern","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","el","event","addEventListener","off","removeEventListener","matches","selector","substring","msMatchesSelector","webkitMatchesSelector","getParentOrHost","host","nodeType","parentNode","closest","includeCTX","_throttleTimeout","R_SPACE","toggleClass","classList","className","css","defaultView","getComputedStyle","currentStyle","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","tagName","getElementsByTagName","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","getBoundingClientRect","elRect","bottom","right","innerHeight","containerRect","parseInt","elMatrix","scaleX","scaleY","isScrolledPast","elSide","parentSide","parent","getParentAutoScrollElement","elSideVal","parentSideVal","visible","getChild","childNum","currentChild","children","display","Sortable","ghost","dragged","draggable","lastChild","last","lastElementChild","previousElementSibling","nodeName","clone","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","indexOfObject","includeSelf","elem","gotSelf","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","dst","isRectEqual","rect1","rect2","round","throttle","ms","_this","cancelThrottle","clearTimeout","scrollBy","y","Polymer","$","jQuery","Zepto","cloneNode","expando","AnimationStateManager","animationCallbackId","animationStates","captureAnimationState","animation","child","rect","fromRect","thisAnimationDuration","childMatrix","addAnimationState","removeAnimationState","splice","animateAll","animating","animationTime","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","calculateRealTime","animate","max","animationResetTimer","currentRect","translateX","translateY","animatingX","animatingY","forRepaintDummy","repaint","easing","animated","offsetWidth","sqrt","pow","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","p","pluginName","pluginEvent","eventName","sortable","evt","eventCanceled","cancel","eventNameGlobal","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","_ref","rootEl","targetEl","cloneEl","toEl","fromEl","oldIndex","newIndex","oldDraggableIndex","newDraggableIndex","originalEvent","putSortable","extraEventProperties","onName","CustomEvent","initEvent","bubbles","cancelable","to","pullMode","lastPutMode","allEventProperties","dragEl","parentEl","ghostEl","nextEl","lastDownEl","cloneHidden","dragStarted","moved","activeSortable","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","info","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","supportCssPointerEvents","cssText","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginLeft","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","touchingSideChild2","_dragElInRowColumn","dragRect","targetRect","vertical","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_detectNearestEmptySortable","some","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","_prepareGroup","toFn","pull","sameGroup","otherGroup","originalGroup","checkPull","checkPut","put","revertClone","stopPropagation","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","sort","disabled","store","handle","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","_globalDragOver","dropEffect","_onMove","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_ghostIsLast","spacer","_getSwapDirection","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_generateId","sum","_saveInputCheckedState","inputs","checked","_nextTick","_cancelNextTick","contains","_getDirection","touch","pointerType","originalTarget","shadowRoot","composedPath","button","isContentEditable","criteria","trim","_prepareDragStart","dragStartFn","ownerDocument","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","floor","_onTouchMove","_onDragStart","selection","empty","getSelection","removeAllRanges","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","inserted","ghostMatrix","relativeScrollOffset","dx","dy","cssMatrix","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","revert","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","changed","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","side1","scrolledPastTop","scrollBefore","dragIndex","nextElementSibling","after","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","handleEvent","toArray","order","getAttribute","useAnimation","items","destroy","querySelectorAll","removeAttribute","is","cancelNextTick","detectDirection","element","_len","_key","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","AutoScrollPlugin","AutoScroll","scroll","scrollSensitivity","scrollSpeed","bubbleScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","_ref2","dragOverBubble","drop","clearPointerElemChangedInterval","clearAutoScrolls","nulling","autoScroll","ogElemScroller","newElem","isFallback","scrollCustomFn","sens","speed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","toSortable","changedTouches","onSpill","Revert","Remove","startIndex","dragStart","_ref3","_ref4","parentSortable","public_key","jse","JSEncrypt","setPublicKey","encrypt","pas","getKey","connectResult","renderData","power_1830","searchTime","connectTime","diff","hourFlag","minuteFlag","ssid","setFullYear","begin","setMonth","setDate","toJSON","filterData","reset","usdRate","incomeTable","costTable","getCostAndIncome","res1","$getLocal19Url","res2","monthCostMap","serverIncomeMap","hzMonthIncomeMap","usMonthIncomeMap","euMonthIncomeMap","exchangeRate","chartList","incomeList","costList","getObjectNumberValue","incomeObj","costObj","field1","field2","DO_NOT_EXPORT_JSZIP","JSZipSync","t","r","u","require","1","_dereq_","_keyStr","input","utf8","chr1","chr2","chr3","enc1","enc2","enc3","enc4","isNaN","2","CompressedObject","compressedSize","uncompressedSize","crc32","compressionMethod","compressedContent","getContent","getCompressedContent","3","STORE","compress","uncompress","compressInputType","uncompressInputType","DEFLATE","4","crc","getTypeOf","iTop","5","DataReader","checkOffset","offset","checkIndex","setIndex","skip","byteAt","readInt","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","6","base64","binary","dir","createFolders","compression","comment","7","string2binary","string2Uint8Array","uint8Array2String","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","object","8","USE_TYPEDARRAY","Uint16Array","Uint32Array","pako","deflateRaw","inflateRaw","9","load","newObj","support","compressions","10","ZipEntries","zipEntries","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","11","alloc","encoding","12","Uint8ArrayReader","NodeBufferReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","_data","copy","getBinaryData","nodebuffer","asBinary","dataToString","asUTF8","utf8decode","utf8encode","ZipObject","_initialMetadata","asText","asNodeBuffer","asUint8Array","asArrayBuffer","decToHex","bytes","hex","attr","prepareFileAttrs","fileAdd","dataType","parentFolder","folderAdd","lastSlash","lastIndexOf","generateCompressedObjectFrom","generateZipParts","compressedObject","dosTime","dosDate","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","extraFields","unicodePathExtraField","unicodeCommentExtraField","header","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","stream","filename","relativePath","fileClone","regexp","folder","newFolder","kids","writer","zipData","localDirLength","centralDirLength","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","toLowerCase","zip","finalize","string","14","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","16","17","arraybuffer","ArrayBuffer","uint8array","blob","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","string2buf","m_pos","str_len","buf_len","utf8border","pos","buf2string","c_len","utf16buf","applyFromCharCode","chunk","nextBoundary","min","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","resultStr","arrayLikeToArrayLike","arrayFrom","arrayTo","inputType","supported","method","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraFieldId","extraFieldLength","extraFieldValue","extraDataSize","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","deflate","inflate","constants","25","zlib_deflate","strings","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","level","chunkSize","windowBits","memLevel","strategy","opt","raw","gzip","ended","chunks","strm","avail_out","deflateInit2","deflateSetHeader","deflator","mode","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","inflator","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","ungzip","27","TYPED_OK","Int32Array","sources","shift","fnTyped","dest","src_offs","dest_offs","fnUntyped","setTyped","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","pending","pending_buf","pending_out","total_out","flush_block_only","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","more","_w_size","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","configuration_table","Config","good_length","max_lazy","nice_length","max_chain","func","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","hcrc","os","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","dolen","dodist","sane","35","inflate_fast","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","q","InflateState","havedict","flags","check","wbits","ncode","nlen","ndist","have","next","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","lenfix","distfix","virgin","fixedtables","updatewindow","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","inf_leave","inflateInfo","36","MAXBITS","lbase","lext","dbase","dext","lens_index","codes","table_index","incr","fill","low","mask","curr","used","huff","base_index","count","offs","extra_index","37","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","static_l_desc","static_d_desc","static_bl_desc","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","xbits","stree","overflow","gen_codes","next_code","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","compress_block","ltree","dtree","lc","lx","build_tree","node","scan_tree","curlen","prevlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","padaDate","power_1530","nickName","formaDate","hours","minutes","seconds","project_power_data","back_power_data","readUInt8","firmIdMap","source_app","read","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","Infinity","write","rt","LN2","$hasAnyPowers","changeDelete","power_1230","make_xlsx_lib","XLSX","current_codepage","current_ansi","VALID_ANSI","CS2CP","0","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","reset_ansi","set_cp","reset_cp","char_codes","utf16leread","utf16beread","debom","_getchar","_getansi","DENSE","DIF_XL","Base64","versions","new_raw_buf","new_unsafe_buf","s2a","s2ab","view","a2s","a2u","ab2a","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","pad_","rpad_","pad0r1","pad0r2","p2_32","pad0r","isgeneral","days","init_table","table_fmt","frac","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","parse_date_code","b2","dow","dout","T","H","S","date1904","getDay","fix_hijri","basedate","dnthresh","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","_general_int","general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","LOG10E","general_fmt","write_date","fmt","ss0","ss","outl","commaify","_general_num","_general","write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","write_num_exp","period","fakee","$$","$1","$2","$3","frac1","write_num_f1","aval","sign","den","rr","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","cc","rnd","dd","carry","flr","write_num_flt","ffmt","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","fmt_is_date","eval_fmt","flen","dt","lst","hr","ssm","bt","nstr","myv","ostr","vv","decpt","lasti","retval","is_date","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","dateNF","load_entry","_table","get_table","load_table","tbl","XLMLFormatMap","SSFImplicit","dateNFregex","dateNF_regex","dateNF_fix","datestr","timestr","CRC32","DO_NOT_EXPORT_CFB","signed_crc_table","crc32_bstr","bstr","seed","L","crc32_buf","crc32_buf_8","crc32_str","_fs","CFB","fs","namecmp","R","Z","dirname","write_dos_date","hms","write_shift","ymd","parse_dos_date","read_shift","setMilliseconds","setHours","setMinutes","setSeconds","parse_extra_field","prep_blob","sz","tgt","mtime","atime","ctime","mt","get_fs","parse_zip","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","check_shifts","dir_cnt","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","read_directory","build_full_paths","HEADER_SIGNATURE","nsectors","ceil","FI","FP","dad","get_mfat_entry","entry","payload","mini","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","minifat_store","namelen","__utf16le","clsid","ct","read_date","storage","__readUInt32LE","read_file","readFileSync","init_cfb","cfb","CLSID","seed_cfb","nm","rebuild_cfb","gc","_file","now","HEADER_CLSID","elt","_write","_opts","fileType","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","UCFullPaths","UCPaths","UCPath","_zlib","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","use_zlib","zlib","InflateRaw","InflRaw","_processChunk","_finishFlushFlag","bytesRead","_inflateRawSync","usz","_inflate","_deflateRawSync","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","rev","read_bits_2","bl","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","realloc","zero_fill_array","_deflateRaw","boff","clens","cmap","MAX","maxlen","ccode","ctree","cleni","fix_lmap","fix_dmap","dlens","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","hcodes","h1","h2","outbuf","woff","OL","max_len_1","max_len_2","len_eb","dst_eb","warn_or_throw","wrn","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","_csz","_usz","ef","_crc32","cfb_add","unsafe","cdirs","fp","fi","crcs","sz_cd","namebuf","cfb_new","fpath","cfb_gc","cfb_del","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_inflateRaw","blobify","write_dl","fname","utf8write","IE_SaveFile","msSaveBlob","chrome","downloads","click","File","Folder","close","read_binary","infile","ks","o2","evert_key","K","evert","evert_num","evert_arr","datenum","numdate","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","cc2str","dup","fuzzynum","wt","fuzzydate","getYear","jszip","safe_split_regex","split_regex","def","getdatastr","getdatabin","getdata","safegetzipfile","getzipfile","getzipdata","safe","getzipstr","zipentries","zip_add_file","zip_new","zip_read","resolve_path","step","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","utf8read","orig","utf8readb","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vtvregex","vtmregex","parseVector","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XMLNS","XLMLNS","read_double_le","write_double_le","bs","av","isFinite","__lpp4","___lpp4","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","___utf8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__double","___double","__8lpp4","___8lpp4","is_buf","readUInt32LE","readDoubleLE","__readInt16LE","__readInt32BE","oI","oR","loc","oo","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","hexstr","fld","parsenoop","recordhopper","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","curbuf","endbuf","_bufs","write_record","ba","XLSBRE","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_row","encode_col","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","digest","decode_row","rowstr","unfix_row","cstr","decode_col","colstr","unfix_col","col","split_cell","decode_cell","splt","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","_origin","_range","__R","__C","sheetStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","RBErr","parse_BrtColor","xColorType","nTS","bR","bG","bB","auto","icv","XLSIcv","rgb","rgb2Hex","theme","tint","write_BrtColor","parse_FontFlags","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","grbit","italic","strike","outline","shadow","condense","parse_ClipboardFormatOrString","ClipFmt","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_BLOB","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","DocSummaryRE","SummaryRE","CountryEnum","XLSFillPattern","rgbify","_XLSIcv","ct2type","CT_LIST","workbooks","xlsx","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","type2ct","new_ct","rels","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","CT","calcchain","sst","CTYPE_XML_ROOT","xsd","xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","VBA","get_rels_path","parse_rels","currentFilePath","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","RELS_EXTERN","add_rels","rId","relobj","targetmode","CT_ODS","parse_manifest","Rn","FEtag","xlml_normalize","xlmlregex","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","CORE_PROPS_XML_ROOT","dc","dcterms","dcmitype","cp_doit","write_core_props","Props","CreatedDate","ModifiedDate","EXT_PROPS","PseudoPropsPairs","load_props_pairs","HP","TOP","hp","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","parse_ext_props","xml","HeadingPairs","TitlesOfParts","EXT_PROPS_XML_ROOT","vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","CUST_PROPS_XML_ROOT","write_cust_props","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","parse_FILETIME","dwLowDateTime","dwHighDateTime","write_FILETIME","parse_lpstr","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","parse_ClipboardData","Size","write_TypedPropertyValue","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","pr","pio","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet1","PSet0","rval","FMTID","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","cbExtRst","fExtSt","fRichSt","cRun","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","parse_FileMoniker","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","guid","fileTime","Loc","Tooltip","write_Hyperlink","hl","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","write_XLSCell","parse_frtHeader","parse_OptXLUnicodeString","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtSkip","FtTab","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","wb","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","parse_BoundSheet8","hidden","hs","write_BoundSheet8","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","miyRw","hpt","parse_ForceFullCalculation","fullcalc","parse_RecalcId","parse_DefaultRowHeight","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","write_Window1","parse_Window2","RTL","write_Window2","parse_Pane","parse_Font","dyHeight","write_Font","b5","parse_LabelSst","isst","parse_Label","write_Label","parse_Format","fmtstr","write_Format","parse_BIFF2Format","parse_Dimensions","write_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","write_XF","ixfeP","parse_Guts","write_Guts","guts","parse_BoolErr","write_BoolErr","parse_Number","xnum","write_Number","parse_XLHeaderFooter","parse_SupBook","ctab","sbcch","virtPath","rgst","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_NameCmt","cchName","cchComment","parse_ShrFmla","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","cchText","parse_HLink","hlink","write_HLink","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","TT","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_ColInfo","coldx","parse_Setup","footer","parse_ShtProps","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","parse_BIFF2STR","parse_BIFF2NUM","write_BIFF2NUM","write_BIFF2Cell","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF","dbf_codepage_map","dbf_reverse_map","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","fields","field","hend","sheetRows","dbf_to_sheet","dbf_to_workbook","_RLEN","sheet_to_dbf","codepage","aoa","sheet_to_json","headers","hcnt","coltypes","guess","_guess","hf","hb","rout","to_workbook","to_sheet","from_sheet","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","sylk_char_regex","sylk_char_fn","decode_sylk_char","newcc","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","formula","rc_to_a1","F_seen","wch","process_col","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","a1_to_rc","write_ws_cols_sylk","cols","rec","wpx","width2px","px2char","write_ws_rows_sylk","px2pt","sheet_to_sylk","preamble","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","metadata","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","topic","push_value","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","sepcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","outer","prn_to_sheet_str","prn_to_sheet","firstbyte","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","sidx","snames","refguess","WK3Enum","qpro","vers","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","parse_rpr","rpr","pass","uval","family","valign","parse_rs","tregex","rpregex","parse_r","rregex","rend","rs","rs_to_html","nlregex","parse_rpr2","intro","outro","align","r_to_html","terms","sitregex","sirregex","sirphregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","main","sitag","parse_BrtBeginSst","parse_sst_bin","R_n","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","KeyData","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordByte","Intermediate1","Intermediate2","Intermediate3","PasswordDecoded","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","Temp","PasswordLastChar","PadIndex","Index","ObfuscationArray","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","RTF","rtf_to_sheet","rtf_to_sheet_str","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","X","h6","rgb_tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","xf","CellXf","alignment","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","STYLES_XML_ROOT","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","STY","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","ifmt","write_BrtXF","flow","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","fillId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","THEME","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","themeXML","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xfext","xfe","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","parse_xlink_xml","parse_xlink_bin","parse_drawing","IMG","DRAW","_shapeid","write_comments_vml","csize","bbox","joinstyle","gradientshapeok","coordsize","fillopts","angle","fillparm","fillxml","shadata","fillcolor","strokecolor","sheet_insert_comments","encoded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","textMatch","CMNT","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","write_comments_bin","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","parse_ds_bin","parse_ds_xml","parse_ms_bin","parse_ms_xml","DS","MS","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_str","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","PtgListRT","parse_PtgList","coltype","parse_PtgSxName","parse_PtgSheet","parse_PtgEndSheet","parse_PtgMemAreaN","parse_PtgMemNoMemN","parse_PtgAttrNoop","PtgTypes","PtgDupes","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","formula_quote_sheet_name","sname","get_ixti_raw","supbooks","XTI","SID","get_ixti","stringify_formula","stack","nameidx","last_sp","sp","fflen","argc","lbl","names","XLSXFutureFunctions","externbook","bookidx","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","rgcb","parse_XLSCellParsedFormula","parse_FormulaValue","write_FormulaValue","parse_Formula","cbf","shared","write_Formula","o1","o3","bf","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","WS","browser_has_Map","Map","get_sst_id","has","revarr","col_obj_w","default_margins","margins","defs","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fmtid","fillid","raw_rgb","check_ws","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","svsregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","ridx","svs","parse_ws_xml_sheetviews","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","_merge","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_sheetpr","needed","vbaraw","cname","Workbook","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_protection","Rel","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","Names","Sheet","Ref","sviewregex","Views","rightToLeft","write_ws_xml_sheetviews","sview","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","revStrings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","sstr","ftag","cells","cref","tagr","tagc","do_format","rowobj","rowrite","marr","marrlen","xlen","ht","outlineLevel","rslice","cellFormula","si","_tag","_r","write_ws_xml_data","_cell","customHeight","WS_XML_ROOT","write_ws_xml","rdata","_drawing","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","ignoreEC","numberStoredAsText","sqref","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","write_BrtHLink","locidx","parse_BrtPane","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","BrtMarginKeys","parse_BrtMargins","write_BrtMargins","parse_BrtBeginWsView","write_BrtBeginWsView","write_BrtCellIgnoreEC","write_BrtSheetProtection","parse_BrtDVal","parse_BrtDVal14","parse_ws_bin","ai","af","aii","_d","write_ws_bin_cell","write_CELLTABLE","cap","write_MERGECELLS","write_COLINFOS","write_IGNOREECS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","parse_Cache","nf","parse_chart","csheet","nc","CHART","CHARTEX","CS","parse_cs_xml","parse_BrtCsProp","parse_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","cn","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","Hidden","Comment","localSheetId","WB_XML_ROOT","write_wb_xml","write_names","workbookPr","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cmnt","parse_cc","parse_xlink","write_wb","write_ws","write_sty","write_sst","write_cmnt","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","opening","ishtml","HTML_","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","lastIndex","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","write_name_xlml","write_names_xlml","write_ws_xlml_names","write_ws_xlml_wsopts","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","write_ws_xlml_cell","mi","write_ws_xlml_row","write_ws_xlml_table","write_ws_xlml","write_xlml","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","slurp","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","lastcell","cmnt","rngC","rngR","temp_val","country","Directory","last_formula","cur_sheet","Preamble","last_cell","cell_valid","XFs","palette","get_rgb","process_cell_style","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","last_lbl","last_Rn","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","seen_codepage","RecordType","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","ExternCount","tmpri","fakebs8","_fr","_fc","_fe","_arraystart","_j","_ixfe","b4idx","b2idx","TxO","ImData","noteobj","Encryption","Metadata","Country","PSCLSID","SI","DSI","UDI","parse_xls_props","DocSummary","Summary","write_xls_props","Keys","DSEntries","SEntries","CEntries","CEntries2","parse_xlscfb","CompObj","WorkbookP","bookVBA","bookFiles","write_xlscfb","wbpath","write_biff_buf","XLSRE","write_biff_rec","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff2_cell","write_ws_biff2","write_biff2_buf","write_FONTS_biff8","write_FMTS_biff8","write_FEAT","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_biff8_cell","write_ws_biff8","_WB","_sheet","MAX_ROWS","write_biff8_global","_sheets","_wb","blen","write_biff8_buf","fix_write_opts","html_to_sheet","mtch2","hd","midx","colspan","rowspan","_t","html_to_book","make_html_row","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","parse_dom_table","is_dom_element_hidden","elts","innerHTML","table_to_book","get_computed_style","get_get_computed_style_function","getPropertyValue","parse_content_xml","parse_text_p","fixed","number_formats","era","quarter","sheetag","rowtag","textptag","NFtag","ctag","textp","textpidx","textR","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","ods","write_styles_ods","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","_Fref","text_p","_tgt","write_automatic_styles_ods","fods","write_ods","write_sheet_index","write_obj_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_rtf_str","write_txt_str","sheet_to_txt","write_dbf_buf","write_eth_str","fix_opts_func","get_sheet_type","safe_parse_wbrels","wbrels","safe_parse_sheet","relsPath","sheetRels","stype","dfile","drelsp","draw","chartp","crelsp","strip_front_slash","binname","link","propdata","deps","bookDeps","wbsheets","wbext","wbrelsi","wbrelsfile","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","foo","vbafmt","_sn","_i","wsrels","_type","need_vml","rId1","read_cfb","read_zip","read_plaintext","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","write_cfb_ctr","write_zip_type","oopts","encrypt_agile","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","writeSync","resolve_book_type","_BT","writeFileAsync","_cb","Function","make_json_row","defval","isempty","__rowNum__","outi","counter","CC","blankrows","qreg","make_csv_row","FS","txt","endregex","skipHidden","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","sheet_get_cell","json_to_sheet","get_formulae","make_csv","make_json","make_formulae","table_to_sheet","sheet_to_row_object_array","add_consts","get_default","ws_get_cell_stub","RC","wb_sheet_idx","sh","book_new","book_append_sheet","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","rngstr","Readable","write_csv_stream","BOM","_read","write_html_stream","write_json_stream","objectMode","to_json","to_html","to_csv","readFile","ieee754","typedArraySupport","__proto__","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","encodingOrOffset","fromArrayBuffer","fromString","fromObject","assertSize","isEncoding","actual","fromArrayLike","byteOffset","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","equals","thisStart","thisEnd","thisCopy","targetCopy","includes","_arr","MAX_ARGUMENTS_LENGTH","codePoints","toHex","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt16LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo"],"mappings":"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CR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,MAAQ,GAIJsF,GAAsB,CACzB,aAAc,OACd,cAAe,QACf,kBAAmB,YACnB,eAAgB,SAChB,kBAAmB,YACnB,mBAAoB,aACpB,aAAc,OACd,kBAAmB,YACnB,iBAAkB,WAClB,mBAAoB,aACpB,yBAA0B,mBAC1B,kBAAmB,YACnB,eAAgB,SAChB,kBAAmB,YACnB,cAAe,QACf,kBAAmB,YACnB,eAAgB,SAChB,qBAAsB,eACtB,wBAAyB,kBACzB,mBAAoB,aACpB,sBAAuB,gBACvB,kBAAmB,YACnB,qBAAsB,eACtB,mBAAoB,aACpB,gBAAiB,UACjB,eAAgB,SAChB,wBAAyB,kBACzB,qBAAsB,eACtB,YAAa,MACb,aAAc,OACd,iBAAkB,WAClB,qBAAsB,eACtB,qBAAsB,eACtB,YAAa,MACb,aAAc,OACd,aAAc,OACd,gBAAiB,UACjB,qBAAsB,eACtB,oBAAqB,cACrB,qBAAsB,eACtB,mBAAoB,aACpB,eAAgB,SAChB,kBAAmB,YACnB,cAAe,QACf,iBAAkB,WAClB,eAAgB,SAChB,kBAAmB,YACnB,mBAAoB,aACpB,sBAAuB,gBACvB,qBAAsB,eACtB,6BAA8B,uBAC9B,iCAAkC,2BAClC,0BAA2B,oBAC3B,wBAAyB,kBACzB,oBAAqB,cACrB,cAAe,QACf,mBAAoB,aACpB,kBAAmB,YACnB,wBAAyB,kBACzB,cAAe,QACf,qBAAsB,eACtB,gBAAiB,UACjB,aAAc,OACd,YAAa,MACb,eAAgB,SAChB,cAAe,QACf,cAAe,QACf,eAAgB,SAChB,cAAe,QACf,eAAgB,SAChB,eAAgB,SAChB,cAAe,QACf,kBAAmB,YACnB,oBAAqB,cACrB,mBAAoB,aACpB,qBAAsB,eACtB,oBAAqB,cACrB,eAAgB,SAChB,eAAgB,SAChB,kBAAmB,YACnB,kBAAmB,YACnB,cAAe,QACf,sBAAuB,gBACvB,yBAA0B,mBAC1B,iBAAkB,WAClB,kBAAmB,YACnB,iBAAkB,WAClB,oBAAqB,cACrB,mBAAoB,aACpB,oBAAqB,cACrB,kBAAmB,YACnB,uBAAwB,iBACxB,uBAAwB,iBACxB,wBAAyB,kBACzB,wBAAyB,kBACzB,qBAAsB,eACtB,YAAa,MACb,qBAAsB,eACtB,qBAAsB,eACtB,qBAAsB,eACtB,oBAAqB,cACrB,iBAAkB,WAClB,gBAAiB,UACjB,YAAa,MACb,YAAa,MACb,aAAc,OACd,cAAe,QACf,eAAgB,SAChB,eAAgB,SAChB,gBAAiB,UACjB,gBAAiB,UACjB,eAAgB,SAChB,eAAgB,SAChB,eAAgB,SAChB,kBAAmB,YACnB,kBAAmB,YACnB,cAAe,QACf,iBAAkB,WAClB,eAAgB,SAChB,iBAAkB,WAClB,gBAAiB,UACjB,gBAAiB,UACjB,cAAe,QACf,cAAe,QACf,mBAAoB,aACpB,qBAAsB,eACtB,qBAAsB,eACtB,YAAa,MACb,eAAgB,UAIjB,SAAS4B,GAAmBj6H,GAY3B,MAXmB,OAAhBA,EAAE6U,MAAM,EAAE,KAAa7U,EAAIA,EAAE6U,MAAM,IAEhB,IAAnB7U,EAAEiE,WAAW,KACfjE,EAAIA,EAAE6U,MAAM,GACU,IAAnB7U,EAAEiE,WAAW,KAAUjE,EAAIA,EAAE6U,MAAM,KAEvC7U,EAAIA,EAAE4B,QAAQ,oBAAqB,IAEnC5B,EAAIA,EAAE4B,QAAQ,iDAAiD,SAASqnE,EAAIC,GAAM,OAAOA,EAAGtnE,QAAQ,MAAM,OAE1G5B,EAAIA,EAAE4B,QAAQ,sBAAuB,MAC9B5B,EAAE4B,QAAQ,QAAQ,KAAKA,QAAQ,MAAM,KAG7C,SAASs4H,GAAmBl6H,GAC3B,IAAI2O,EAAI,OAAS3O,EAAE4B,QAAQsuH,GAAW,iBAAiBtuH,QAAQ,SAAS,KAExE,OAAO+M,EAAE/M,QAAQ,KAAM,KAAKA,QAAQ,KAAK,KAG1C,SAASu4H,GAAc3oF,GACtB,IAAIj8C,EAAIi8C,EAAE3jC,MAAM,KACZ2H,EAAIjgB,EAAE,GAAGsY,MAAM,KAAK,GACxB,MAAO,CAAC2H,EAAGjgB,EAAE,GAAGsY,MAAM,KAAK,IAAMtY,EAAEyO,OAAS,EAAK,KAAOzO,EAAE,GAAGsY,MAAM,KAAK,IAAMtY,EAAE,GAAGsY,MAAM,KAAK,IAAO,KAGtG,SAASusH,GAAc5oF,GACtB,OAAOA,EAAE5vC,QAAQ,KAAK,KAGvB,IAAI+uF,GAAO,GACP0pC,GAAW,GAEfvnC,GAAKwnC,GAAK,CACT,gFACA,qEAID,IAAIC,GAAiC,qBAARC,IAE7B,SAASC,GAAWroC,EAAK7oF,EAAKguE,GAC7B,IAAI92E,EAAI,EAAGsD,EAAMquF,EAAIpuF,OACrB,GAAGuzE,GACF,GAAGgjD,GAAkBhjD,EAAImjD,IAAInxH,GAAOlN,OAAOkE,UAAUkN,eAAeb,KAAK2qE,EAAKhuE,GAE7E,IADA,IAAIoxH,EAASJ,GAAkBhjD,EAAI/hF,IAAI+T,GAAOguE,EAAIhuE,GAC5C9I,EAAIk6H,EAAO32H,SAAUvD,EAC1B,GAAG2xF,EAAIuoC,EAAOl6H,IAAI8wC,IAAMhoC,EAAqB,OAAd6oF,EAAI2Q,QAAiB43B,EAAOl6H,QAGvD,KAAMA,EAAIsD,IAAOtD,EACvB,GAAG2xF,EAAI3xF,GAAG8wC,IAAMhoC,EAAqB,OAAd6oF,EAAI2Q,QAAiBtiG,EAY7C,OAVA2xF,EAAIruF,GAAO,CAAEwtC,EAAEhoC,GAAO6oF,EAAI2Q,QAAU3Q,EAAI4Q,SACrCzrB,IACCgjD,IACEhjD,EAAImjD,IAAInxH,IAAMguE,EAAI3pE,IAAIrE,EAAK,IAC/BguE,EAAI/hF,IAAI+T,GAAKnE,KAAKrB,KAEd1H,OAAOkE,UAAUkN,eAAeb,KAAK2qE,EAAKhuE,KAAMguE,EAAIhuE,GAAO,IAC/DguE,EAAIhuE,GAAKnE,KAAKrB,KAGTA,EAGR,SAAS62H,GAAUxkH,EAAG+xE,GACrB,IAAIjvD,EAAI,CAAEulB,IAAIroC,EAAE,EAAE0hB,IAAI1hB,EAAE,GAEpBo/F,GAAO,EAQX,OAPGrtB,EAAI47B,MAAKA,GAAM57B,EAAI47B,KACN,MAAb57B,EAAIrxF,MAAeoiC,EAAEurF,YAAc,EACnB,MAAXt8B,EAAIiuB,IAAaZ,EAAMc,GAAQnuB,EAAIiuB,KACxB,MAAXjuB,EAAIqtB,MAAaA,EAAMrtB,EAAIqtB,KAChCA,GAAO,GAAKt8E,EAAEpiC,MAAQmtH,GAAWzO,GAAMt8E,EAAEurF,YAAc,GACrC,MAAbt8B,EAAIrxF,QAAeoiC,EAAEpiC,MAAQqxF,EAAIrxF,OACtCqxF,EAAIua,SAAQxpE,EAAEwpE,QAAS,GACnBxpE,EAGR,SAAS2hG,GAAgBC,EAAS11E,GACjC,GAAI01E,EAAJ,CACA,IAAIC,EAAO,CAAC,GAAK,GAAK,IAAM,IAAM,GAAK,IAC5B,QAAR31E,IAAgB21E,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,GAAK,KACvB,MAAlBD,EAAQ/iI,OAAgB+iI,EAAQ/iI,KAASgjI,EAAK,IAC5B,MAAlBD,EAAQvoG,QAAgBuoG,EAAQvoG,MAASwoG,EAAK,IAC5B,MAAlBD,EAAQhjI,MAAgBgjI,EAAQhjI,IAASijI,EAAK,IAC5B,MAAlBD,EAAQxoG,SAAgBwoG,EAAQxoG,OAASyoG,EAAK,IAC5B,MAAlBD,EAAQvgF,SAAgBugF,EAAQvgF,OAASwgF,EAAK,IAC5B,MAAlBD,EAAQptB,SAAgBotB,EAAQptB,OAASqtB,EAAK,KAGlD,SAASC,GAAevvH,EAAQ66E,EAAM57E,GACrC,IAAIq1E,EAAIr1E,EAAKuwH,OAAiB,MAAV30C,EAAKvG,EAAYuG,EAAKvG,EAAI,WAC1Ct/E,EAAI,GAAMsD,EAAM0H,EAAOzH,OAC3B,GAAQ,MAAL+7E,GAAar1E,EAAKwwH,IACpB,KAAMz6H,EAAI,MAASA,EAAG,GAAkB,MAAfiK,EAAKwwH,IAAIz6H,GAAY,CAC7C4jE,EAAI5tB,KAAK6vC,EAAKvG,EAAGt/E,GAEjBiK,EAAKwwH,IAAIz6H,GAAK6lF,EAAKvG,EACnBr1E,EAAKuwH,OAAO30C,EAAKvG,GAAKA,EAAIt/E,EAC1B,MAGF,IAAIA,EAAI,EAAGA,GAAKsD,IAAOtD,EAAG,GAAGgL,EAAOhL,GAAGqoF,WAAa/I,EAAG,OAAOt/E,EAS9D,OARAgL,EAAO1H,GAAO,CACb+kF,SAAS/I,EACT6pC,OAAO,EACPC,OAAO,EACPC,SAAS,EACTb,KAAK,EACLkS,kBAAkB,GAEZp3H,EAGR,SAASq3H,GAAYliG,EAAGmiG,EAAOC,EAAQ5wH,EAAM6mF,EAAQ9lF,GACpD,IACIf,EAAKmuG,SAAQ3/E,EAAE6mD,EAAI1b,EAAI6I,OAAOmuD,IAChC,MAAM37H,IAAK,GAAGgL,EAAKy3E,IAAK,MAAMziF,GAChC,GAAW,MAARw5B,EAAEqY,EAAL,CAEA,GADW,MAARrY,EAAEqY,GAA4B,kBAARrY,EAAEv9B,IAAgBu9B,EAAEv9B,EAAIiiF,GAAU1kD,EAAEv9B,KACzD+O,IAA0B,IAAlBA,EAAKkuG,SAAoB,IAEpC,GADwB,MAArBv0C,EAAI6I,OAAOmuD,IAAgBh3D,EAAI5tB,KAAK82B,EAAY8tD,IAAU,UAAWA,GAC7D,MAARniG,EAAEqY,EAAWrY,EAAEtkB,EAAIskB,EAAEtkB,GAAK63E,GAAKvzD,EAAEv9B,QAC/B,GAAa,IAAV0/H,EACP,GAAW,MAARniG,EAAEqY,GACI,EAAJrY,EAAEv9B,KAASu9B,EAAEv9B,EAAGu9B,EAAEtkB,EAAIyvD,EAAI0C,aAAa7tC,EAAEv9B,GACxCu9B,EAAEtkB,EAAIyvD,EAAIiE,aAAapvC,EAAEv9B,QAE1B,GAAW,MAARu9B,EAAEqY,EAAW,CACpB,IAAI64B,EAAKkT,GAAQpkD,EAAEv9B,GACDu9B,EAAEtkB,GAAb,EAAHw1D,KAAUA,EAAU/F,EAAI0C,aAAaqD,GAC9B/F,EAAIiE,aAAa8B,OAExB,SAAWvvE,IAARq+B,EAAEv9B,EAAiB,MAAO,GAC7Bu9B,EAAEtkB,EAAIyvD,EAAIkE,SAASrvC,EAAEv9B,EAAE0+H,QAEb,MAARnhG,EAAEqY,EAAWrY,EAAEtkB,EAAIyvD,EAAIp7D,OAAOoyH,EAAM/9C,GAAQpkD,EAAEv9B,GAAG0+H,IACpDnhG,EAAEtkB,EAAIyvD,EAAIp7D,OAAOoyH,EAAMniG,EAAEv9B,EAAE0+H,IAC/B,MAAM36H,IAAK,GAAGgL,EAAKy3E,IAAK,MAAMziF,GAChC,GAAIgL,EAAKk8F,YACI,MAAV00B,EAAgB,IAClBpiG,EAAE1jB,EAAI/J,EAAO25G,MAAMkW,GACfpiG,EAAE1jB,EAAE+vG,SAAWrsF,EAAE1jB,EAAE+vG,QAAQj4B,QAAUp0D,EAAE1jB,EAAE+vG,QAAQn4B,MACpDl0D,EAAE1jB,EAAE+vG,QAAQn4B,IAAMu2B,GAASpyB,EAAOu0B,cAAcC,UAAU7sF,EAAE1jB,EAAE+vG,QAAQj4B,OAAOF,IAAKl0D,EAAE1jB,EAAE+vG,QAAQh4B,MAAQ,GACnG7iF,EAAKy3E,MAAKjpD,EAAE1jB,EAAE+vG,QAAQgW,QAAUhqC,EAAOu0B,cAAcC,UAAU7sF,EAAE1jB,EAAE+vG,QAAQj4B,OAAOF,MAElFl0D,EAAE1jB,EAAE6vG,SAAWnsF,EAAE1jB,EAAE6vG,QAAQ/3B,QAC9Bp0D,EAAE1jB,EAAE6vG,QAAQj4B,IAAMu2B,GAASpyB,EAAOu0B,cAAcC,UAAU7sF,EAAE1jB,EAAE6vG,QAAQ/3B,OAAOF,IAAKl0D,EAAE1jB,EAAE6vG,QAAQ93B,MAAQ,GACnG7iF,EAAKy3E,MAAKjpD,EAAE1jB,EAAE6vG,QAAQkW,QAAUhqC,EAAOu0B,cAAcC,UAAU7sF,EAAE1jB,EAAE6vG,QAAQ/3B,OAAOF,MAErF,MAAM1tF,IAAK,GAAGgL,EAAKy3E,KAAO12E,EAAO25G,MAAO,MAAM1lH,KAGjD,SAAS87H,GAAShyC,EAAI8tC,EAAO72H,GAC5B,GAAG+oF,GAAMA,EAAG,QAAS,CACpB,IAAI7C,EAAQgC,GAAkBa,EAAG,SACjC,GAAG7C,EAAMjnF,EAAEX,EAAI4nF,EAAMnxE,EAAEzW,GAAK4nF,EAAMjnF,EAAE8xC,EAAIm1C,EAAMnxE,EAAEg8B,EAAG,MAAM,IAAIptC,MAAM,cAAgB3D,EAAI,MAAQ+oF,EAAG,UAGpG,SAASiyC,GAAiBjyC,EAAIh0E,GAC7B,IAAIxW,EAAI2pF,GAAkBnzE,GACvBxW,EAAEwW,EAAEg8B,GAAGxyC,EAAEU,EAAE8xC,GAAKxyC,EAAEwW,EAAEzW,GAAGC,EAAEU,EAAEX,GAAKC,EAAEwW,EAAEg8B,GAAG,GAAKxyC,EAAEwW,EAAEzW,GAAG,IAAGyqF,EAAG,QAAUhB,GAAaxpF,IAEpF,IAAI08H,GAAc,gDACdC,GAAiB,2DACjBC,GAAa,8BACbC,GAAW,cACXC,GAAW,6BACXC,GAAU,mEACVC,GAAa,gCACbC,GAAe,yCACfC,GAAW,oEAGf,SAASC,GAAa9iI,EAAMqR,EAAMqB,EAAKmlF,EAAM+Q,EAAI1Q,EAAQ9lF,GACxD,IAAIpS,EAAM,OAAOA,EACb63F,IAAMA,EAAO,CAAC,MAAM,KACZ,MAAT5tB,GAA+B,MAAd54D,EAAK6+E,QAAe7+E,EAAK6+E,MAAQjmB,GAGrD,IAAI9tD,EAAI9K,EAAK6+E,MAAQ,GAAO,GACxBuwB,EAAW,CAAEtkG,EAAG,CAACg8B,EAAE,IAASzyC,EAAE,KAAUW,EAAG,CAAC8xC,EAAE,EAAGzyC,EAAE,IAEnDq9H,EAAQ,GAAIC,EAAQ,GACpBC,EAAOjjI,EAAKqU,MAAMiuH,IACnBW,GACFF,EAAQ/iI,EAAKwb,MAAM,EAAGynH,EAAK5gI,OAC3B2gI,EAAQhjI,EAAKwb,MAAMynH,EAAK5gI,MAAQ4gI,EAAK,GAAGt4H,SAClCo4H,EAAQC,EAAQhjI,EAGvB,IAAIkjI,EAAUH,EAAM1uH,MAAMuuH,IACvBM,GAASC,GAAqBD,EAAQ,GAAI/mH,EAAGysF,EAAIl2F,GAGpD,IAAI0wH,GAAQL,EAAM1uH,MAAM,wBAAwB,CAAChS,OAAO,IAAIA,MAC5D,GAAG+gI,EAAO,EAAG,CACZ,IAAIlpI,EAAM6oI,EAAMvnH,MAAM4nH,EAAKA,EAAK,IAAI/uH,MAAMmuH,IACvCtoI,GAAKkoI,GAAiBjmH,EAAGjiB,EAAI,IAIjC,IAAImpI,EAAMN,EAAM1uH,MAAMwuH,IACnBQ,GAAOA,EAAI,IAAIC,GAAwBD,EAAI,GAAIz6B,GAGlD,IAAIzwF,EAAU,GACd,GAAG9G,EAAKk8F,WAAY,CAEnB,IAAIsP,EAAOkmB,EAAM1uH,MAAMouH,IACpB5lB,GAAM0mB,GAAkBprH,EAAS0kG,GAIlComB,GAAMO,GAAkBP,EAAK,GAAI9mH,EAAG9K,EAAMovG,EAAUvoB,EAAQ9lF,GAG/D,IAAIqxH,EAAUT,EAAM3uH,MAAMquH,IACvBe,IAAStnH,EAAE,eAAiBunH,GAAwBD,EAAQ,KAG/D,IAAIhxB,EAAS,GACTkxB,EAASX,EAAM3uH,MAAMguH,IACzB,GAAGsB,EAAQ,IAAIP,EAAO,EAAGA,GAAQO,EAAOh5H,SAAUy4H,EACjD3wB,EAAO2wB,GAAQ9zC,GAAkBq0C,EAAOP,GAAM5nH,MAAMmoH,EAAOP,GAAMn4H,QAAQ,KAAM,IAGhF,IAAIooG,EAAQ2vB,EAAM3uH,MAAMkuH,IACrBlvB,GAAOuwB,GAAoBznH,EAAGk3F,EAAOxb,GAGxC,IAAI4pC,EAAUuB,EAAM3uH,MAAMsuH,IAI1B,GAHGlB,IAAStlH,EAAE,YAAc0nH,GAAqBv9C,GAAYm7C,EAAQ,OAEjEtlH,EAAE,SAAWskG,EAASp6G,EAAEX,GAAK+6G,EAAStkG,EAAEzW,GAAK+6G,EAASp6G,EAAE8xC,GAAKsoE,EAAStkG,EAAEg8B,IAAGh8B,EAAE,QAAUgzE,GAAasxB,IACrGpvG,EAAKglG,UAAY,GAAKl6F,EAAE,QAAS,CACnC,IAAI2nH,EAASx0C,GAAkBnzE,EAAE,SAC9B9K,EAAKglG,YAAcytB,EAAOz9H,EAAE8xC,IAC9B2rF,EAAOz9H,EAAE8xC,EAAI9mC,EAAKglG,UAAY,EAC3BytB,EAAOz9H,EAAE8xC,EAAIsoE,EAASp6G,EAAE8xC,IAAG2rF,EAAOz9H,EAAE8xC,EAAIsoE,EAASp6G,EAAE8xC,GACnD2rF,EAAOz9H,EAAE8xC,EAAI2rF,EAAO3nH,EAAEg8B,IAAG2rF,EAAO3nH,EAAEg8B,EAAI2rF,EAAOz9H,EAAE8xC,GAC/C2rF,EAAOz9H,EAAEX,EAAI+6G,EAASp6G,EAAEX,IAAGo+H,EAAOz9H,EAAEX,EAAI+6G,EAASp6G,EAAEX,GACnDo+H,EAAOz9H,EAAEX,EAAIo+H,EAAO3nH,EAAEzW,IAAGo+H,EAAO3nH,EAAEzW,EAAIo+H,EAAOz9H,EAAEX,GAClDyW,EAAE,YAAcA,EAAE,QAClBA,EAAE,QAAUgzE,GAAa20C,IAK3B,OAFG3rH,EAAQxN,OAAS,IAAGwR,EAAE,SAAWhE,GACjCs6F,EAAO9nG,OAAS,IAAGwR,EAAE,WAAas2F,GAC9Bt2F,EAGR,SAAS4nH,GAAoBtxB,GAC5B,GAAqB,IAAlBA,EAAO9nG,OAAc,MAAO,GAE/B,IADA,IAAI2K,EAAI,sBAAwBm9F,EAAO9nG,OAAS,KACxCvD,EAAI,EAAGA,GAAKqrG,EAAO9nG,SAAUvD,EAAGkO,GAAK,mBAAqB65E,GAAasjB,EAAOrrG,IAAM,MAC5F,OAAOkO,EAAI,gBAIZ,SAAS6tH,GAAqBD,EAAS/mH,EAAGysF,EAAIl2F,GAC7C,IAAI1S,EAAOsmF,GAAY48C,GACnBt6B,EAAG7Y,OAAOr9E,KAAMk2F,EAAG7Y,OAAOr9E,GAAO,IAClC1S,EAAKgkI,WAAUp7B,EAAG7Y,OAAOr9E,GAAKuxH,SAAWjkI,EAAKgkI,UAElD,SAASE,GAAqB/zC,EAAIyY,EAAIl2F,EAAKrB,EAAMiE,GAChD,IAAI6uH,GAAS,EACThgI,EAAQ,GAAI00E,EAAU,KAC1B,GAAqB,SAAlBxnE,EAAKioF,UAAuBsP,EAAGw7B,OAAQ,CACzC,IAAIC,EAAQz7B,EAAG9Y,WAAWp9E,GAC1B,IAASk2F,EAAG07B,WAAUD,EAAQz7B,EAAG07B,SAASv0C,OAAOr9E,GAAKuxH,UAAYI,GAAS,MAAMh+H,KACjF89H,GAAS,EACThgI,EAAM6/H,SAAW38C,GAAUg9C,IAGxBF,GAAWtrD,KACfvjE,EAAEA,EAAE3K,QAAWu+E,GAAU,UAAWrQ,EAAS10E,IAI9C,IAAIogI,GAAqB,CAAC,UAAW,YAAa,oBAAqB,uBACnEC,GAAoB,CACvB,gBAAiB,aAAc,cAC/B,gBAAiB,aAAc,mBAC/B,gBAAiB,aACjB,OAAQ,aAAc,eAEvB,SAASC,GAAwB9F,GAEhC,IAAIrpH,EAAI,CAAEs6E,MAAM,GAKhB,OAJA20C,GAAmB/xH,SAAQ,SAASoB,GAAiB,MAAT+qH,EAAG/qH,IAAc+qH,EAAG/qH,KAAI0B,EAAE1B,GAAK,QAC3E4wH,GAAkBhyH,SAAQ,SAASoB,GAAiB,MAAT+qH,EAAG/qH,IAAe+qH,EAAG/qH,KAAI0B,EAAE1B,GAAK,QAExE+qH,EAAG7sG,WAAUxc,EAAEwc,SAAWo1F,GAAsCyX,EAAG7sG,UAAUxe,SAAS,IAAIoC,eACtFwzE,GAAU,kBAAmB,KAAM5zE,GAG3C,SAASsuH,GAAoBznH,EAAGnc,EAAM63F,GAErC,IADA,IAAI3H,EAAQrzF,MAAMC,QAAQqf,GAClB/U,EAAI,EAAGA,GAAKpH,EAAK2K,SAAUvD,EAAG,CACrC,IAAIqL,EAAM6zE,GAAYyB,GAAS/nF,EAAKoH,KAAK,GACzC,IAAIqL,EAAIvY,IAAK,OACb,IAAIsN,IAAQqwF,GAAQ,IAAI,QAAQ,IAAIplF,EAAIjY,IACrCgN,GACFiL,EAAI6nF,OAAS9yF,EAAI8yF,OACd7nF,EAAI9K,WAAU8K,EAAI6nF,QAAU,IAAI7nF,EAAI9K,YAEvC8K,EAAI6nF,OAAS,IAAM7nF,EAAI9K,SACvBH,EAAM,CAAC8yF,OAAQ7nF,EAAI6nF,OAAQE,WAAY,aAExC/nF,EAAIiyH,IAAMl9H,EACPiL,EAAIsM,UAAWtM,EAAI2zF,QAAU3zF,EAAIsM,eAAgBtM,EAAIsM,SAExD,IADA,IAAI4lH,EAAMr1C,GAAkB78E,EAAIvY,KACxBo7E,EAAEqvD,EAAIxoH,EAAEg8B,EAAEm9B,GAAGqvD,EAAIt+H,EAAE8xC,IAAIm9B,EAAG,IAAI,IAAIv4D,EAAE4nH,EAAIxoH,EAAEzW,EAAEqX,GAAG4nH,EAAIt+H,EAAEX,IAAIqX,EAAG,CACnE,IAAIy8D,EAAOgU,GAAY,CAAC9nF,EAAEqX,EAAEo7B,EAAEm9B,IAC3B4a,GACE/zE,EAAEm5D,KAAIn5D,EAAEm5D,GAAK,IACbn5D,EAAEm5D,GAAGv4D,KAAIZ,EAAEm5D,GAAGv4D,GAAK,CAACm7B,EAAE,IAAI51C,OAAEd,IAChC2a,EAAEm5D,GAAGv4D,GAAGtU,EAAIgK,IAER0J,EAAEq9D,KAAOr9D,EAAEq9D,GAAQ,CAACthC,EAAE,IAAI51C,OAAEd,IAChC2a,EAAEq9D,GAAM/wE,EAAIgK,KAMhB,SAASoxH,GAAqBe,GAC7B,IAAItvH,EAAI,GAIR,MAHA,CAAC,OAAQ,QAAS,MAAO,SAAU,SAAU,UAAU9C,SAAQ,SAASzS,GACpE6kI,EAAO7kI,KAAIuV,EAAEvV,GAAKuzE,WAAWsxD,EAAO7kI,QAEjCuV,EAER,SAASuvH,GAAqBD,GAE7B,OADApD,GAAgBoD,GACT17C,GAAU,cAAe,KAAM07C,GAGvC,SAASrB,GAAkBprH,EAAS0kG,GAEnC,IADA,IAAIioB,GAAU,EACNC,EAAO,EAAGA,GAAQloB,EAAKlyG,SAAUo6H,EAAM,CAC9C,IAAI5Z,EAAO7kC,GAAYu2B,EAAKkoB,IAAO,GAChC5Z,EAAK9hB,SAAQ8hB,EAAK9hB,OAASvhB,GAAaqjC,EAAK9hB,SAChD,IAAI27B,EAAK3rG,SAAS8xF,EAAK/lE,IAAK,IAAI,EAAG6/E,EAAK5rG,SAAS8xF,EAAK1sF,IAAI,IAAI,SACvD0sF,EAAK/lE,WAAY+lE,EAAK1sF,IAAK0sF,EAAK1tH,OAAS0tH,EAAK1tH,OACjDqnI,GAAW3Z,EAAK1tH,QAASqnI,GAAU,EAAM9Z,GAAcG,EAAK1tH,QAChE2+G,GAAY+O,GACZ,MAAM6Z,GAAQC,EAAM9sH,EAAQ6sH,KAAUtgD,GAAIymC,IAG5C,SAAS+Z,GAAkB/0C,EAAI0sB,GAE9B,IADA,IAAoB/tB,EAAhBx5E,EAAI,CAAC,UACDlO,EAAI,EAAGA,GAAKy1G,EAAKlyG,SAAUvD,GAC7B0nF,EAAM+tB,EAAKz1G,MAChBkO,EAAEA,EAAE3K,QAAWu+E,GAAU,MAAO,KAAMq4C,GAAUn6H,EAAG0nF,KAGpD,OADAx5E,EAAEA,EAAE3K,QAAU,UACP2K,EAAEtJ,KAAK,IAGf,SAAS03H,GAAwB1jI,GAChC,IAAIsV,EAAI,CAAEpb,KAAM8F,EAAKqU,MAAM,kBAAkB,IAAI,IACjD,OAAOiB,EAER,SAAS6vH,GAAwBnlI,EAAMmwF,EAAIyY,EAAIl2F,GAC9C,IAAIxY,EAAyB,iBAAZ8F,EAAK9F,IAAkB8F,EAAK9F,IAAMi1F,GAAanvF,EAAK9F,KACjE0uG,EAAG07B,WAAU17B,EAAG07B,SAAW,CAAEv0C,OAAO,KACpC6Y,EAAG07B,SAASc,QAAOx8B,EAAG07B,SAASc,MAAQ,IAC3C,IAAIrG,EAAQn2B,EAAG07B,SAASc,MACpB93C,EAAQ4B,GAAah1F,GACtBozF,EAAMnxE,EAAEg8B,GAAKm1C,EAAMjnF,EAAE8xC,IAAKm1C,EAAMjnF,EAAE8xC,EAAI+2C,GAAaiB,EAAG,SAAS9pF,EAAE8xC,EAAGj+C,EAAMi1F,GAAa7B,IAC1F,IAAI,IAAIlmF,EAAI,EAAGA,EAAI23H,EAAMp0H,SAAUvD,EAAG,CACrC,IAAI5N,EAAOulI,EAAM33H,GACjB,GAAgB,yBAAb5N,EAAKq3G,MACLr3G,EAAK6rI,OAAS3yH,EAAjB,CACAlZ,EAAK8rI,IAAM,IAAM18B,EAAG9Y,WAAWp9E,GAAO,KAAOxY,EAAK,OAGnD,OADGkN,GAAK23H,EAAMp0H,QAAQo0H,EAAMhzH,KAAK,CAAE8kG,KAAM,wBAAyBw0B,MAAO3yH,EAAK4yH,IAAK,IAAM18B,EAAG9Y,WAAWp9E,GAAO,KAAOxY,IAC9GgvF,GAAU,aAAc,KAAM,CAAChvF,IAAIA,IAK3C,IAAIqrI,GAAa,0CACjB,SAASjC,GAAwBtjI,EAAM4oG,GAClCA,EAAG48B,QAAO58B,EAAG48B,MAAQ,CAAC,MACzBxlI,EAAKqU,MAAMkxH,KAAa,IAAI/yH,SAAQ,SAAS2lC,EAAG/wC,GAChD,IAAIm/E,EAAMD,GAAYnuC,GAElBywD,EAAG48B,MAAMp+H,KAAIwhG,EAAG48B,MAAMp+H,GAAK,IAE5B0gF,GAAavB,EAAIk/C,eAAc78B,EAAG48B,MAAMp+H,GAAGwkG,KAAM,MAGtD,SAAS85B,GAAwBv1C,EAAI9+E,EAAMqB,EAAKk2F,GAC/C,IAAI+8B,EAAQ,CAAEC,eAAe,KAG7B,SADMh9B,GAAI,IAAI07B,UAAU,IAAIkB,OAAO,IAAI,KAAIG,EAAMF,YAAc78B,EAAG07B,SAASkB,MAAM,GAAG55B,IAAM,IAAM,KACzF1iB,GAAU,aAAcA,GAAU,YAAa,KAAMy8C,GAAQ,IAGrE,SAASE,GAAkB54C,EAAM/yF,EAAKi2F,EAAI9+E,GACzC,QAAc7P,IAAXyrF,EAAK3qF,QAA8Bd,IAAXyrF,EAAKtmF,GAA8B,MAAXsmF,EAAK/0C,EAAW,MAAO,GAC1E,IAAI06B,EAAK,GACLkzD,EAAO74C,EAAK/0C,EAAG6tF,EAAO94C,EAAK3qF,EAC/B,GAAc,MAAX2qF,EAAK/0C,EAAW,OAAO+0C,EAAK/0C,GAC9B,IAAK,IAAK06B,EAAKqa,EAAK3qF,EAAI,IAAM,IAAK,MACnC,IAAK,IAAKswE,EAAK,GAAGqa,EAAK3qF,EAAG,MAC1B,IAAK,IAAKswE,EAAKwgB,GAAKnG,EAAK3qF,GAAI,MAC7B,IAAK,IACD+O,GAAQA,EAAKs/E,UAAW/d,EAAK2R,GAAU0I,EAAK3qF,GAAI,GAAG8mF,eAErD6D,EAAOvI,GAAIuI,GACXA,EAAK/0C,EAAI,IACT06B,EAAK,IAAIqa,EAAK3qF,EAAI2hF,GAAQM,GAAU0I,EAAK3qF,MAErB,qBAAX2qF,EAAKvG,IAAmBuG,EAAKvG,EAAI1b,EAAI6I,OAAO,KACtD,MACD,QAASjB,EAAKqa,EAAK3qF,EAAG,MAEvB,IAAIA,EAAI0mF,GAAS,IAAK3B,GAAUzU,IAAMt9D,EAAI,CAAE6iC,EAAEj+C,GAE1Cw+D,EAAKipE,GAAetwH,EAAKs8G,QAAS1gC,EAAM57E,GAE5C,OADU,IAAPqnD,IAAUpjD,EAAE6G,EAAIu8C,GACZu0B,EAAK/0C,GACX,IAAK,IAAK,MACV,IAAK,IAAK5iC,EAAE4iC,EAAI,IAAK,MACrB,IAAK,IAAK5iC,EAAE4iC,EAAI,IAAK,MACrB,IAAK,IAAK5iC,EAAE4iC,EAAI,IAAK,MACrB,IAAK,IAAK,MACV,QAAS,GAAa,MAAV+0C,EAAK3qF,EAAW,QAAS2qF,EAAK/0C,EAAG,MAC5C,GAAG7mC,GAAQA,EAAK2yG,QAAS,CACxB1hH,EAAI0mF,GAAS,IAAK,GAAGo4C,GAAW/vH,EAAK20H,QAAS/4C,EAAK3qF,EAAG+O,EAAK40H,aAC3D3wH,EAAE4iC,EAAI,IAAK,MAEZ5iC,EAAE4iC,EAAI,MAAO,MAGf,GADG+0C,EAAK/0C,GAAK4tF,IAAQ74C,EAAK/0C,EAAI4tF,EAAM74C,EAAK3qF,EAAIyjI,GAC1C94C,EAAKtmF,EAAG,CACV,IAAI0qE,EAAK4b,EAAK7vE,GAAK6vE,EAAK7vE,EAAE5B,MAAM,EAAGthB,EAAIyQ,SAAWzQ,EAAM,CAACg+C,EAAE,QAASh+C,IAAI+yF,EAAK7vE,GAAK,KAClF9a,EAAI4mF,GAAU,IAAK7B,GAAU4F,EAAKtmF,GAAI0qE,IAAiB,MAAV4b,EAAK3qF,EAAYA,EAAI,IAInE,OAFG2qF,EAAKxkF,GAAG0nF,EAAG,UAAUpkF,KAAK,CAAC7R,EAAK+yF,EAAKxkF,IACrCwkF,EAAKvnF,GAAGyqF,EAAG,aAAapkF,KAAK,CAAC7R,EAAK+yF,EAAKvnF,IACpCwjF,GAAU,IAAK5mF,EAAGgT,GAG1B,IAAIkuH,GAAoB,WACvB,IAAI0C,EAAY,kBAAmBC,EAAW,mBAC1C5jB,EAAS,qBAAsB6jB,EAAU,yCACzCC,EAAW,uBACXC,EAAUl+C,GAAS,KAAMm+C,EAAUn+C,GAAS,KAEjD,OAAO,SAA2Bo+C,EAAOrqH,EAAG9K,EAAM2lG,EAAO9e,EAAQ9lF,GAUhE,IATA,IAAmEytB,EAC/D0mD,EACAkgD,EAAMC,EAEoCv+B,EAJ1C/2B,EAAK,EAAGhhE,EAAI,GAAIu2H,EAAQ,GAAIC,EAAO,GAAIl0H,EAAI,EAAGtL,EAAE,EAAGypE,EAAG,EAAGlrE,EAAE,GACtDkhI,EAAO,EAAGC,EAAO,EAEtB9E,EAAQ,EAAGC,EAAS,EACpB8E,EAAYlqI,MAAMC,QAAQsV,EAAOg7G,QACjCqS,EAAS,GACTH,EAAU,GACVpvC,EAAQrzF,MAAMC,QAAQqf,GACtBsK,EAAO,GAAIugH,EAAS,GAAIC,GAAU,EAC9BC,EAAOV,EAAMhyH,MAAM2xH,GAAWzvD,EAAK,EAAGywD,EAAUD,EAAKv8H,OAAQ+rE,GAAMywD,IAAWzwD,EAAI,CACzFtmE,EAAI82H,EAAKxwD,GAAI9pC,OACb,IAAIw6F,EAAOh3H,EAAEzF,OACb,GAAY,IAATy8H,EAAH,CAGA,IAAIh2D,EAAK,EAAGA,EAAKg2D,IAAQh2D,EAAI,GAAwB,KAArBhhE,EAAExF,WAAWwmE,GAAY,MAGzD,KAHkEA,EAClEmV,EAAMD,GAAYl2E,EAAEoL,MAAM,EAAE41D,IAAK,GACjCy1D,EAAgB,MAATtgD,EAAIpuC,EAAY9e,SAASktD,EAAIpuC,EAAG,IAAM0uF,EAAK,EAAGC,GAAQ,IAC1Dz1H,EAAKglG,WAAahlG,EAAKglG,UAAYwwB,GAAtC,CACG7vB,EAAM76F,EAAEg8B,EAAI0uF,EAAO,IAAG7vB,EAAM76F,EAAEg8B,EAAI0uF,EAAO,GACzC7vB,EAAM3wG,EAAE8xC,EAAI0uF,EAAO,IAAG7vB,EAAM3wG,EAAE8xC,EAAI0uF,EAAO,GAEzCx1H,GAAQA,EAAKk8F,aACfy5B,EAAS,GAAIC,GAAU,EACpB1gD,EAAI8gD,KAAMJ,GAAU,EAAMD,EAAO/8B,IAAM32B,WAAWiT,EAAI8gD,IAAKL,EAAO3qB,IAAMC,GAAM0qB,EAAO/8B,MACvE,KAAd1jB,EAAI8iB,SAAiB49B,GAAU,EAAMD,EAAO39B,QAAS,GACjC,MAApB9iB,EAAI+gD,eAAwBL,GAAU,EAAMD,EAAOh8E,OAASu7B,EAAI+gD,cAChEL,IAASxgH,EAAKogH,EAAK,GAAKG,IAI5BL,EAAQv2H,EAAEoL,MAAM41D,GAAI58D,MAAM0xH,GAC1B,IAAI,IAAIqB,EAAS,EAAGA,GAAUZ,EAAMh8H,SAAU48H,EAAQ,GAAqC,KAAlCZ,EAAMY,GAAQ36F,OAAOxzB,OAAO,GAAW,MAEhG,IADAutH,EAAQA,EAAMnrH,MAAM+rH,GAChBn2D,EAAK,EAAGA,GAAMu1D,EAAMh8H,SAAUymE,EAEjC,GADAhhE,EAAIu2H,EAAMv1D,GAAIxkC,OACE,IAAbx8B,EAAEzF,OAAL,CAGA,GAFAi8H,EAAOx2H,EAAEiE,MAAMkuG,GAAS7vG,EAAM0+D,EAAIhqE,EAAE,EAAGypE,EAAG,EAC1CzgE,EAAI,OAAuB,KAAdA,EAAEoL,MAAM,EAAE,GAAQ,IAAI,IAAMpL,EAC9B,MAARw2H,GAAgC,IAAhBA,EAAKj8H,OAAc,CAErC,IADA+H,EAAM,EAAG/M,EAAEihI,EAAK,GACZx/H,EAAE,EAAGA,GAAKzB,EAAEgF,SAAUvD,EAAG,CAC5B,IAAIypE,EAAGlrE,EAAEiF,WAAWxD,GAAG,IAAM,GAAKypE,EAAK,GAAI,MAC3Cn+D,EAAM,GAAGA,EAAMm+D,IAEdn+D,EACFo0H,EAAOp0H,QACCo0H,EACT,IAAI1/H,EAAI,EAAGA,GAAKgJ,EAAEzF,SAAUvD,EAAG,GAAuB,KAApBgJ,EAAExF,WAAWxD,GAAW,MAO1D,KAPmEA,EACnEm/E,EAAMD,GAAYl2E,EAAEoL,MAAM,EAAEpU,IAAI,GAC5Bm/E,EAAIpuC,IAAGouC,EAAIpuC,EAAIq1C,GAAY,CAACr1C,EAAE0uF,EAAK,EAAGnhI,EAAEohI,KAC5CnhI,EAAIyK,EAAEoL,MAAMpU,GACZy4B,EAAI,CAAEqY,EAAE,IAEqB,OAAzB0uF,EAAKjhI,EAAE0O,MAAMiyH,KAAgC,KAAZM,EAAK,KAAW/mG,EAAEv9B,EAAE0kF,GAAY4/C,EAAK,KACvEv1H,EAAKm2H,YAAa,CACS,OAAzBZ,EAAKjhI,EAAE0O,MAAMkyH,KAAgC,KAAZK,EAAK,IAEzC/mG,EAAEl5B,EAAEwwH,GAAMnwC,GAAYe,GAAS6+C,EAAK,MACjCA,EAAK,GAAG37H,QAAQ,cAAgB,GAClC40B,EAAEziB,GAAKzX,EAAE0O,MAAMgyH,IAAW,IAAI,GAC3BxmG,EAAEziB,EAAEnS,QAAQ,MAAQ,GAAGw0H,EAAO1zH,KAAK,CAACujF,GAAkBzvD,EAAEziB,GAAIyiB,EAAEziB,KACxDwpH,EAAK,GAAG37H,QAAQ,eAAiB,IAE1Cy7H,EAAOpgD,GAAYsgD,EAAK,IACxBtH,EAAQjmG,SAASqtG,EAAKe,GAAI,KAAO,CAACf,EAAMvP,GAAMnwC,GAAYe,GAAS6+C,EAAK,MAAOrgD,EAAIpuC,MAE1EyuF,EAAKjhI,EAAE0O,MAAM,iBACvBqyH,EAAOpgD,GAAYsgD,EAAK,IACrBtH,EAAQoH,EAAKe,MAAK5nG,EAAEl5B,EAAIuwH,GAAmBoI,EAAQoH,EAAKe,IAAI,GAAInI,EAAQoH,EAAKe,IAAI,GAAelhD,EAAIpuC,KAGxG,IAAIuvF,EAAO14C,GAAYzI,EAAIpuC,GAC3B,IAAI/wC,EAAI,EAAGA,EAAIq4H,EAAO90H,SAAUvD,EAC5BsgI,EAAKvvF,GAAKsnF,EAAOr4H,GAAG,GAAG+U,EAAEg8B,GAAKuvF,EAAKvvF,GAAKsnF,EAAOr4H,GAAG,GAAGf,EAAE8xC,GACtDuvF,EAAKhiI,GAAK+5H,EAAOr4H,GAAG,GAAG+U,EAAEzW,GAAKgiI,EAAKhiI,GAAK+5H,EAAOr4H,GAAG,GAAGf,EAAEX,IACzDm6B,EAAEziB,EAAIqiH,EAAOr4H,GAAG,IAGpB,GAAY,MAATm/E,EAAIruC,QAAqB12C,IAARq+B,EAAEv9B,EACrB,GAAGu9B,EAAEl5B,GAAKk5B,EAAEziB,EACXyiB,EAAEv9B,EAAI,EAAGu9B,EAAEqY,EAAI,QACT,KAAI7mC,EAAKq/E,WAAY,SACvB7wD,EAAEqY,EAAI,SAEPrY,EAAEqY,EAAIquC,EAAIruC,GAAK,IAIpB,OAHG8+D,EAAM76F,EAAEzW,EAAIohI,IAAM9vB,EAAM76F,EAAEzW,EAAIohI,GAC9B9vB,EAAM3wG,EAAEX,EAAIohI,IAAM9vB,EAAM3wG,EAAEX,EAAIohI,GAE1BjnG,EAAEqY,GACR,IAAK,IACJ,GAAU,IAAPrY,EAAEv9B,GAAkB,MAAPu9B,EAAEv9B,EAAW,CAC5B,IAAI+O,EAAKq/E,WAAY,SACrB7wD,EAAEqY,EAAI,SACArY,EAAEv9B,EAAIgxE,WAAWzzC,EAAEv9B,GAC1B,MACD,IAAK,IACJ,GAAiB,oBAAPu9B,EAAEv9B,EAAkB,CAC7B,IAAI+O,EAAKq/E,WAAY,SACrB7wD,EAAEqY,EAAI,SAENuuF,EAAOnvC,GAAKj+D,SAASwG,EAAEv9B,EAAG,KAC1Bu9B,EAAEv9B,EAAImkI,EAAKvuF,EACXrY,EAAEsY,EAAIsuF,EAAKtuF,EACR9mC,EAAKkyG,WAAU1jF,EAAE14B,EAAIs/H,EAAKt/H,GAE9B,MACD,IAAK,MACJ04B,EAAEqY,EAAI,IACNrY,EAAEv9B,EAAU,MAALu9B,EAAEv9B,EAAWylF,GAASloD,EAAEv9B,GAAK,GACjC+O,EAAKkyG,WAAU1jF,EAAE14B,EAAIqgF,GAAW3nD,EAAEv9B,IACrC,MACD,IAAK,YACJskI,EAAOjhI,EAAE0O,MAAM+xH,GACfvmG,EAAEqY,EAAI,IACK,MAAR0uF,IAAiBH,EAAOpjB,GAASujB,EAAK,MACxC/mG,EAAEv9B,EAAImkI,EAAKvuF,EACR7mC,EAAKkyG,WAAU1jF,EAAE14B,EAAIs/H,EAAKt/H,IACvB04B,EAAEv9B,EAAI,GACb,MACD,IAAK,IAAKu9B,EAAEv9B,EAAIwlF,GAAajoD,EAAEv9B,GAAI,MACnC,IAAK,IACD+O,EAAKs/E,UAAW9wD,EAAEv9B,EAAIiiF,GAAU1kD,EAAEv9B,EAAG,IACjCu9B,EAAEv9B,EAAI2hF,GAAQM,GAAU1kD,EAAEv9B,EAAG,IAAKu9B,EAAEqY,EAAI,KAC/C,MAED,IAAK,IACA7mC,IAA0B,IAAlBA,EAAKkuG,WAAoB1/E,EAAEtkB,EAAIskB,EAAEv9B,GAC7Cu9B,EAAEv9B,EAAI+wF,GAAMxzD,EAAEv9B,GAAI,MAgBpB,GAbA0/H,EAAQC,EAAS,EACjB95B,EAAK,KACF4+B,QAAuBvlI,IAAV+kF,EAAIpqE,IACnBgsF,EAAK/1F,EAAOg7G,OAAO7mC,EAAIpqE,GACd,MAANgsF,IACgB,MAAfA,EAAG1Y,WAAkBuyC,EAAQ75B,EAAG1Y,UAChCp+E,EAAKk8F,YACS,MAAbpF,EAAGqoB,SAAgByR,EAAS95B,EAAGqoB,UAIrCuR,GAAYliG,EAAGmiG,EAAOC,EAAQ5wH,EAAM6mF,EAAQ9lF,GACzCf,EAAKs/E,WAAao2C,GAAoB,KAAPlnG,EAAEqY,GAAY8yB,EAAIgI,QAAQhI,EAAI6I,OAAOmuD,MAAWniG,EAAEqY,EAAI,IAAKrY,EAAEv9B,EAAI4hF,GAAQrkD,EAAEv9B,IAC1G4tF,EAAO,CACT,IAAIy3C,EAAK34C,GAAYzI,EAAIpuC,GACrBh8B,EAAEwrH,EAAGxvF,KAAIh8B,EAAEwrH,EAAGxvF,GAAK,IACvBh8B,EAAEwrH,EAAGxvF,GAAGwvF,EAAGjiI,GAAKm6B,OACV1jB,EAAEoqE,EAAIpuC,GAAKtY,KAGjBpZ,EAAK9b,OAAS,IAAGwR,EAAE,SAAWsK,IA9JV,GAiKxB,SAASmhH,GAAkBz3C,EAAI9+E,EAAMqB,EAAKk2F,GACzC,IAAoE1uG,EAE7CkH,EAFnBkU,EAAI,GAAI6iC,EAAI,GAAIm1C,EAAQgC,GAAkBa,EAAG,SAAUlD,EAAK,GAAS5c,EAAK,GAAIwsC,EAAO,GAAIvnC,EAAE,EAAGv4D,EAAE,EAAG0J,EAAO0pE,EAAG,SAC7GD,EAAQrzF,MAAMC,QAAQqzF,GACtB5oE,EAAS,CAAE4wB,EAAEk4B,GAAW3yE,GAAU,EACtC,IAAIqf,EAAIuwE,EAAMnxE,EAAEzW,EAAGqX,GAAKuwE,EAAMjnF,EAAEX,IAAKqX,EAAG8/F,EAAK9/F,GAAK8wE,GAAW9wE,GAC7D,IAAIu4D,EAAIgY,EAAMnxE,EAAEg8B,EAAGm9B,GAAKgY,EAAMjnF,EAAE8xC,IAAKm9B,EAAG,CAGvC,IAFAn9B,EAAI,GACJk4B,EAAKud,GAAWtY,GACZv4D,EAAIuwE,EAAMnxE,EAAEzW,EAAGqX,GAAKuwE,EAAMjnF,EAAEX,IAAKqX,EAAG,CACvC7iB,EAAM2iH,EAAK9/F,GAAKszD,EAChB,IAAIw3D,EAAQ33C,GAASC,EAAG7a,IAAI,IAAIv4D,GAAIozE,EAAGj2F,QAC1BsH,IAAVqmI,IAC6D,OAA5D56C,EAAO44C,GAAkBgC,EAAO3tI,EAAKi2F,EAAI9+E,EAAMqB,EAAKk2F,KAAczwD,EAAEpsC,KAAKkhF,KAE3E90C,EAAExtC,OAAS,GAAM8b,GAAQA,EAAK6uD,MAChC/tD,EAAS,CAAE4wB,EAAEk4B,GACV5pD,GAAQA,EAAK6uD,KACfl0E,EAAMqlB,EAAK6uD,GACRl0E,EAAIioG,SAAQ9hF,EAAO8hF,OAAS,GAC/B3rG,GAAU,EACP0D,EAAIi7G,IAAK3+G,EAASy/G,GAAM/7G,EAAIi7G,KACvBj7G,EAAI6oG,MAAKvsG,EAAS0D,EAAI6oG,KAC3BvsG,GAAU,IAAK6pB,EAAO8/G,GAAK3pI,EAAQ6pB,EAAOugH,aAAe,GACzD1mI,EAAI4pD,QAASzjC,EAAO+/G,aAAelmI,EAAI4pD,QAE3C11C,EAAEA,EAAE3K,QAAWu+E,GAAU,MAAO/wC,EAAEnsC,KAAK,IAAKub,IAG9C,GAAGd,EAAM,KAAM6uD,EAAI7uD,EAAK9b,SAAU2qE,EAC9B7uD,GAAQA,EAAK6uD,KACf/tD,EAAS,CAAE4wB,EAAEm9B,EAAE,GACfl0E,EAAMqlB,EAAK6uD,GACRl0E,EAAIioG,SAAQ9hF,EAAO8hF,OAAS,GAC/B3rG,GAAU,EACN0D,EAAIi7G,IAAK3+G,EAASy/G,GAAM/7G,EAAIi7G,KACvBj7G,EAAI6oG,MAAKvsG,EAAS0D,EAAI6oG,KAC3BvsG,GAAU,IAAK6pB,EAAO8/G,GAAK3pI,EAAQ6pB,EAAOugH,aAAe,GACzD1mI,EAAI4pD,QAASzjC,EAAO+/G,aAAelmI,EAAI4pD,OAC3C11C,EAAEA,EAAE3K,QAAWu+E,GAAU,MAAO,GAAI3hE,IAGtC,OAAOjS,EAAEtJ,KAAK,IAGf,IAAI+7H,GAAc7+C,GAAU,YAAa,KAAM,CAC9C,MAASI,GAAM26B,KAAK,GACpB,UAAW36B,GAAMnxC,IAGlB,SAAS6vF,GAAat1H,EAAKrB,EAAMu3F,EAAI/Q,GACpC,IAAIviF,EAAI,CAAC2wE,GAAY8hD,IACjB5rH,EAAIysF,EAAG9Y,WAAWp9E,GAAM6tG,EAAO,EAAG0nB,EAAQ,GAC1C93C,EAAKyY,EAAG7Y,OAAO5zE,GACV,MAANg0E,IAAYA,EAAK,IACpB,IAAIj2F,EAAMi2F,EAAG,SAAW,KACpB7C,EAAQgC,GAAkBp1F,GAC9B,GAAGozF,EAAMjnF,EAAEX,EAAI,OAAU4nF,EAAMjnF,EAAE8xC,EAAI,QAAS,CAC7C,GAAG9mC,EAAKy3E,IAAK,MAAM,IAAI/9E,MAAM,SAAW7Q,EAAM,uCAC9CozF,EAAMjnF,EAAEX,EAAI5H,KAAKsnD,IAAIkoC,EAAMjnF,EAAEX,EAAG,OAChC4nF,EAAMjnF,EAAE8xC,EAAIr6C,KAAKsnD,IAAIkoC,EAAMjnF,EAAEX,EAAG,SAChCxL,EAAMi1F,GAAa7B,GAEhBuK,IAAMA,EAAO,IACjB1H,EAAG,aAAe,GAClB,IAAI+3C,EAAW,GAEfhE,GAAqB/zC,EAAIyY,EAAIl2F,EAAKrB,EAAMiE,GAExCA,EAAEA,EAAE3K,QAAWu+E,GAAU,YAAa,KAAM,CAAC,IAAOhvF,IAEpDob,EAAEA,EAAE3K,QAAU+6H,GAAwBv1C,EAAI9+E,EAAMqB,EAAKk2F,GAGlDv3F,EAAK82H,cAAa7yH,EAAEA,EAAE3K,QAAWu+E,GAAU,gBAAiB,KAAM,CACpEk/C,iBAAiB/2H,EAAK82H,YAAYC,kBAAkB,KACpDC,aAAah3H,EAAK82H,YAAYE,cAAc,KAC5CC,gBAAgBj3H,EAAK82H,YAAYG,iBAAiB,OAGjC,MAAfn4C,EAAG,UAAoBA,EAAG,SAASxlF,OAAS,IAAG2K,EAAEA,EAAE3K,QAAWu6H,GAAkB/0C,EAAIA,EAAG,WAE1F76E,EAAEirG,EAAOjrG,EAAE3K,QAAU,eACrBwlF,EAAG,UAAY,GACE,MAAdA,EAAG,UACL83C,EAAQL,GAAkBz3C,EAAI9+E,EAAMqB,EAAKk2F,EAAI/Q,GAC1CowC,EAAMt9H,OAAS,IAAG2K,EAAEA,EAAE3K,QAAU,IAEjC2K,EAAE3K,OAAO41G,EAAK,IAAKjrG,EAAEA,EAAE3K,QAAU,eAAkB2K,EAAEirG,GAAMjrG,EAAEirG,GAAMh4G,QAAQ,KAAK,MAI9D,MAAlB4nF,EAAG,cAAqB76E,EAAEA,EAAE3K,QAAU85H,GAAwBt0C,EAAG,cAK5C,MAArBA,EAAG,iBAAwB76E,EAAEA,EAAE3K,QAAUw6H,GAAwBh1C,EAAG,eAAgBA,EAAIyY,EAAIl2F,IAM3E,MAAjBy9E,EAAG,YAAsBA,EAAG,WAAWxlF,OAAS,IAAG2K,EAAEA,EAAE3K,QAAWo5H,GAAoB5zC,EAAG,aAM5F,IAAe3oF,EAAX+gI,GAAQ,EAAQxtC,GAAO,EAsD3B,OArDG5K,EAAG,UAAUxlF,OAAS,IACxB2K,EAAEA,EAAE3K,QAAU,eAChBwlF,EAAG,UAAU39E,SAAQ,SAAS/J,GACvBA,EAAE,GAAG6xF,SACT9yF,EAAM,CAAE,IAAMiB,EAAE,IACY,KAAzBA,EAAE,GAAG6xF,OAAOlhF,OAAO,KACrB2hF,EAAMD,GAASjD,GAAO,EAAGxQ,GAAU5+E,EAAE,GAAG6xF,QAAQ/xF,QAAQ,OAAQ,IAAKkxF,GAAKG,OAC1EpyF,EAAI,QAAU,MAAMuzF,IAEjBwtC,EAAO9/H,EAAE,GAAG6xF,OAAOrvF,QAAQ,OAAS,IAAGzD,EAAIG,SAAW0/E,GAAU5+E,EAAE,GAAG6xF,OAAO9+E,MAAM+sH,EAAK,KACxF9/H,EAAE,GAAG29F,UAAS5+F,EAAIuX,QAAUsoE,GAAU5+E,EAAE,GAAG29F,UAC9C9wF,EAAEA,EAAE3K,QAAUu+E,GAAU,YAAY,KAAK1hF,OAE1C8N,EAAEA,EAAE3K,QAAU,wBAERwlF,EAAG,UAIW,MAAlBA,EAAG,cAAqB76E,EAAEA,EAAE3K,QAAWk6H,GAAqB10C,EAAG,cAS9D9+E,IAAQA,EAAKm3H,eAA8B,GAAjBn3H,EAAKm3H,WAAuBlzH,EAAEA,EAAE3K,QAAUq+E,GAAS,gBAAiBE,GAAU,eAAgB,KAAM,CAACu/C,mBAAmB,EAAGC,MAAMxuI,MAI5JguI,EAASv9H,OAAS,IACpBowF,EAAMD,GAASjD,GAAO,EAAG,uBAAyBnlF,EAAI,GAAK,OAAQ+mF,GAAK+5B,MACxEl+G,EAAEA,EAAE3K,QAAUu+E,GAAU,UAAW,KAAM,CAAC,OAAO,MAAQ6R,IACzD5K,EAAG,YAAc+3C,GAGf/3C,EAAG,aAAaxlF,OAAS,IAC3BowF,EAAMD,GAASjD,GAAO,EAAG,0BAA4BnlF,EAAI,GAAK,OAAQ+mF,GAAKI,KAC3EvkF,EAAEA,EAAE3K,QAAUu+E,GAAU,gBAAiB,KAAM,CAAC,OAAO,MAAQ6R,IAC/D5K,EAAG,WAAa4K,GAWdzlF,EAAE3K,OAAO,IAAK2K,EAAEA,EAAE3K,QAAU,eAAkB2K,EAAE,GAAGA,EAAE,GAAG/M,QAAQ,KAAK,MACjE+M,EAAEtJ,KAAK,IAIf,SAAS28H,GAAgB3oI,EAAM2K,GAC9B,IAAI+7E,EAAI,GACJpQ,EAAMt2E,EAAKyI,EAAIkC,EACnB+7E,EAAEvuC,EAAIn4C,EAAK81E,WAAW,GACtB91E,EAAKyI,GAAK,EACV,IAAIuhG,EAAQhqG,EAAK81E,WAAW,GAC5B91E,EAAKyI,GAAK,EACV,IAAIk1D,EAAQ39D,EAAK81E,WAAW,GAK5B,OAJA91E,EAAKyI,EAAI6tE,EACE,EAAR3Y,IAAc+oB,EAAE17B,MAAgB,EAAR2S,GAChB,GAARA,IAAc+oB,EAAE2iB,QAAS,GACjB,GAAR1rC,IAAc+oB,EAAEujB,IAAMD,EAAQ,IAC1BtjB,EAER,SAASkiD,GAAgBtzD,EAAGgY,EAAO6C,GAClC,IAAI76E,EAAI2jE,GAAQ,KACZ73E,GAAO+uF,EAAG,UAAU,IAAI7a,IAAI,GAChChgE,EAAEqgE,YAAY,EAAGL,GAEjBhgE,EAAEqgE,YAAY,EAAG,GAEjB,IAAIq0B,EAAQ,IACT5oG,EAAIi7G,IAAKrS,EAAyB,GAAjBmT,GAAM/7G,EAAIi7G,KACtBj7G,EAAI6oG,MAAKD,EAAkB,GAAV5oG,EAAI6oG,KAC7B30F,EAAEqgE,YAAY,EAAGq0B,GAEjB10F,EAAEqgE,YAAY,EAAG,GAEjB,IAAIhY,EAAQ,EACTv8D,EAAI4pD,QAAO2S,GAASv8D,EAAI4pD,OACxB5pD,EAAIioG,SAAQ1rC,GAAS,KACrBv8D,EAAIi7G,KAAOj7G,EAAI6oG,OAAKtsC,GAAS,IAChCroD,EAAEqgE,YAAY,EAAGhY,GAEjBroD,EAAEqgE,YAAY,EAAG,GAGjB,IAAIkzD,EAAW,EAAGC,EAAMxzH,EAAE7M,EAC1B6M,EAAE7M,GAAK,EAGP,IADA,IAAIsgI,EAAQ,CAAC5wF,EAAEm9B,EAAG5vE,EAAE,GACZ0B,EAAI,EAAGA,EAAI,KAAMA,EACxB,KAAIkmF,EAAMnxE,EAAEzW,EAAM0B,EAAE,GAAM,IAASkmF,EAAMjnF,EAAEX,EAAK0B,GAAK,IAArD,CAEA,IADA,IAAI4hI,GAAS,EAAGruG,GAAQ,EAChBpzB,EAAKH,GAAG,GAAKG,EAAMH,EAAE,GAAI,KAAOG,EAAG,CAC1CwhI,EAAMrjI,EAAI6B,EACV,IAAI0lF,EAAOpwF,MAAMC,QAAQqzF,IAAOA,EAAG44C,EAAM5wF,IAAI,IAAI4wF,EAAMrjI,GAAKyqF,EAAG3C,GAAYu7C,IACxE97C,IAAW+7C,EAAQ,IAAGA,EAAQzhI,GAAGozB,EAAOpzB,GAEzCyhI,EAAQ,MACTH,EACFvzH,EAAEqgE,YAAY,EAAGqzD,GACjB1zH,EAAEqgE,YAAY,EAAGh7C,IAGlB,IAAIlyB,EAAI6M,EAAE7M,EAKV,OAJA6M,EAAE7M,EAAIqgI,EACNxzH,EAAEqgE,YAAY,EAAGkzD,GACjBvzH,EAAE7M,EAAIA,EAEC6M,EAAE3K,OAAS2K,EAAE7M,EAAI6M,EAAEkG,MAAM,EAAGlG,EAAE7M,GAAK6M,EAE3C,SAAS2zH,GAAiBn8C,EAAIqD,EAAI7C,EAAOhY,GACxC,IAAIhgE,EAAIszH,GAAgBtzD,EAAGgY,EAAO6C,IAC9B76E,EAAE3K,OAAS,KAAQwlF,EAAG,UAAU,IAAI7a,KAAIuX,GAAaC,EAAI,YAAax3E,GAI3E,IAAI4zH,GAAiBl2C,GACjBm2C,GAAiBl2C,GAGrB,SAASm2C,MAKT,SAASC,GAAgBrpI,EAAM2K,GAC9B,IAAI+7E,EAAI,GAIR,OAFA1mF,EAAKyI,GAAK,GACVi+E,EAAEltF,KAAOy4F,GAAmBjyF,EAAM2K,EAAS,IACpC+7E,EAER,SAAS4iD,GAAgBp5H,EAAKoF,GACrB,MAALA,IAAWA,EAAI2jE,GAAQ,GAAG,EAAE/oE,EAAIvF,SACnC,IAAI,IAAIvD,EAAI,EAAGA,EAAI,IAAKA,EAAGkO,EAAEqgE,YAAY,EAAE,GAK3C,OAJAwe,GAAe,CAACP,KAAK,GAAIt+E,GACzBA,EAAEqgE,aAAa,GAAG,GAClBrgE,EAAEqgE,aAAa,GAAG,GAClBuc,GAAmBhiF,EAAKoF,GACjBA,EAAEkG,MAAM,EAAGlG,EAAE7M,GAIrB,SAAS8gI,GAAmBvpI,GAC3B,IAAIitF,EAAO6E,GAAe9xF,GAC1B,MAAO,CAACitF,GAET,SAASu8C,GAAmBv8C,EAAMw8C,EAAOn0H,GAExC,OADQ,MAALA,IAAWA,EAAI2jE,GAAQ,IACnB+Y,GAAey3C,EAAOn0H,GAK9B,SAASo0H,GAAkB1pI,GAC1B,IAAIitF,EAAO6E,GAAe9xF,GACtB2pI,EAAQ3pI,EAAK81E,WAAW,GAC5B,MAAO,CAACmX,EAAM08C,EAAO,KAEtB,SAASC,GAAkB38C,EAAMw8C,EAAOn0H,GAIvC,OAHQ,MAALA,IAAWA,EAAI2jE,GAAQ,IAC1B+Y,GAAey3C,EAAOn0H,GACtBA,EAAEqgE,YAAY,EAAGsX,EAAK3qF,EAAI,EAAI,GACvBgT,EAIR,SAASu0H,GAAmB7pI,GAC3B,IAAIitF,EAAO6E,GAAe9xF,GACtB8pI,EAAS9pI,EAAK81E,WAAW,GAC7B,MAAO,CAACmX,EAAM68C,EAAQ,KAIvB,SAASC,GAAkB/pI,GAC1B,IAAIitF,EAAO6E,GAAe9xF,GACtBosG,EAAOpsG,EAAK81E,WAAW,GAC3B,MAAO,CAACmX,EAAMmf,EAAM,KAErB,SAAS49B,GAAkB/8C,EAAMw8C,EAAOn0H,GAIvC,OAHQ,MAALA,IAAWA,EAAI2jE,GAAQ,KAC1B+Y,GAAey3C,EAAOn0H,GACtBA,EAAEqgE,YAAY,EAAG8zD,EAAMnnI,GAChBgT,EAIR,SAAS20H,GAAkBjqI,GAC1B,IAAIitF,EAAO6E,GAAe9xF,GACtBlH,EAAQo6F,GAAWlzF,GACvB,MAAO,CAACitF,EAAMn0F,EAAO,KAEtB,SAASoxI,GAAkBj9C,EAAMw8C,EAAOn0H,GAIvC,OAHQ,MAALA,IAAWA,EAAI2jE,GAAQ,KAC1B+Y,GAAey3C,EAAOn0H,GACtB69E,GAAWlG,EAAK3qF,EAAGgT,GACZA,EAIR,SAAS60H,GAAgBnqI,GACxB,IAAIitF,EAAO6E,GAAe9xF,GACtBlH,EAAQ05F,GAAexyF,GAC3B,MAAO,CAACitF,EAAMn0F,EAAO,KAEtB,SAASsxI,GAAgBn9C,EAAMw8C,EAAOn0H,GAIrC,OAHQ,MAALA,IAAWA,EAAI2jE,GAAQ,KAC1B+Y,GAAey3C,EAAOn0H,GACtBs9E,GAAe3F,EAAK3qF,EAAGgT,GAChBA,EAKR,SAAS+0H,GAAgBrqI,GACxB,IAAIitF,EAAO6E,GAAe9xF,GACtBlH,EAAQi4F,GAAmB/wF,GAC/B,MAAO,CAACitF,EAAMn0F,EAAO,OAEtB,SAASwxI,GAAgBr9C,EAAMw8C,EAAOn0H,GAIrC,OAHQ,MAALA,IAAWA,EAAI2jE,GAAQ,GAAK,EAAIgU,EAAK3qF,EAAEqI,SAC1CqnF,GAAey3C,EAAOn0H,GACtB27E,GAAmBhE,EAAK3qF,EAAGgT,GACpBA,EAAE3K,OAAS2K,EAAE7M,EAAI6M,EAAEkG,MAAM,EAAGlG,EAAE7M,GAAK6M,EAI3C,SAASi1H,GAAkBvqI,EAAM2K,EAAQ0G,GACxC,IAAIxF,EAAM7L,EAAKyI,EAAIkC,EACfsiF,EAAO6E,GAAe9xF,GAC1BitF,EAAK90C,EAAI9mC,EAAK,QACd,IAAIvY,EAAQkH,EAAK81E,WAAW,GACxBxgE,EAAI,CAAC23E,EAAMn0F,EAAO,KACtB,GAAGuY,EAAKm2H,YAAa,CACpBxnI,EAAKyI,GAAK,EACV,IAAIuzG,EAAUykB,GAA4BzgI,EAAM6L,EAAM7L,EAAKyI,EAAG4I,GAC9DiE,EAAE,GAAKipH,GAAkBviB,EAAS,KAAe/uB,EAAM57E,EAAK8sH,SAAU9sH,QAElErR,EAAKyI,EAAIoD,EACd,OAAOyJ,EAIR,SAASk1H,GAAmBxqI,EAAM2K,EAAQ0G,GACzC,IAAIxF,EAAM7L,EAAKyI,EAAIkC,EACfsiF,EAAO6E,GAAe9xF,GAC1BitF,EAAK90C,EAAI9mC,EAAK,QACd,IAAIvY,EAAQkH,EAAK81E,WAAW,GACxBxgE,EAAI,CAAC23E,EAAMn0F,EAAO,KACtB,GAAGuY,EAAKm2H,YAAa,CACpBxnI,EAAKyI,GAAK,EACV,IAAIuzG,EAAUykB,GAA4BzgI,EAAM6L,EAAM7L,EAAKyI,EAAG4I,GAC9DiE,EAAE,GAAKipH,GAAkBviB,EAAS,KAAe/uB,EAAM57E,EAAK8sH,SAAU9sH,QAElErR,EAAKyI,EAAIoD,EACd,OAAOyJ,EAIR,SAASm1H,GAAiBzqI,EAAM2K,EAAQ0G,GACvC,IAAIxF,EAAM7L,EAAKyI,EAAIkC,EACfsiF,EAAO6E,GAAe9xF,GAC1BitF,EAAK90C,EAAI9mC,EAAK,QACd,IAAIvY,EAAQo6F,GAAWlzF,GACnBsV,EAAI,CAAC23E,EAAMn0F,EAAO,KACtB,GAAGuY,EAAKm2H,YAAa,CACpBxnI,EAAKyI,GAAK,EACV,IAAIuzG,EAAUykB,GAA4BzgI,EAAM6L,EAAM7L,EAAKyI,EAAG4I,GAC9DiE,EAAE,GAAKipH,GAAkBviB,EAAS,KAAe/uB,EAAM57E,EAAK8sH,SAAU9sH,QAElErR,EAAKyI,EAAIoD,EACd,OAAOyJ,EAIR,SAASo1H,GAAoB1qI,EAAM2K,EAAQ0G,GAC1C,IAAIxF,EAAM7L,EAAKyI,EAAIkC,EACfsiF,EAAO6E,GAAe9xF,GAC1BitF,EAAK90C,EAAI9mC,EAAK,QACd,IAAIvY,EAAQi4F,GAAmB/wF,GAC3BsV,EAAI,CAAC23E,EAAMn0F,EAAO,OACtB,GAAGuY,EAAKm2H,YAAa,CACpBxnI,EAAKyI,GAAK,EACV,IAAIuzG,EAAUykB,GAA4BzgI,EAAM6L,EAAM7L,EAAKyI,EAAG4I,GAC9DiE,EAAE,GAAKipH,GAAkBviB,EAAS,KAAe/uB,EAAM57E,EAAK8sH,SAAU9sH,QAElErR,EAAKyI,EAAIoD,EACd,OAAOyJ,EAIR,IAAIq1H,GAAqB33C,GACrB43C,GAAqB33C,GAEzB,SAAS43C,GAAyB3xD,EAAK5jE,GAGtC,OAFQ,MAALA,IAAWA,EAAI2jE,GAAQ,IAC1B3jE,EAAEqgE,YAAY,EAAGuD,GACV5jE,EAIR,SAASw1H,GAAe9qI,EAAM2K,GAC7B,IAAIkB,EAAM7L,EAAKyI,EAAIkC,EACf4qH,EAAMviC,GAAmBhzF,EAAM,IAC/B+qI,EAAQ54C,GAA2BnyF,GACnCwrF,EAAMuF,GAAmB/wF,GACzB+e,EAAUgyE,GAAmB/wF,GAC7Bq6B,EAAU02D,GAAmB/wF,GACjCA,EAAKyI,EAAIoD,EACT,IAAIyJ,EAAI,CAAEigH,IAAIA,EAAKwV,MAAMA,EAAOv/C,IAAIA,EAAKnxD,QAAQA,GAEjD,OADGtb,IAASzJ,EAAE8wF,QAAUrnF,GACjBzJ,EAER,SAAS01H,GAAeviI,EAAGsyF,GAC1B,IAAIzlF,EAAI2jE,GAAQ,GAAG,GAAGxwE,EAAE,GAAG6xF,OAAO3vF,QAAUlC,EAAE,GAAG29F,SAAW,IAAIz7F,SAChEsoF,GAAmB,CAAC92E,EAAE6yE,GAAYvmF,EAAE,IAAKpC,EAAE2oF,GAAYvmF,EAAE,KAAM6M,GAC/Di9E,GAAY,MAAQwI,EAAKzlF,GACzB,IAAI21H,EAASxiI,EAAE,GAAG6xF,OAAOrvF,QAAQ,KAC7BugF,GAAiB,GAAXy/C,EAAe,GAAKxiI,EAAE,GAAG6xF,OAAO9+E,MAAMyvH,EAAO,GAIvD,OAHAh6C,GAAmBzF,GAAO,GAAIl2E,GAC9B27E,GAAmBxoF,EAAE,GAAG29F,SAAW,GAAI9wF,GACvC27E,GAAmB,GAAI37E,GAChBA,EAAEkG,MAAM,EAAGlG,EAAE7M,GAIrB,SAASyiI,MAIT,SAASC,GAAiBnrI,EAAM2K,EAAQ0G,GACvC,IAAIxF,EAAM7L,EAAKyI,EAAIkC,EACf4qH,EAAMziC,GAAU9yF,EAAM,IACtBorI,EAAcprI,EAAK81E,WAAW,GAC9BxgE,EAAI,CAACigH,GACT,GADejgH,EAAE,GAAK81H,EACnB/5H,EAAKm2H,YAAa,CACpB,IAAIxrB,EAAUwkB,GAA6BxgI,EAAM6L,EAAM7L,EAAKyI,EAAG4I,GAC/DiE,EAAE,GAAK0mG,OACDh8G,EAAKyI,EAAIoD,EAChB,OAAOyJ,EAIR,SAAS+1H,GAAiBrrI,EAAM2K,EAAQ0G,GACvC,IAAIxF,EAAM7L,EAAKyI,EAAIkC,EACf4qH,EAAMviC,GAAmBhzF,EAAM,IAC/BsV,EAAI,CAACigH,GACT,GAAGlkH,EAAKm2H,YAAa,CACpB,IAAIxrB,EAAU2kB,GAA8B3gI,EAAM6L,EAAM7L,EAAKyI,EAAG4I,GAChEiE,EAAE,GAAK0mG,EACPh8G,EAAKyI,EAAIoD,OACH7L,EAAKyI,EAAIoD,EAChB,OAAOyJ,EAKR,SAASg2H,GAAiBvuH,EAAG+xE,EAAKx5E,GACzB,MAALA,IAAWA,EAAI2jE,GAAQ,KAC1B,IAAIp5C,EAAI0hG,GAAUxkH,EAAG+xE,GACrBx5E,EAAEqgE,aAAa,EAAG54D,GAClBzH,EAAEqgE,aAAa,EAAG54D,GAClBzH,EAAEqgE,YAAY,EAAqB,KAAjB91C,EAAEpiC,OAAS,KAC7B6X,EAAEqgE,YAAY,EAAG,GACjB,IAAIhY,EAAQ,EAKZ,OAJGmxB,EAAIua,SAAQ1rC,GAAS,GACH,iBAAX99B,EAAEpiC,QAAmBkgE,GAAS,GACrCmxB,EAAI9jC,QAAO2S,GAAUmxB,EAAI9jC,OAAS,GACrC11C,EAAEqgE,YAAY,EAAGhY,GACVroD,EAIR,IAAIi2H,GAAgB,CAAC,OAAO,QAAQ,MAAM,SAAS,SAAS,UAC5D,SAASC,GAAiBxrI,GACzB,IAAIyhI,EAAU,GAEd,OADA8J,GAAc/4H,SAAQ,SAASzS,GAAK0hI,EAAQ1hI,GAAKmzF,GAAWlzF,EAAM,MAC3DyhI,EAER,SAASgK,GAAiBhK,EAASnsH,GAIlC,OAHQ,MAALA,IAAWA,EAAI2jE,GAAQ,KAC1BuoD,GAAgBC,GAChB8J,GAAc/4H,SAAQ,SAASzS,GAAKozF,GAAW,EAAUpzF,GAAIuV,MACtDA,EAIR,SAASo2H,GAAqB1rI,GAC7B,IAAI2G,EAAI3G,EAAK81E,WAAW,GAExB,OADA91E,EAAKyI,GAAK,GACH,CAAEmjG,IAAS,GAAJjlG,GAEf,SAASglI,GAAqBx7C,EAAIm0C,EAAUhvH,GACnC,MAALA,IAAWA,EAAI2jE,GAAQ,KAC1B,IAAItyE,EAAI,IAcR,SAbM29H,GAAU,IAAIkB,OAAO,IAAI,IAAI,IAAI55B,MAAKjlG,GAAK,IACjD2O,EAAEqgE,YAAY,EAAGhvE,GACjB2O,EAAEqgE,YAAY,EAAG,GACjBrgE,EAAEqgE,YAAY,EAAG,GACjBrgE,EAAEqgE,YAAY,EAAG,GACjBrgE,EAAEqgE,YAAY,EAAG,GACjBrgE,EAAEqgE,YAAY,EAAG,GACjBrgE,EAAEqgE,YAAY,EAAG,GACjBrgE,EAAEqgE,YAAY,EAAG,KACjBrgE,EAAEqgE,YAAY,EAAG,GACjBrgE,EAAEqgE,YAAY,EAAG,GACjBrgE,EAAEqgE,YAAY,EAAG,GACjBrgE,EAAEqgE,YAAY,EAAG,GACVrgE,EAIR,SAASs2H,GAAsB1xI,GAC9B,IAAIob,EAAI2jE,GAAQ,IAIhB,OAHA3jE,EAAEqgE,YAAY,EAAG,GACjBrgE,EAAEqgE,YAAY,EAAG,GACjBsd,GAAmB/4F,EAAKob,GACjBA,EAIR,SAASu2H,GAAyBlN,EAAIrpH,GAwBrC,OAvBQ,MAALA,IAAWA,EAAI2jE,GAAQ,KAC1B3jE,EAAEqgE,YAAY,EAAGgpD,EAAG7sG,SAAWo1F,GAAsCyX,EAAG7sG,UAAY,GACpFxc,EAAEqgE,YAAY,EAAG,GACjB,CACC,CAAC,WAAuB,GACxB,CAAC,aAAuB,GACxB,CAAC,eAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,oBAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,qBAAuB,GACxB,CAAC,QAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,eAAwB,GACzB,CAAC,uBAAuB,IACvBnjE,SAAQ,SAASoB,GACjBA,EAAE,GAAI0B,EAAEqgE,YAAY,EAAe,MAAZgpD,EAAG/qH,EAAE,KAAgB+qH,EAAG/qH,EAAE,IAAU,EAAJ,GAC9C0B,EAAEqgE,YAAY,EAAe,MAAZgpD,EAAG/qH,EAAE,KAAe+qH,EAAG/qH,EAAE,IAAM,EAAI,MAExD0B,EAGR,SAASw2H,MAET,SAASC,MAGT,SAASC,GAAahsI,EAAMk7E,EAAOxoE,EAAKmlF,EAAM+Q,EAAI1Q,EAAQ9lF,GACzD,IAAIpS,EAAM,OAAOA,EACjB,IAAIqR,EAAO6pE,GAAS,GAChB2c,IAAMA,EAAO,CAAC,MAAM,KACZ,MAAT5tB,GAA+B,MAAd54D,EAAK6+E,QAAe7+E,EAAK6+E,MAAQjmB,GACrD,IAEI/vE,EAKAkH,EAAKy+B,EAAGsoE,EAAI7yB,EAAGv4D,EAAGy8D,EAAMitD,EAAMp2D,EAAI4c,EAPlC9wE,EAAK9K,EAAK6+E,MAAQ,GAAK,GAGvBuwB,EAAW,CAACtkG,EAAG,CAACg8B,EAAE,IAASzyC,EAAE,KAAUW,EAAG,CAAC8xC,EAAE,EAAGzyC,EAAE,IAElDnB,EAAQ,GACRw9G,GAAO,EAAOl2G,GAAM,EAEpB4mG,EAAS,GACbphG,EAAK+7E,KAAO,GACZ/7E,EAAK,QAAU,EAEf,IAAI46H,EAAK,EAAGC,GAAK,EAEbzM,EAAS,GACTH,EAAU,GACVnB,EAAW9sH,EAAK8sH,UAAYv1B,EAAGu1B,UAAY,CAAE,IAIjD,GAHAA,EAASmB,QAAUA,EACnBnB,EAASsB,OAASA,EAClBtB,EAASruC,WAAa8Y,EAAG9Y,YAAc8Y,EAAG7Y,OAAOhzF,KAAI,SAASqT,GAAK,OAAOA,EAAE5W,SACxE6X,EAAK8sH,WACR9sH,EAAK8sH,SAAWA,EACbv1B,EAAGw8B,OAAO,IAAI,IAAIh+H,EAAI,EAAGA,EAAIwhG,EAAGw8B,MAAMz6H,SAAUvD,EAAG+2H,EAAS,GAAG/2H,EAAE,GAAKwhG,EAAGw8B,MAAMh+H,GAGnF,IAAIq0G,EAAU,GAAID,EAAU,GACxBspB,GAAU,EA6Nd,GA3NA54C,GAAalsF,GAAM,SAAkByS,EAAK4xG,EAAKh4B,GAC9C,IAAGxgF,EACH,OAAOwgF,GACN,KAAK,IACJnyF,EAAMuY,EAAK,MACZ,KAAK,EACJrR,EAAMqR,EACHpB,EAAKglG,WAAahlG,EAAKglG,WAAaj1G,EAAI+2C,IAAGtsC,GAAI,GAClDwkE,EAAKud,GAAWtY,EAAIl0E,EAAI+2C,GACxB9mC,EAAK,QAAUjQ,EAAI+2C,GAChB1lC,EAAI42F,QAAU52F,EAAIw3F,KAAoB,MAAbx3F,EAAIu4C,SAC5Bv4C,EAAIw3F,MAAKx3F,EAAI4pG,IAAMC,GAAM7pG,EAAIw3F,MAChCuR,EAAQ/oG,EAAI0lC,GAAK1lC,GAElB,MAED,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,GAEJ,OADAotB,EAAI,CAAEqY,EAAEzlC,EAAI,IACLA,EAAI,IACV,IAAK,IAAKotB,EAAEv9B,EAAImQ,EAAI,GAAI,MACxB,IAAK,IAAKg0H,EAAOnvC,GAAK7kF,EAAI,IAAKotB,EAAEv9B,EAAImkI,EAAKvuF,EAAGrY,EAAEsY,EAAIsuF,EAAKtuF,EAAG,MAC3D,IAAK,IAAKtY,EAAEv9B,IAAImQ,EAAI,GAAmB,MACvC,IAAK,IAAKotB,EAAEv9B,EAAImQ,EAAI,IAAyB,IAAlBpB,EAAKkuG,WAAoB1/E,EAAEtkB,EAAI63E,GAAKvzD,EAAEv9B,IAAI,MACrE,IAAK,MAAOu9B,EAAEqY,EAAI,IAAKrY,EAAEv9B,EAAImQ,EAAI,GAAI,MAMtC,IAJI01F,EAAK/1F,EAAOg7G,OAAO36G,EAAI,GAAGs/E,aAAagwC,GAAYliG,EAAEsoE,EAAG1Y,SAAS,KAAKp+E,EAAM6mF,EAAQ9lF,GACxF2K,EAAItK,EAAI,GAAG/M,EACR2L,EAAK6+E,OAAa/zE,EAAEm5D,KAAIn5D,EAAEm5D,GAAK,IAAIn5D,EAAEm5D,GAAGv4D,GAAK8iB,GAC3C1jB,EAAE0xE,GAAW9wE,GAAKszD,GAAMxwC,EAC1BxuB,EAAKm2H,YAAa,CAEpB,IADA0E,GAAK,EACDD,EAAK,EAAGA,EAAKxM,EAAO90H,SAAUshI,EAAI,CACrC,IAAIE,EAAM1M,EAAOwM,GACd7qI,EAAI+2C,GAAKg0F,EAAI,GAAGhwH,EAAEg8B,GAAK/2C,EAAI+2C,GAAKg0F,EAAI,GAAG9lI,EAAE8xC,GACxCp7B,GAAKovH,EAAI,GAAGhwH,EAAEzW,GAAKqX,GAAKovH,EAAI,GAAG9lI,EAAEX,IACnCm6B,EAAEziB,EAAI+xE,GAAag9C,EAAI,IAAKD,GAAK,IAGhCA,GAAMz5H,EAAI9H,OAAS,IAAGk1B,EAAEl5B,EAAI8L,EAAI,IAMrC,GAJGguG,EAAStkG,EAAEg8B,EAAI/2C,EAAI+2C,IAAGsoE,EAAStkG,EAAEg8B,EAAI/2C,EAAI+2C,GACzCsoE,EAAStkG,EAAEzW,EAAIqX,IAAG0jG,EAAStkG,EAAEzW,EAAIqX,GACjC0jG,EAASp6G,EAAE8xC,EAAI/2C,EAAI+2C,IAAGsoE,EAASp6G,EAAE8xC,EAAI/2C,EAAI+2C,GACzCsoE,EAASp6G,EAAEX,EAAIqX,IAAG0jG,EAASp6G,EAAEX,EAAIqX,GACjC1L,EAAKs/E,WAAawX,GAAa,KAAPtoE,EAAEqY,GAAY8yB,EAAIgI,QAAQhI,EAAI6I,OAAOs0B,EAAG1Y,WAAY,CAC9E,IAAI28C,EAAKphE,EAAIyB,gBAAgB5sC,EAAEv9B,GAAO8pI,IAAMvsG,EAAEqY,EAAI,IAAKrY,EAAEv9B,EAAI,IAAImR,KAAK24H,EAAGzvG,EAAGyvG,EAAG1jI,EAAE,EAAE0jI,EAAGzmI,EAAEymI,EAAGt/D,EAAEs/D,EAAGpvH,EAAEovH,EAAGr/D,EAAEq/D,EAAGh0F,IAE3G,MAED,KAAK,EACJ,IAAI/mC,EAAKq/E,YAAcqxB,EAAM,MAC7BliF,EAAI,CAAEqY,EAAE,IAAI51C,OAAEd,GACdub,EAAItK,EAAI,GAAG/M,EACR2L,EAAK6+E,OAAa/zE,EAAEm5D,KAAIn5D,EAAEm5D,GAAK,IAAIn5D,EAAEm5D,GAAGv4D,GAAK8iB,GAC3C1jB,EAAE0xE,GAAW9wE,GAAKszD,GAAMxwC,EAC1B4gF,EAAStkG,EAAEg8B,EAAI/2C,EAAI+2C,IAAGsoE,EAAStkG,EAAEg8B,EAAI/2C,EAAI+2C,GACzCsoE,EAAStkG,EAAEzW,EAAIqX,IAAG0jG,EAAStkG,EAAEzW,EAAIqX,GACjC0jG,EAASp6G,EAAE8xC,EAAI/2C,EAAI+2C,IAAGsoE,EAASp6G,EAAE8xC,EAAI/2C,EAAI+2C,GACzCsoE,EAASp6G,EAAEX,EAAIqX,IAAG0jG,EAASp6G,EAAEX,EAAIqX,GACpC,MAED,KAAK,IACJ01F,EAAO1mG,KAAK0G,GAAM,MAEnB,KAAK,IACJ,IAAIjL,EAAMqwF,EAAK,OAAOplF,EAAIs4H,OAQ1B,IAPGvjI,GACFiL,EAAI6nF,OAAS9yF,EAAI8yF,OACd7nF,EAAI+4E,MAAK/4E,EAAI6nF,QAAU,IAAI7nF,EAAI+4E,KAClC/4E,EAAIiyH,IAAMl9H,GACY,IAAbiL,EAAIs4H,QACbt4H,EAAI6nF,OAAS,IAAM7nF,EAAI+4E,KAEpBlW,EAAE7iE,EAAI8iH,IAAIp5G,EAAEg8B,EAAEm9B,GAAG7iE,EAAI8iH,IAAIlvH,EAAE8xC,IAAIm9B,EAAG,IAAIv4D,EAAEtK,EAAI8iH,IAAIp5G,EAAEzW,EAAEqX,GAAGtK,EAAI8iH,IAAIlvH,EAAEX,IAAIqX,EACrE1L,EAAK6+E,OACH/zE,EAAEm5D,KAAIn5D,EAAEm5D,GAAK,IACbn5D,EAAEm5D,GAAGv4D,KAAIZ,EAAEm5D,GAAGv4D,GAAK,CAACm7B,EAAE,IAAI51C,OAAEd,IAChC2a,EAAEm5D,GAAGv4D,GAAGtU,EAAIgK,IAEZ+mE,EAAOgU,GAAY,CAAC9nF,EAAEqX,EAAEo7B,EAAEm9B,IACtBn5D,EAAEq9D,KAAOr9D,EAAEq9D,GAAQ,CAACthC,EAAE,IAAI51C,OAAEd,IAChC2a,EAAEq9D,GAAM/wE,EAAIgK,GAGd,MAED,KAAK,IACJ,IAAIpB,EAAKm2H,YAAa,MACtB/H,EAAO1zH,KAAK0G,GACZw6E,EAAS57E,EAAK6+E,MAAQ/zE,EAAEm5D,GAAGv4D,GAAKZ,EAAE0xE,GAAW9wE,GAAKszD,GAClD4c,EAAKtmF,EAAI43H,GAAkB9rH,EAAI,GAAIguG,EAAU,CAACtoE,EAAE/2C,EAAI+2C,EAAGzyC,EAAEqX,GAAIohH,EAAU9sH,GACvE47E,EAAK7vE,EAAI+xE,GAAa18E,EAAI,IAC1B,MACD,KAAK,IACJ,IAAIpB,EAAKm2H,YAAa,MACtBlI,EAAQ9xC,GAAY/6E,EAAI,GAAG0J,IAAM1J,EAAI,GACrCw6E,EAAQ57E,EAAK6+E,MAAQ/zE,EAAEm5D,GAAGv4D,GAAKZ,EAAE0xE,GAAW9wE,GAAKszD,GACjD4c,EAAKtmF,EAAI43H,GAAkB9rH,EAAI,GAAIguG,EAAU,CAACtoE,EAAE/2C,EAAI+2C,EAAGzyC,EAAEqX,GAAIohH,EAAU9sH,GACvE,MAGD,KAAK,GACJ,IAAIA,EAAKk8F,WAAY,MACrB,MAAM96F,EAAIpM,GAAKoM,EAAI0J,EAClBs/F,EAAQhpG,EAAIpM,KAAO,CAAE5I,MAAOgV,EAAI8I,EAAE,IAAK8tF,UAAuB,EAAZ52F,EAAIkrD,OAAe3S,MAAOv4C,EAAIu4C,OAC5E85E,IAAWA,GAAU,EAAM9Z,GAAcv4G,EAAI8I,EAAE,MACnD6gG,GAAYX,EAAQhpG,EAAIpM,EAAE,IAE3B,MAED,KAAK,IACJ8V,EAAE,eAAiB,CAAEjiB,IAAIi1F,GAAa18E,IACtC,MAED,KAAK,IACJ0J,EAAE,YAAc1J,EAChB,MAED,KAAK,IACAm2F,EAAG7Y,OAAOr9E,KAAMk2F,EAAG7Y,OAAOr9E,GAAO,IAClCD,EAAIjZ,OAAMovG,EAAG7Y,OAAOr9E,GAAKuxH,SAAWxxH,EAAIjZ,MAC3C,MAED,KAAK,IACAovG,EAAG48B,QAAO58B,EAAG48B,MAAQ,CAAC,KACtB58B,EAAG48B,MAAM,KAAI58B,EAAG48B,MAAM,GAAK,IAC5B/yH,EAAIm5F,MAAKhD,EAAG48B,MAAM,GAAG55B,KAAM,GAC9B,MAED,KAAK,IACJ,MAED,KAAK,GACL,KAAK,KACJ,MAED,KAAK,IACJ,MACD,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,GACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,GACL,KAAK,KACL,KAAK,KACJ,MAED,KAAK,GACJmW,GAAO,EAAM,MACd,KAAK,GACJA,GAAO,EAAO,MACf,KAAK,GACJx9G,EAAMwH,KAAKs4G,GAAMtC,GAAO,EAAM,MAC/B,KAAK,GACJx9G,EAAMyP,MAAO+tG,GAAO,EAAO,MAE5B,QACC,IAAIsC,GAAK,IAAIp5G,QAAQ,SAAW,QAC3B,IAAIo5G,GAAK,IAAIp5G,QAAQ,OAAS,QAC9B,IAAI82G,GAAQ1wG,EAAKy3E,IAAK,MAAM,IAAI/9E,MAAM,qBAAuBshF,EAAK,IAAMg4B,MAE7EhzG,UAEIA,EAAK8sH,gBACL9sH,EAAK,SAER8K,EAAE,UAAYskG,EAAStkG,EAAEg8B,EAAI,KAAWj+C,IAAQA,EAAImM,EAAE8xC,EAAI,GAAKj+C,EAAImM,EAAEX,EAAI,GAAKxL,EAAIiiB,EAAEg8B,EAAI,GAAKj+C,EAAIiiB,EAAEzW,EAAI,MAAKyW,EAAE,QAAUgzE,GAAaj1F,GAAOumH,IAC7IpvG,EAAKglG,WAAal6F,EAAE,QAAS,CAC/B,IAAI2nH,EAASx0C,GAAkBnzE,EAAE,SAC9B9K,EAAKglG,YAAcytB,EAAOz9H,EAAE8xC,IAC9B2rF,EAAOz9H,EAAE8xC,EAAI9mC,EAAKglG,UAAY,EAC3BytB,EAAOz9H,EAAE8xC,EAAIsoE,EAASp6G,EAAE8xC,IAAG2rF,EAAOz9H,EAAE8xC,EAAIsoE,EAASp6G,EAAE8xC,GACnD2rF,EAAOz9H,EAAE8xC,EAAI2rF,EAAO3nH,EAAEg8B,IAAG2rF,EAAO3nH,EAAEg8B,EAAI2rF,EAAOz9H,EAAE8xC,GAC/C2rF,EAAOz9H,EAAEX,EAAI+6G,EAASp6G,EAAEX,IAAGo+H,EAAOz9H,EAAEX,EAAI+6G,EAASp6G,EAAEX,GACnDo+H,EAAOz9H,EAAEX,EAAIo+H,EAAO3nH,EAAEzW,IAAGo+H,EAAO3nH,EAAEzW,EAAIo+H,EAAOz9H,EAAEX,GAClDyW,EAAE,YAAcA,EAAE,QAClBA,EAAE,QAAUgzE,GAAa20C,IAM3B,OAHGrxB,EAAO9nG,OAAS,IAAGwR,EAAE,WAAas2F,GAClCgJ,EAAQ9wG,OAAS,IAAGwR,EAAE,SAAWs/F,GACjCD,EAAQ7wG,OAAS,IAAGwR,EAAE,SAAWq/F,GAC7Br/F,EAIR,SAASkwH,GAAkBv/C,EAAIG,EAAM3X,EAAGv4D,EAAG1L,EAAM8+E,GAChD,QAAc3uF,IAAXyrF,EAAK3qF,EAAR,CACA,IAAIswE,EAAK,GACT,OAAOqa,EAAK/0C,GACX,IAAK,IAAK06B,EAAKqa,EAAK3qF,EAAI,IAAM,IAAK,MACnC,IAAK,IACJ2qF,EAAOvI,GAAIuI,GACXA,EAAKvG,EAAIuG,EAAKvG,GAAK1b,EAAI6I,OAAO,IAC9BoZ,EAAK3qF,EAAI2hF,GAAQM,GAAU0I,EAAK3qF,IAAK2qF,EAAK/0C,EAAI,IAC9C,MAED,IAAK,IAAK,IAAK,IAAK06B,EAAK,GAAGqa,EAAK3qF,EAAG,MACpC,QAASswE,EAAKqa,EAAK3qF,EAAG,MAEvB,IAAIgT,EAAI,CAAE6iC,EAAEm9B,EAAG5vE,EAAEqX,GAKjB,OAHAzH,EAAE6G,EAAIwlH,GAAetwH,EAAKs8G,QAAS1gC,EAAM57E,GACtC47E,EAAKxkF,GAAG0nF,EAAG,UAAUpkF,KAAK,CAACyhF,GAAYl4E,GAAI23E,EAAKxkF,IAChDwkF,EAAKvnF,GAAGyqF,EAAG,aAAapkF,KAAK,CAACyhF,GAAYl4E,GAAI23E,EAAKvnF,IAC/CunF,EAAK/0C,GACX,IAAK,IAAK,IAAK,MASd,YARG7mC,EAAK2yG,SACPpxC,EAAKwuD,GAAW/vH,EAAK20H,QAAU/4C,EAAM,EAAG57E,EAAK40H,YAC7C3wH,EAAE4iC,EAAI,IAAK5iC,EAAEhT,EAAIswE,EACjBia,GAAaC,EAAI,cAAek9C,GAAkB/8C,EAAM33E,MAExDA,EAAE4iC,EAAI,MACN20C,GAAaC,EAAI,YAAaw9C,GAAgBr9C,EAAM33E,MAGtD,IAAK,IAIJ,YAFG23E,EAAK3qF,IAAe,EAAT2qF,EAAK3qF,IAAU2qF,EAAK3qF,GAAK,KAAQ2qF,EAAK3qF,EAAI,IAAMuqF,GAAaC,EAAI,YAAas9C,GAAgBn9C,EAAM33E,IAC7Gu3E,GAAaC,EAAI,cAAeo9C,GAAkBj9C,EAAM33E,KAE9D,IAAK,IAGJ,OAFAA,EAAE4iC,EAAI,SACN20C,GAAaC,EAAI,cAAe88C,GAAkB38C,EAAM33E,IAEzD,IAAK,IAAuBA,EAAE4iC,EAAI,IAAK,MAExC20C,GAAaC,EAAI,eAAgB08C,GAAmBv8C,EAAM33E,KAG3D,SAASg3H,GAAgBx/C,EAAIqD,EAAIz9E,EAAKrB,GACrC,IAAmDnX,EAA/CozF,EAAQgC,GAAkBa,EAAG,SAAW,MAAY9f,EAAK,GAAIwsC,EAAO,GACxEhwB,GAAaC,EAAI,qBACjB,IAAIoD,EAAQrzF,MAAMC,QAAQqzF,GACtBo8C,EAAMj/C,EAAMjnF,EAAE8xC,EACfg4C,EAAG,WAAUo8C,EAAMzuI,KAAK2gC,IAAI6uD,EAAMjnF,EAAE8xC,EAAGg4C,EAAG,SAASxlF,OAAS,IAC/D,IAAI,IAAI2qE,EAAIgY,EAAMnxE,EAAEg8B,EAAGm9B,GAAKi3D,IAAOj3D,EAKlC,GAJAjF,EAAKud,GAAWtY,GAGhB2zD,GAAiBn8C,EAAIqD,EAAI7C,EAAOhY,GAC7BA,GAAKgY,EAAMjnF,EAAE8xC,EAAG,IAAI,IAAIp7B,EAAIuwE,EAAMnxE,EAAEzW,EAAGqX,GAAKuwE,EAAMjnF,EAAEX,IAAKqX,EAAG,CAE3Du4D,IAAMgY,EAAMnxE,EAAEg8B,IAAG0kE,EAAK9/F,GAAK8wE,GAAW9wE,IACzC7iB,EAAM2iH,EAAK9/F,GAAKszD,EAChB,IAAI4c,EAAOiD,GAASC,EAAG7a,IAAI,IAAIv4D,GAAKozE,EAAGj2F,GACnC+yF,GAEJo/C,GAAkBv/C,EAAIG,EAAM3X,EAAGv4D,EAAG1L,EAAM8+E,GAG1CtD,GAAaC,EAAI,mBAGlB,SAAS0/C,GAAiB1/C,EAAIqD,GACzBA,GAAOA,EAAG,aACdtD,GAAaC,EAAI,qBAAsB+9C,GAAyB16C,EAAG,WAAWxlF,SAC9EwlF,EAAG,WAAW39E,SAAQ,SAAS9J,GAAKmkF,GAAaC,EAAI,eAAgB89C,GAAmBliI,OACxFmkF,GAAaC,EAAI,qBAGlB,SAAS2/C,GAAe3/C,EAAIqD,GACvBA,GAAOA,EAAG,WACdtD,GAAaC,EAAI,oBACjBqD,EAAG,SAAS39E,SAAQ,SAAS9J,EAAGtB,GAAQsB,GAAGmkF,GAAaC,EAAI,aAAcw+C,GAAiBlkI,EAAGsB,OAC9FmkF,GAAaC,EAAI,mBAGlB,SAAS4/C,GAAgB5/C,EAAIqD,GACxBA,GAAOA,EAAG,UACdtD,GAAaC,EAAI,yBACjBD,GAAaC,EAAI,kBAAmB8+C,GAAsBt8C,GAAkBa,EAAG,WAC/EtD,GAAaC,EAAI,wBAGlB,SAAS6/C,GAAa7/C,EAAIqD,EAAI0H,GAE7B1H,EAAG,UAAU39E,SAAQ,SAAS/J,GAC7B,GAAIA,EAAE,GAAG6xF,OAAT,CACA,IAAIS,EAAMD,GAASjD,GAAO,EAAGpvF,EAAE,GAAG6xF,OAAO/xF,QAAQ,OAAQ,IAAKkxF,GAAKG,OACnE/M,GAAaC,EAAI,WAAYk+C,GAAeviI,EAAGsyF,eAEzC5K,EAAG,UAEX,SAASy8C,GAAoB9/C,EAAIqD,EAAIz9E,EAAKmlF,GAEzC,GAAG1H,EAAG,aAAaxlF,OAAS,EAAG,CAC9B,IAAIowF,EAAMD,GAASjD,GAAO,EAAG,0BAA4BnlF,EAAI,GAAK,OAAQ+mF,GAAKI,KAC/EhN,GAAaC,EAAI,mBAAoByF,GAAY,MAAQwI,IACzD5K,EAAG,WAAa4K,GAIlB,SAAS8xC,GAAiB//C,EAAIqD,EAAIyY,EAAIl2F,GACrC,GAAIy9E,EAAG,eAAP,CACA,IAAInwF,EAAOmwF,EAAG,eACVj2F,EAA0B,kBAAb8F,EAAK9F,IAAmB8F,EAAK9F,IAAMi1F,GAAanvF,EAAK9F,KAGlE0uG,EAAG07B,WAAU17B,EAAG07B,SAAW,CAAEv0C,OAAO,KACpC6Y,EAAG07B,SAASc,QAAOx8B,EAAG07B,SAASc,MAAQ,IAC3C,IAAIrG,EAAQn2B,EAAG07B,SAASc,MACpB93C,EAAQ4B,GAAah1F,GACtBozF,EAAMnxE,EAAEg8B,GAAKm1C,EAAMjnF,EAAE8xC,IAAKm1C,EAAMjnF,EAAE8xC,EAAI+2C,GAAaiB,EAAG,SAAS9pF,EAAE8xC,EAAGj+C,EAAMi1F,GAAa7B,IAC1F,IAAI,IAAIlmF,EAAI,EAAGA,EAAI23H,EAAMp0H,SAAUvD,EAAG,CACrC,IAAI5N,EAAOulI,EAAM33H,GACjB,GAAgB,yBAAb5N,EAAKq3G,MACLr3G,EAAK6rI,OAAS3yH,EAAjB,CACAlZ,EAAK8rI,IAAM,IAAM18B,EAAG9Y,WAAWp9E,GAAO,KAAOxY,EAAK,OAEhDkN,GAAK23H,EAAMp0H,QAAQo0H,EAAMhzH,KAAK,CAAE8kG,KAAM,wBAAyBw0B,MAAO3yH,EAAK4yH,IAAK,IAAM18B,EAAG9Y,WAAWp9E,GAAO,KAAOxY,IAErH2yF,GAAaC,EAAI,kBAAmBmG,GAAmB3D,GAAkBp1F,KAIzE2yF,GAAaC,EAAI,kBAGlB,SAASggD,GAAehgD,EAAIqD,EAAIm0C,GAC/Bz3C,GAAaC,EAAI,mBAGhBD,GAAaC,EAAI,iBAAkB6+C,GAAqBx7C,EAAIm0C,IAK5Dz3C,GAAaC,EAAI,gBAGlBD,GAAaC,EAAI,iBAGlB,SAASigD,MAKT,SAASC,GAAmBlgD,EAAIqD,GAC3BA,EAAG,aAEPtD,GAAaC,EAAI,qBAAsB++C,GAAyB17C,EAAG,cAGpE,SAAS88C,GAAav6H,EAAKrB,EAAMu3F,EAAI/Q,GACpC,IAAI/K,EAAKP,KACLpwE,EAAIysF,EAAG9Y,WAAWp9E,GAAMy9E,EAAKyY,EAAG7Y,OAAO5zE,IAAM,GAC7CzW,EAAIyW,EAAG,IAASysF,GAAMA,EAAG07B,WAAU5+H,EAAIkjG,EAAG07B,SAASv0C,OAAOr9E,GAAKuxH,UAAYv+H,GAAK,MAAMW,KAC1F,IAAI8xC,EAAIm3C,GAAkBa,EAAG,SAAW,MACxC,GAAGh4C,EAAE9xC,EAAEX,EAAI,OAAUyyC,EAAE9xC,EAAE8xC,EAAI,QAAS,CACrC,GAAG9mC,EAAKy3E,IAAK,MAAM,IAAI/9E,MAAM,UAAYolF,EAAG,SAAW,MAAQ,uCAC/Dh4C,EAAE9xC,EAAEX,EAAI5H,KAAKsnD,IAAIjN,EAAE9xC,EAAEX,EAAG,OACxByyC,EAAE9xC,EAAE8xC,EAAIr6C,KAAKsnD,IAAIjN,EAAE9xC,EAAEX,EAAG,SA6CzB,OA3CAyqF,EAAG,UAAY,GAEfA,EAAG,aAAe,GAClBtD,GAAaC,EAAI,iBACd8b,EAAGw7B,QAAQv3C,GAAaC,EAAI,YAAaw8C,GAAgB5jI,IAC5DmnF,GAAaC,EAAI,WAAYq8C,GAAehxF,IAC5C20F,GAAehgD,EAAIqD,EAAIyY,EAAG07B,UAC1ByI,GAAgBjgD,EAAIqD,GACpBs8C,GAAe3/C,EAAIqD,EAAIz9E,EAAKrB,EAAMu3F,GAClC0jC,GAAgBx/C,EAAIqD,EAAIz9E,EAAKrB,EAAMu3F,GAEnCokC,GAAmBlgD,EAAIqD,GAGvB08C,GAAiB//C,EAAIqD,EAAIyY,EAAIl2F,GAI7B85H,GAAiB1/C,EAAIqD,GAIrBw8C,GAAa7/C,EAAIqD,EAAI0H,GAElB1H,EAAG,aAAatD,GAAaC,EAAI,aAAc2+C,GAAiBt7C,EAAG,cAOlE9+E,IAAQA,EAAKm3H,eAA8B,GAAjBn3H,EAAKm3H,UAAuBkE,GAAgB5/C,EAAIqD,GAG9Ey8C,GAAoB9/C,EAAIqD,EAAIz9E,EAAKmlF,GAQjChL,GAAaC,EAAI,eACVA,EAAGjhF,MAKX,SAASqhI,GAAYltI,GACpB,IAEI2G,EAFAmoF,EAAM,GACNrjF,EAAMzL,EAAKqU,MAAM,kBAIpBrU,EAAKqU,MAAM,sCAAsC,IAAI7B,SAAQ,SAAS+4G,GACtE,IAAI/tD,EAAI+tD,EAAGl3G,MAAM,+CACbmpD,IACJsxB,GAAKtxB,EAAE,IAAM/xD,GAAO+xD,EAAE,GAAKA,EAAE,OAI9B,IAAI2vE,EAAKnmD,IAAahnF,EAAKqU,MAAM,6CAA+C,CAAC,GAAG,YAAY,IAIhG,OAFCrU,EAAKqU,MAAM,wBAAwB,IAAI7B,SAAQ,SAAS4K,GAAKzW,EAAIyW,EAAE7U,QAAQ,SAAS,OAE9E,CAACumF,EAAKq+C,EAAIxmI,GAIlB,SAASymI,GAAYptI,EAAMxG,EAAM6X,EAAMwmF,EAAM+Q,EAAIykC,GAChD,IAAIj+C,EAAOi+C,GAAU,CAAC,QAAQ,SAC9B,IAAIrtI,EAAM,OAAOqtI,EAGjB,IAAItwH,EAAI,EAAGu4D,EAAI,EAAGwZ,EAAM,IACpB2xB,EAAW,CAACtkG,EAAG,CAACg8B,EAAE,IAASzyC,EAAE,KAAUW,EAAG,CAAC8xC,EAAE,EAAGzyC,EAAE,IAgBtD,OAbC1F,EAAKqU,MAAM,yCAAyC,IAAI7B,SAAQ,SAAS86H,GACzE,IAAI7wH,EAAQywH,GAAYI,GACxB7sB,EAAStkG,EAAEg8B,EAAIsoE,EAAStkG,EAAEzW,EAAI,EAC9B+6G,EAASp6G,EAAEX,EAAIqX,EACf+xE,EAAMjB,GAAW9wE,GACjBN,EAAM,GAAGjK,SAAQ,SAASoB,EAAExM,GAC3BgoF,EAAGN,EAAMlB,GAAWxmF,IAAM,CAAC8wC,EAAE,IAAK51C,EAAEsR,EAAG8yE,EAAEjqE,EAAM,IAC/C64D,EAAIluE,KAEFq5G,EAASp6G,EAAE8xC,EAAIm9B,IAAGmrC,EAASp6G,EAAE8xC,EAAIm9B,KAClCv4D,KAEAA,EAAI,IAAGqyE,EAAG,QAAUD,GAAasxB,IAC7BrxB,EA9CRqK,GAAK8zC,MAAQ,4EACb9zC,GAAK+zC,QAAU,iEA+Cf/zC,GAAKg0C,GAAK,iFAEQvkD,GAAU,aAAc,KAAM,CAC/C,MAASI,GAAM26B,KAAK,GACpB,UAAW36B,GAAMnxC,IAIlB,SAASu1F,GAAa1tI,EAAMqR,EAAMqB,EAAKmlF,EAAM+Q,GAC5C,IAAI5oG,EAAM,OAAOA,EAEb63F,IAAMA,EAAO,CAAC,MAAM,KACxB,IACInvF,EADAyT,EAAI,CAAE,QAAQ,QAAS,UAAU,KAAM,OAAO,IAI9C+mH,EAAUljI,EAAKqU,MAAMuuH,IAOzB,OANGM,GAASC,GAAqBD,EAAQ,GAAI/mH,EAAGysF,EAAIl2F,IAGhDhK,EAAI1I,EAAKqU,MAAM,2BAA0B8H,EAAE,QAAUzT,EAAE,IAExDmvF,EAAK,OAAO17E,EAAE,WAAUA,EAAE,WAAa07E,EAAK,OAAO17E,EAAE,UACjDA,EAWR,SAASwxH,GAAgB3tI,EAAM2K,GAC9B3K,EAAKyI,GAAK,GACV,IAAIjP,EAAOu3F,GAAmB/wF,EAAM2K,EAAS,IAC7C,MAAO,CAAEnR,KAAMA,GAIhB,SAASo0I,GAAa5tI,EAAMqR,EAAMqB,EAAKmlF,EAAM+Q,GAC5C,IAAI5oG,EAAM,OAAOA,EACb63F,IAAMA,EAAO,CAAC,MAAM,KACxB,IAAI17E,EAAI,CAAC,QAAQ,QAAS,UAAU,KAAM,OAAO,IAC7C5X,EAAQ,GACRw9G,GAAO,EAuCX,OAtCA71B,GAAalsF,GAAM,SAAkByS,EAAK4xG,EAAKh4B,GAC9C,OAAOA,GAEN,KAAK,IACJlwE,EAAE,QAAU1J,EAAK,MAElB,KAAK,IACAm2F,EAAG7Y,OAAOr9E,KAAMk2F,EAAG7Y,OAAOr9E,GAAO,IAClCD,EAAIjZ,OAAMovG,EAAG7Y,OAAOr9E,GAAKuxH,SAAWxxH,EAAIjZ,MAC3C,MAED,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACJ,MAED,KAAK,GACJuoH,GAAO,EAAM,MACd,KAAK,GACJA,GAAO,EAAO,MACf,KAAK,GACJx9G,EAAMwH,KAAKs4G,GAAM,MAClB,KAAK,GACJ9/G,EAAMyP,MAAO,MAEd,QACC,IAAIqwG,GAAK,IAAIp5G,QAAQ,SAAW,EAAG1G,EAAMwH,KAAKs4G,QACzC,IAAIA,GAAK,IAAIp5G,QAAQ,OAAS,EAAG1G,EAAMyP,WACvC,IAAI+tG,GAAQ1wG,EAAKy3E,IAAK,MAAM,IAAI/9E,MAAM,qBAAuBshF,EAAK,IAAMg4B,MAE7EhzG,GAEAwmF,EAAK,OAAO17E,EAAE,WAAUA,EAAE,WAAa07E,EAAK,OAAO17E,EAAE,UACjDA,EAsBR,IAAI0xH,GAAa,CAChB,CAAC,qBAA+B,EAAO,QACvC,CAAC,wBAA+B,EAAO,QACvC,CAAC,cAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAO,QACvC,CAAC,WAA+B,IAChC,CAAC,YAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAQ,OACxC,CAAC,iBAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAO,QACvC,CAAC,qBAA+B,EAAO,QACvC,CAAC,gBAA+B,EAAO,QACvC,CAAC,yBAA+B,EAAO,QACvC,CAAC,0BAA+B,EAAO,QACvC,CAAC,8BAA+B,EAAO,QACvC,CAAC,qBAA+B,EAAO,QACvC,CAAC,cAA+B,OAChC,CAAC,wBAA+B,EAAO,QACvC,CAAC,cAAe,YAIbC,GAAY,CACf,CAAC,YAA+B,EAAQ,OACxC,CAAC,0BAA+B,EAAO,QACvC,CAAC,aAA+B,EAAQ,OACxC,CAAC,aAA+B,EAAO,QACvC,CAAC,wBAA+B,EAAO,QACvC,CAAC,iBAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAO,QACvC,CAAC,WAA+B,IAAQ,OACxC,CAAC,aAA+B,YAK7BC,GAAW,GAKXC,GAAY,CACf,CAAC,gBAAiB,QAClB,CAAC,WAAY,QACb,CAAC,aAAc,QACf,CAAC,iBAAkB,QACnB,CAAC,iBAAkB,SACnB,CAAC,gBAAiB,QAClB,CAAC,UAAW,SACZ,CAAC,eAAgB,OACjB,CAAC,eAAgB,SACjB,CAAC,UAAW,OAyBb,SAASC,GAAoBrmI,EAAQ43B,GACpC,IAAI,IAAIj4B,EAAI,EAAGA,GAAKK,EAAO+C,SAAUpD,EACpC,IADyC,IAAIgU,EAAI3T,EAAOL,GAChDH,EAAE,EAAGA,GAAKo4B,EAAS70B,SAAUvD,EAAG,CAAE,IAAIs/E,EAAIlnD,EAASp4B,GAC1D,GAAc,MAAXmU,EAAEmrE,EAAE,IAAanrE,EAAEmrE,EAAE,IAAMA,EAAE,QAC3B,OAAOA,EAAE,IACd,IAAK,OAA6B,iBAAXnrE,EAAEmrE,EAAE,MAAiBnrE,EAAEmrE,EAAE,IAAMoB,GAAavsE,EAAEmrE,EAAE,MAAM,MAC7E,IAAK,MAA4B,iBAAXnrE,EAAEmrE,EAAE,MAAiBnrE,EAAEmrE,EAAE,IAAMrtD,SAAS9d,EAAEmrE,EAAE,IAAK,KAAK,QAK/E,SAASwnD,GAActmI,EAAQ43B,GAC9B,IAAI,IAAIp4B,EAAI,EAAGA,GAAKo4B,EAAS70B,SAAUvD,EAAG,CAAE,IAAIs/E,EAAIlnD,EAASp4B,GAC5D,GAAmB,MAAhBQ,EAAO8+E,EAAE,IAAa9+E,EAAO8+E,EAAE,IAAMA,EAAE,QACrC,OAAOA,EAAE,IACb,IAAK,OAAkC,iBAAhB9+E,EAAO8+E,EAAE,MAAiB9+E,EAAO8+E,EAAE,IAAMoB,GAAalgF,EAAO8+E,EAAE,MAAM,MAC5F,IAAK,MAAiC,iBAAhB9+E,EAAO8+E,EAAE,MAAiB9+E,EAAO8+E,EAAE,IAAMrtD,SAASzxB,EAAO8+E,EAAE,IAAK,KAAK,QAK9F,SAASynD,GAAkBvlC,GAC1BslC,GAActlC,EAAGwlC,QAASP,IAC1BK,GAActlC,EAAGylC,OAAQL,IAEzBC,GAAoBrlC,EAAG0lC,OAAQR,IAC/BG,GAAoBrlC,EAAG7Y,OAAQg+C,IAE/B/M,GAASh0D,SAAW8a,GAAa8gB,EAAGwlC,QAAQphE,UAG7C,SAASuhE,GAAS3lC,GAEjB,OAAIA,EAAG07B,UACH17B,EAAG07B,SAAS8J,SACTtmD,GAAa8gB,EAAG07B,SAAS8J,QAAQphE,UAAY,OAF5B,QAKzB,IAAIwhE,GAAW,UAAWh6H,MAAM,IAChC,SAASi6H,GAAc76H,EAAG6xE,GACzB,GAAG7xE,EAAEjJ,OAAS,GAAI,CAAE,GAAG86E,EAAM,OAAO,EAAO,MAAM,IAAI16E,MAAM,sCAC3D,IAAI2jI,GAAQ,EAMZ,OALAF,GAASh8H,SAAQ,SAAS9M,GACzB,IAAoB,GAAjBkO,EAAE3I,QAAQvF,GAAb,CACA,IAAI+/E,EAAM,MAAM,IAAI16E,MAAM,4CAC1B2jI,GAAQ,MAEFA,EAER,SAASC,GAAeC,EAAG7hE,EAAG9M,GAC7B2uE,EAAEp8H,SAAQ,SAASoB,EAAExM,GACpBqnI,GAAc76H,GACd,IAAI,IAAIrM,EAAI,EAAGA,EAAIH,IAAKG,EAAG,GAAGqM,GAAKg7H,EAAErnI,GAAI,MAAM,IAAIwD,MAAM,yBAA2B6I,GACpF,GAAGqsD,EAAO,CACT,IAAI4uE,EAAM9hE,GAAKA,EAAE3lE,IAAM2lE,EAAE3lE,GAAG68H,UAAarwH,EACzC,GAAuB,IAApBi7H,EAAGjkI,WAAW,IAAYikI,EAAGlkI,OAAS,GAAI,MAAM,IAAII,MAAM,2BAA6B8jI,OAI7F,SAASC,GAASlmC,GACjB,IAAIA,IAAOA,EAAG9Y,aAAe8Y,EAAG7Y,OAAQ,MAAM,IAAIhlF,MAAM,oBACxD,IAAI69F,EAAG9Y,WAAWnlF,OAAQ,MAAM,IAAII,MAAM,qBAC1C,IAAIglF,EAAU6Y,EAAG07B,UAAY17B,EAAG07B,SAASv0C,QAAW,GACpD4+C,GAAe/lC,EAAG9Y,WAAYC,IAAU6Y,EAAGw7B,QAC3C,IAAI,IAAIh9H,EAAI,EAAGA,EAAIwhG,EAAG9Y,WAAWnlF,SAAUvD,EAAG+6H,GAASv5B,EAAG7Y,OAAO6Y,EAAG9Y,WAAW1oF,IAAKwhG,EAAG9Y,WAAW1oF,GAAIA,GAIvG,IAAI2nI,GAAY,gBAChB,SAASC,GAAahvI,EAAMqR,GAC3B,IAAIrR,EAAM,MAAM,IAAI+K,MAAM,uBAC1B,IAAI69F,EAAK,CAAE1J,WAAW,GAAIkvC,QAAQ,GAAIE,OAAO,GAAIv+C,OAAO,GAAIs+C,OAAO,GAAIjJ,MAAM,GAAI7sC,MAAO,IACpFwpB,GAAO,EAAOxpB,EAAQ,QACtB02C,EAAQ,GAAIC,EAAU,EAmJ1B,GAlJAlvI,EAAKuI,QAAQ49E,IAAU,SAAgB/1E,EAAGsC,GACzC,IAAIiqB,EAAI2pD,GAAYl2E,GACpB,OAAOy2E,GAASlqD,EAAE,KACjB,IAAK,QAAS,MAGd,IAAK,YACDvsB,EAAEiE,MAAM06H,MAAYx2C,EAAQ,QAAUnoF,EAAEiE,MAAM,WAAW,IAC5Du0F,EAAGrQ,MAAQ57D,EAAE47D,GACb,MACD,IAAK,cAAe,MAGpB,IAAK,sBAAuB57D,EAAE,GAAIisE,EAAG1J,WAAaviE,EAAG,MACrD,IAAK,iBAAkB,IAAK,iBAAkB,MAG9C,IAAK,eACJ,MACD,IAAK,iBAAkB,MAGvB,IAAK,cACL,IAAK,gBACJkxG,GAAWr7H,SAAQ,SAAS+I,GAC3B,GAAc,MAAXohB,EAAEphB,EAAE,IACP,OAAOA,EAAE,IACR,IAAK,OAAQqtF,EAAGwlC,QAAQ7yH,EAAE,IAAMusE,GAAanrD,EAAEphB,EAAE,KAAM,MACvD,IAAK,MAAOqtF,EAAGwlC,QAAQ7yH,EAAE,IAAM8d,SAASsD,EAAEphB,EAAE,IAAK,IAAK,MACtD,QAASqtF,EAAGwlC,QAAQ7yH,EAAE,IAAMohB,EAAEphB,EAAE,QAG/BohB,EAAEqnG,WAAUp7B,EAAGwlC,QAAQnK,SAAWtnG,EAAEqnG,UACvC,MACD,IAAK,gBAAiB,MAGtB,IAAK,sBACJ,MACD,IAAK,wBAAyB,MAG9B,IAAK,aAAc,IAAK,cAAe,IAAK,eAAgB,MAE5D,IAAK,gBAAiB,IAAK,yBAA0BrnG,EAAE,GAAIisE,EAAG0lC,OAAOviI,KAAK4wB,GAAI,MAC9E,IAAK,kBAAmB,MAGxB,IAAK,UAAW,IAAK,WAAY,IAAK,YAAa,MAEnD,IAAK,SACJ,OAAOA,EAAEp4B,OACR,IAAK,SAAUo4B,EAAEwyG,OAAS,EAAG,MAC7B,IAAK,aAAcxyG,EAAEwyG,OAAS,EAAG,MACjC,QAASxyG,EAAEwyG,OAAS,SAEdxyG,EAAEp4B,MACTo4B,EAAEnjC,KAAOwtF,GAAYe,GAASprD,EAAEnjC,cACzBmjC,EAAE,GAAIisE,EAAG7Y,OAAOhkF,KAAK4wB,GAAI,MACjC,IAAK,WAAY,MAGjB,IAAK,kBAAmB,IAAK,oBAAqB,MAElD,IAAK,iBAAkB,MAGvB,IAAK,sBAAuB,IAAK,wBAAyB,IAAK,uBAAwB,MAEvF,IAAK,qBAAsB,MAG3B,IAAK,kBAAmB,MACxB,IAAK,iBAAkB,IAAK,gBAAiBolF,GAAK,EAAM,MACxD,IAAK,kBAAmBA,GAAK,EAAO,MAEpC,IAAK,eACJktB,EAAQ,GACRA,EAAMp+B,KAAO9oB,GAASprD,EAAEnjC,MACrBmjC,EAAEkf,UAASozF,EAAMG,QAAUzyG,EAAEkf,SAC7Blf,EAAE0yG,eAAcJ,EAAM5J,OAAS1oG,EAAE0yG,cACjCvnD,GAAanrD,EAAE0sE,QAAQ,OAAM4lC,EAAME,QAAS,GAC/CD,EAAUx8H,EAAMtC,EAAEzF,OACjB,MACF,IAAK,iBACJskI,EAAM3J,IAAMt+C,GAAYe,GAAS/nF,EAAKwb,MAAM0zH,EAASx8H,KACrDk2F,EAAGw8B,MAAMr5H,KAAKkjI,GACb,MACF,IAAK,iBAAkB,MAGvB,IAAK,iBAAkBtyG,EAAE,GAAIisE,EAAGylC,OAAS1xG,EAAG,MAC5C,IAAK,mBAAoBA,EAAE,GAAIisE,EAAGylC,OAAS1xG,EAAG,MAC9C,IAAK,YAAa,MAGlB,IAAK,WAAY,MAGjB,IAAK,wBAAyB,IAAK,yBAA0B,IAAK,uBAAwB,MAE1F,IAAK,sBAAuB,IAAK,wBAAyB,MAG1D,IAAK,gBAAiB,IAAK,iBAAkB,IAAK,eAAgB,MAElE,IAAK,cAAe,MAGpB,IAAK,cAAe,IAAK,gBAAiB,MAG1C,IAAK,iBAAkB,IAAK,kBAAmB,IAAK,mBAAoB,MAExE,IAAK,gBAAiB,MAGtB,IAAK,iBAAkB,IAAK,mBAAoB,MAGhD,IAAK,kBAAmB,IAAK,oBAAqB,MAGlD,IAAK,sBAAuB,IAAK,qBAAsB,IAAK,uBAAwB,MAEpF,IAAK,oBAAqB,MAG1B,IAAK,UAAW,IAAK,WAAY,IAAK,YAAa,IAAK,YAAa,MAErE,IAAK,OAAQolF,GAAK,EAAM,MACxB,IAAK,SAAUA,GAAK,EAAO,MAG3B,IAAK,UAAW,MAChB,IAAK,oBACL,IAAK,qBAAsBA,GAAK,EAAM,MACtC,IAAK,sBAAuBA,GAAK,EAAO,MAGxC,IAAK,eAAgB,MAErB,QAAS,IAAIA,GAAQ1wG,EAAKy3E,IAAK,MAAM,IAAI/9E,MAAM,gBAAkB4xB,EAAE,GAAK,gBAEzE,OAAOvsB,MAE6B,IAAlCk5E,GAAM26B,KAAKh5G,QAAQ29F,EAAGrQ,OAAe,MAAM,IAAIxtF,MAAM,sBAAwB69F,EAAGrQ,OAInF,OAFA41C,GAAkBvlC,GAEXA,EAGR,IAAI0mC,GAAcpmD,GAAU,WAAY,KAAM,CAC7C,MAASI,GAAM26B,KAAK,GAGpB,UAAW36B,GAAMnxC,IAGlB,SAASo3F,GAAa3mC,GACrB,IAAItzF,EAAI,CAAC2wE,IACT3wE,EAAEA,EAAE3K,QAAU2kI,GAEd,IAAIE,EAAe5mC,EAAG07B,WAAa17B,EAAG07B,SAASc,OAAO,IAAIz6H,OAAS,EAK/D8kI,EAAa,CAAEzL,SAAS,gBACzBp7B,EAAG07B,UAAY17B,EAAG07B,SAAS8J,UAC7BP,GAAWr7H,SAAQ,SAASpC,GACI,MAA9Bw4F,EAAG07B,SAAS8J,QAAQh+H,EAAE,KACnBw4F,EAAG07B,SAAS8J,QAAQh+H,EAAE,KAAQA,EAAE,KACpCq/H,EAAWr/H,EAAE,IAAOw4F,EAAG07B,SAAS8J,QAAQh+H,EAAE,QAE1Cw4F,EAAG07B,SAAS8J,QAAQnK,WAAYwL,EAAWzL,SAAWp7B,EAAG07B,SAAS8J,QAAQnK,gBAAiBwL,EAAWxL,WAExG3uH,EAAEA,EAAE3K,QAAWu+E,GAAU,aAAc,KAAMumD,GAI7C,IAAI5/C,EAAS+Y,EAAG07B,UAAY17B,EAAG07B,SAASv0C,QAAU,GAC9C3oF,EAAI,EAKR,IADAkO,EAAEA,EAAE3K,QAAU,WACVvD,EAAI,EAAGA,GAAKwhG,EAAG9Y,WAAWnlF,SAAUvD,EAAG,CAC1C,IAAIm0G,EAAM,CAAE/hH,KAAK6tF,GAAUuhB,EAAG9Y,WAAW1oF,GAAGoU,MAAM,EAAE,MAGpD,GAFA+/F,EAAIm0B,QAAU,IAAItoI,EAAE,GACpBm0G,EAAI,QAAU,OAAOn0G,EAAE,GACpByoF,EAAOzoF,GAAI,OAAOyoF,EAAOzoF,GAAG+nI,QAC9B,KAAK,EAAG5zB,EAAIh3G,MAAQ,SAAU,MAC9B,KAAK,EAAGg3G,EAAIh3G,MAAQ,aAAc,MAEnC+Q,EAAEA,EAAE3K,QAAWu+E,GAAU,QAAQ,KAAKqyB,GAgCvC,OA9BAjmG,EAAEA,EAAE3K,QAAU,YAKX6kI,IACFl6H,EAAEA,EAAE3K,QAAU,iBACXi+F,EAAG07B,UAAY17B,EAAG07B,SAASc,OAAOx8B,EAAG07B,SAASc,MAAM5yH,SAAQ,SAASoB,GACvE,IAAIjO,EAAI,CAACnM,KAAKoa,EAAEi9F,MACbj9F,EAAEw7H,UAASzpI,EAAEk2C,QAAUjoC,EAAEw7H,SACd,MAAXx7H,EAAEyxH,QAAe1/H,EAAE0pI,aAAe,GAAGz7H,EAAEyxH,OACvCzxH,EAAEu7H,SAAQxpI,EAAE0jG,OAAS,KACpBz1F,EAAE0xH,MACNhwH,EAAEA,EAAE3K,QAAUu+E,GAAU,cAAe7B,GAAUzzE,EAAE0xH,KAAM3/H,OAE1D2P,EAAEA,EAAE3K,QAAU,mBAcZ2K,EAAE3K,OAAO,IAAI2K,EAAEA,EAAE3K,QAAU,cAAe2K,EAAE,GAAGA,EAAE,GAAG/M,QAAQ,KAAK,MAC7D+M,EAAEtJ,KAAK,IAGf,SAAS2jI,GAAkB3vI,EAAM2K,GAChC,IAAI+7E,EAAI,GAKR,OAJAA,EAAEyoD,OAASnvI,EAAK81E,WAAW,GAC3B4Q,EAAEkpD,OAAS5vI,EAAK81E,WAAW,GAC3B4Q,EAAEmpD,SAAWv9C,GAAYtyF,EAAK2K,EAAO,GACrC+7E,EAAEltF,KAAOu3F,GAAmB/wF,GACrB0mF,EAER,SAASopD,GAAkB9vI,EAAMsV,GAMhC,OALIA,IAAGA,EAAI2jE,GAAQ,MACnB3jE,EAAEqgE,YAAY,EAAG31E,EAAKmvI,QACtB75H,EAAEqgE,YAAY,EAAG31E,EAAK4vI,QACtBr9C,GAAYvyF,EAAK6vI,SAAUv6H,GAC3B27E,GAAmBjxF,EAAKxG,KAAKgiB,MAAM,EAAE,IAAKlG,GACnCA,EAAE3K,OAAS2K,EAAE7M,EAAI6M,EAAEkG,MAAM,EAAGlG,EAAE7M,GAAK6M,EAI3C,SAASy6H,GAAgB/vI,EAAM2K,GAC9B,IAAI2K,EAAI,GACJqoD,EAAQ39D,EAAK81E,WAAW,GAC5BxgE,EAAE06H,oBAAsBhwI,EAAK81E,WAAW,GACxC,IAAIm6D,EAAWtlI,EAAS,EAAKomF,GAAmB/wF,GAAQ,GAiBxD,OAhBGiwI,EAAQtlI,OAAS,IAAG2K,EAAE2uH,SAAWgM,GACpC36H,EAAE46H,wBAAkC,MAARvyE,GAC5BroD,EAAE66H,cAAwB,GAARxyE,GAClBroD,EAAE86H,sBAAgC,KAARzyE,GAC1BroD,EAAE03D,YAAsB,EAARrP,GAChBroD,EAAE+6H,iBAA2B,EAAR1yE,GACrBroD,EAAEg7H,sBAAgC,KAAR3yE,GAC1BroD,EAAEi7H,qBAA+B,GAAR5yE,GACzBroD,EAAEk7H,gBAA0B,KAAR7yE,GACpBroD,EAAEm7H,yBAAmC,OAAR9yE,GAC7BroD,EAAEo7H,0BAAoC,IAAR/yE,GAC9BroD,EAAEq7H,8BAAwC,EAARhzE,GAClCroD,EAAEs7H,qBAA+B,GAARjzE,GACzBroD,EAAEu7H,YAAc,CAAC,MAAO,eAAgB,QAASlzE,GAAS,GAAM,GAChEroD,EAAEw7H,wBAAkC,MAARnzE,GAC5BroD,EAAEy7H,YAAc,CAAC,UAAW,QAAS,UAAWpzE,GAAS,EAAK,GACvDroD,EAER,SAAS07H,GAAgBhxI,EAAMsV,GAC1BA,IAAGA,EAAI2jE,GAAQ,KACnB,IAAItb,EAAQ,EAQZ,OAPG39D,GAECA,EAAKqwI,gBAAe1yE,GAAS,GAEjCroD,EAAEqgE,YAAY,EAAGhY,GACjBroD,EAAEqgE,YAAY,EAAG,GACjBuc,GAAmBlyF,GAAQA,EAAKikI,UAAY,eAAgB3uH,GACrDA,EAAEkG,MAAM,EAAGlG,EAAE7M,GAGrB,SAASwoI,GAAoBjxI,EAAM2K,GAClC,IAAI2K,EAAI,GAIR,OAHAtV,EAAK81E,WAAW,GAChBxgE,EAAE47H,OAASlxI,EAAK81E,WAAW,GAC3B91E,EAAKyI,GAAKkC,EAAS,EACZ2K,EAIR,SAAS67H,GAAcnxI,EAAM2K,EAAQ0G,GACpC,IAAIxF,EAAM7L,EAAKyI,EAAIkC,EACnB3K,EAAKyI,GAAK,EACVzI,EAAKyI,GAAK,EACV,IAAIyoG,EAAOlxG,EAAK81E,WAAW,GACvBt8E,EAAO64F,GAAuBryF,GAC9Bg8G,EAAU0kB,GAA4B1gI,EAAM,EAAGqR,GAC/CwqC,EAAUs2C,GAA2BnyF,GAOzCA,EAAKyI,EAAIoD,EACT,IAAIyP,EAAM,CAAEu1F,KAAKr3G,EAAM43I,IAAIp1B,GAG3B,OAFG9K,EAAO,YAAW51F,EAAI+pH,MAAQn0B,GAC9Br1D,IAASvgC,EAAI8zH,QAAUvzF,GACnBvgC,EAIR,SAAS+1H,GAAarxI,EAAMqR,GAC3B,IAAIu3F,EAAK,CAAE1J,WAAW,GAAIkvC,QAAQ,GAAIE,OAAO,GAAIv+C,OAAO,GAAIs+C,OAAO,GAAI91C,MAAO,IAC1Eh0F,EAAQ,GACRw9G,GAAO,EAEP1wG,IAAMA,EAAO,IACjBA,EAAK+7E,KAAO,GAEZ,IAAIg4C,EAAQ,GACRjH,EAAW,CAAE,IA4FjB,OA3FAA,EAASruC,WAAa,GACtBquC,EAASC,IAAM,GAEflyC,GAAalsF,GAAM,SAAmByS,EAAK4xG,EAAKh4B,GAC/C,OAAOA,GACN,KAAK,IACJ8xC,EAASruC,WAAW/jF,KAAK0G,EAAIjZ,MAC7BovG,EAAG7Y,OAAOhkF,KAAK0G,GAAM,MAEtB,KAAK,IACJm2F,EAAGwlC,QAAU37H,EAAK,MAEnB,KAAK,GACY,MAAbA,EAAI4yH,QAAeh0H,EAAKgtH,IAAM5rH,EAAI4yH,OACrC5yH,EAAI6yH,IAAM/G,GAAkB9rH,EAAI2+H,IAAK,KAAM,KAAMjT,EAAU9sH,UACpDA,EAAKgtH,WACL5rH,EAAI2+H,IACXhM,EAAMr5H,KAAK0G,GACX,MACD,KAAK,KAA2B,MAEhC,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACA0rH,EAAS,GAAGxzH,OACXwzH,EAASpyH,KAAK,CAACsgF,EAAI55E,IADA0rH,EAAS,GAAK,CAAC9xC,EAAI55E,GAE3C0rH,EAASA,EAASxzH,OAAS,GAAGyzH,IAAM,GACpC,MACD,KAAK,IACmB,IAApBD,EAASxzH,SAAgBwzH,EAAS,GAAK,GAAIA,EAAS,GAAGC,IAAM,IAChED,EAASA,EAASxzH,OAAS,GAAGyzH,IAAMD,EAASA,EAASxzH,OAAS,GAAGyzH,IAAIppG,OAAOviB,GAC7E0rH,EAASC,IAAMD,EAASC,IAAIppG,OAAOviB,GACnC,MACD,KAAK,IACJ,MAGD,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,IACL,KAAK,IACL,KAAK,KACL,KAAK,IACL,KAAK,KACJ,MAED,KAAK,GACJlO,EAAMwH,KAAKs4G,GAAMtC,GAAO,EAAM,MAC/B,KAAK,GACJx9G,EAAMyP,MAAO+tG,GAAO,EAAO,MAC5B,KAAK,GACJx9G,EAAMwH,KAAKs4G,GAAMtC,GAAO,EAAM,MAC/B,KAAK,GACJx9G,EAAMyP,MAAO+tG,GAAO,EAAO,MAE5B,KAAK,GAA8B,MAEnC,QACC,IAAIsC,GAAK,IAAIp5G,QAAQ,SAAW,QAC3B,IAAIo5G,GAAK,IAAIp5G,QAAQ,OAAS,QAC9B,IAAI82G,GAAS1wG,EAAKy3E,KAAgC,cAAzBvkF,EAAMA,EAAMoG,OAAO,IAA+C,eAAzBpG,EAAMA,EAAMoG,OAAO,GAAsB,MAAM,IAAII,MAAM,qBAAuBshF,EAAK,IAAMg4B,MAElKhzG,GAEH88H,GAAkBvlC,GAGlBA,EAAGw8B,MAAQA,EAEX,EAAKjH,SAAWA,EACTv1B,EAGR,SAAS0oC,GAAgBxkD,EAAI8b,GAC5B/b,GAAaC,EAAI,qBACjB,IAAI,IAAIp6E,EAAM,EAAGA,GAAOk2F,EAAG9Y,WAAWnlF,SAAU+H,EAAK,CACpD,IAAI6+H,EAAM3oC,EAAG07B,UAAY17B,EAAG07B,SAASv0C,QAAU6Y,EAAG07B,SAASv0C,OAAOr9E,IAAQk2F,EAAG07B,SAASv0C,OAAOr9E,GAAKy8H,QAAU,EACxGxpI,EAAI,CAAEwpI,OAAQoC,EAAK3B,OAAQl9H,EAAI,EAAGm9H,SAAU,OAASn9H,EAAI,GAAIlZ,KAAMovG,EAAG9Y,WAAWp9E,IACrFm6E,GAAaC,EAAI,cAAegjD,GAAkBnqI,IAEnDknF,GAAaC,EAAI,mBAIlB,SAAS0kD,GAAqBxxI,EAAMsV,GAC/BA,IAAGA,EAAI2jE,GAAQ,MACnB,IAAI,IAAI7xE,EAAI,EAAQ,GAALA,IAAUA,EAAGkO,EAAEqgE,YAAY,EAAG,GAM7C,OALAsb,GAAmB,UAAW37E,GAC9B27E,GAAmBjpB,EAAK9uD,QAAS5D,GACjC27E,GAAmBjpB,EAAK9uD,QAAS5D,GACjC27E,GAAmB,OAAQ37E,GAC3BA,EAAE3K,OAAS2K,EAAE7M,EACN6M,EAAE3K,OAAS2K,EAAE7M,EAAI6M,EAAEkG,MAAM,EAAGlG,EAAE7M,GAAK6M,EAI3C,SAASm8H,GAAkB/+H,EAAK4C,GAC3BA,IAAGA,EAAI2jE,GAAQ,KACnB3jE,EAAEqgE,aAAa,EAAG,GAClBrgE,EAAEqgE,aAAa,EAAG,KAClBrgE,EAAEqgE,YAAY,EAAI,OAClBrgE,EAAEqgE,YAAY,EAAI,OAClBrgE,EAAEqgE,YAAY,EAAI,KAClBrgE,EAAEqgE,YAAY,EAAIjjE,GAClB4C,EAAEqgE,YAAY,EAAIjjE,GAClB,IAAIirD,EAAQ,IAEZ,OADAroD,EAAEqgE,YAAY,EAAIhY,GACXroD,EAAE3K,OAAS2K,EAAE7M,EAAI6M,EAAEkG,MAAM,EAAGlG,EAAE7M,GAAK6M,EAG3C,SAASo8H,GAAgB5kD,EAAI8b,GAE5B,GAAIA,EAAG07B,UAAa17B,EAAG07B,SAASv0C,OAAhC,CAGA,IAFA,IAAIF,EAAS+Y,EAAG07B,SAASv0C,OACrB3oF,EAAI,EAAGuqI,GAAU,EAAGtoC,GAAU,EAC5BjiG,EAAIyoF,EAAOllF,SAAUvD,GACtByoF,EAAOzoF,KAAOyoF,EAAOzoF,GAAG+nI,SAAqB,GAAXwC,EAAcA,EAASvqI,EACjC,GAApByoF,EAAOzoF,GAAG+nI,SAA0B,GAAX9lC,IAAcA,EAASjiG,GAEtDiiG,EAASsoC,IACZ9kD,GAAaC,EAAI,qBACjBD,GAAaC,EAAI,cAAe2kD,GAAkBE,IAElD9kD,GAAaC,EAAI,qBAwBlB,SAAS8kD,GAAahpC,EAAIv3F,GACzB,IAAIy7E,EAAKP,KAyBT,OAxBAM,GAAaC,EAAI,gBACjBD,GAAaC,EAAI,iBAAkB0kD,MAEnC3kD,GAAaC,EAAI,YAAakkD,GAAgBpoC,EAAG07B,UAAY17B,EAAG07B,SAAS8J,SAAW,OAGpFsD,GAAgB5kD,EAAI8b,EAAIv3F,GACxBigI,GAAgBxkD,EAAI8b,EAAIv3F,GAexBw7E,GAAaC,EAAI,cAEVA,EAAGjhF,MAEX,SAASgmI,GAAS7xI,EAAMxG,EAAM6X,GAC7B,MAAoB,SAAjB7X,EAAKgiB,OAAO,GAAoB61H,GAAa,EAAQhgI,GACjD29H,GAAa,EAAQ39H,GAG7B,SAASygI,GAAS9xI,EAAMxG,EAAMkZ,EAAKrB,EAAMwmF,EAAM+Q,EAAI1Q,EAAQ9lF,GAC1D,MAAoB,SAAjB5Y,EAAKgiB,OAAO,GAAoBwwH,GAAa,EAAQ36H,EAAMqB,EAAKmlF,EAAM+Q,EAAI1Q,EAAQ9lF,GAC9E0wH,GAAa,EAAQzxH,EAAMqB,EAAKmlF,EAAM+Q,EAAI1Q,EAAQ9lF,GAG1D,SAAS2/H,GAAS/xI,EAAMxG,EAAMkZ,EAAKrB,EAAMwmF,EAAM+Q,EAAI1Q,EAAQ9lF,GAC1D,MAAoB,SAAjB5Y,EAAKgiB,OAAO,GAAoBoyH,GAAa,EAAQv8H,EAAMqB,EAAKmlF,EAAM+Q,EAAI1Q,EAAQ9lF,GAC9Es7H,GAAa,EAAQr8H,EAAMqB,EAAKmlF,EAAM+Q,EAAI1Q,EAAQ9lF,GAG1D,SAAS4/H,GAAShyI,EAAMxG,EAAMkZ,EAAKrB,EAAMwmF,EAAM+Q,EAAI1Q,EAAQ9lF,GAC1D,MAAoB,SAAjB5Y,EAAKgiB,OAAO,GAAoB66G,GAAa,EAAQhlH,EAAMqB,EAAKmlF,EAAM+Q,EAAI1Q,EAAQ9lF,GAC9EkkH,GAAa,EAAQjlH,EAAMqB,EAAKmlF,EAAM+Q,EAAI1Q,EAAQ9lF,GAG1D,SAAS6/H,GAASjyI,EAAMxG,EAAMkZ,EAAKrB,EAAMwmF,EAAM+Q,EAAI1Q,EAAQ9lF,GAC1D,MAAoB,SAAjB5Y,EAAKgiB,OAAO,GAAoB26G,GAAa,EAAQ9kH,EAAMqB,EAAKmlF,EAAM+Q,EAAI1Q,EAAQ9lF,GAC9EgkH,GAAa,EAAQ/kH,EAAMqB,EAAKmlF,EAAM+Q,EAAI1Q,EAAQ9lF,GAG1D,SAAS8/H,GAAUlyI,EAAMxG,EAAM0+F,EAAQ7mF,GACtC,MAAoB,SAAjB7X,EAAKgiB,OAAO,GAAoBy0G,GAAc,EAAQ/3B,EAAQ7mF,GAC1Du8G,GAAc,EAAQ11B,EAAQ7mF,GAGtC,SAAS8gI,GAAYnyI,EAAMxG,EAAM6X,GAChC,OAAOsgH,GAAgB3xH,EAAMqR,GAG9B,SAAS+gI,GAAUpyI,EAAMxG,EAAM6X,GAC9B,MAAoB,SAAjB7X,EAAKgiB,OAAO,GAAoB4oG,GAAc,EAAQ/yG,GAClDsyG,GAAc,EAAQtyG,GAG9B,SAASghI,GAAWryI,EAAMxG,EAAM6X,GAC/B,MAAoB,SAAjB7X,EAAKgiB,OAAO,GAAoBm6G,GAAmB,EAAQtkH,GACvDqjH,GAAmB,EAAQrjH,GAGnC,SAASihI,GAAStyI,EAAMxG,EAAM6X,GAC7B,MAAoB,SAAjB7X,EAAKgiB,OAAO,GAAoB23G,GAAa,EAAQ35H,EAAM6X,GACvD4hH,GAAa,EAAQz5H,EAAM6X,GAGnC,SAASkhI,GAAYvyI,EAAMwH,EAAKhO,EAAM6X,GACrC,MAAoB,SAAjB7X,EAAKgiB,OAAO,GAAoB63G,GAAgB,EAAQ7rH,EAAKhO,EAAM6X,GAC/D+hH,GAAgB,EAAQ5rH,EAAKhO,EAAM6X,GAG3C,SAASmhI,GAAS5pC,EAAIpvG,EAAM6X,GAC3B,OAAyB,SAAjB7X,EAAKgiB,OAAO,GAAco2H,GAAerC,IAAc3mC,EAAIv3F,GAGpE,SAASohI,GAASzyI,EAAMxG,EAAM6X,EAAMu3F,EAAI/Q,GACvC,OAAyB,SAAjBr+F,EAAKgiB,OAAO,GAAcyxH,GAAejF,IAAchoI,EAAMqR,EAAMu3F,EAAI/Q,GAQhF,SAAS66C,GAAU1yI,EAAMxG,EAAM6X,GAC9B,OAAyB,SAAjB7X,EAAKgiB,OAAO,GAAcu1G,GAAgB5C,IAAenuH,EAAMqR,GAGxE,SAASshI,GAAU3yI,EAAMxG,EAAM6X,GAC9B,OAAyB,SAAjB7X,EAAKgiB,OAAO,GAAcgpG,GAAgBT,IAAe/jH,EAAMqR,GAGxE,SAASuhI,GAAW5yI,EAAMxG,EAAM6X,GAC/B,OAAyB,SAAjB7X,EAAKgiB,OAAO,GAAco6G,GAAqBR,IAAoBp1H,EAAMqR,GAOlF,IAAIwhI,GAAW,kDACXC,GAAU,qDACd,SAASC,GAAiBxsD,EAAKC,GAC9B,IAAIwsD,EAAQzsD,EAAI/xE,MAAM,OAClBkyE,EAAI,GACR,GADkBF,IAAWE,EAAE,GAAKssD,EAAM,IACtB,IAAjBA,EAAMroI,OAAc,OAAO+7E,EAC9B,IAA+B/pD,EAAGp1B,EAAGgU,EAAGnU,EAApCsB,EAAI69E,EAAIlyE,MAAMw+H,IAClB,GAAGnqI,EAAG,IAAItB,EAAI,EAAGA,GAAKsB,EAAEiC,SAAUvD,EACjCu1B,EAAIj0B,EAAEtB,GAAGiN,MAAMy+H,KACa,KAA1BvrI,EAAEo1B,EAAE,GAAG1xB,QAAQ,MAAcy7E,EAAE/pD,EAAE,IAAMA,EAAE,GAAGnhB,MAAM,EAAEmhB,EAAE,GAAGhyB,OAAO,IAEhC4Q,EAAV,WAApBohB,EAAE,GAAGnhB,MAAM,EAAE,GAAqB,QAAQmhB,EAAE,GAAGnhB,MAAM,GAC/CmhB,EAAE,GAAGnhB,MAAMjU,EAAE,GACtBm/E,EAAEnrE,GAAKohB,EAAE,GAAGnhB,MAAM,EAAEmhB,EAAE,GAAGhyB,OAAO,IAGlC,OAAO+7E,EAER,SAASusD,GAAoB1sD,GAC5B,IAAIysD,EAAQzsD,EAAI/xE,MAAM,OAClBkyE,EAAI,GACR,GAAoB,IAAjBssD,EAAMroI,OAAc,OAAO+7E,EAC9B,IAA+B/pD,EAAGp1B,EAAGgU,EAAGnU,EAApCsB,EAAI69E,EAAIlyE,MAAMw+H,IAClB,GAAGnqI,EAAG,IAAItB,EAAI,EAAGA,GAAKsB,EAAEiC,SAAUvD,EACjCu1B,EAAIj0B,EAAEtB,GAAGiN,MAAMy+H,KACa,KAA1BvrI,EAAEo1B,EAAE,GAAG1xB,QAAQ,MAAcy7E,EAAE/pD,EAAE,IAAMA,EAAE,GAAGnhB,MAAM,EAAEmhB,EAAE,GAAGhyB,OAAO,IAEhC4Q,EAAV,WAApBohB,EAAE,GAAGnhB,MAAM,EAAE,GAAqB,QAAQmhB,EAAE,GAAGnhB,MAAM,GAC/CmhB,EAAE,GAAGnhB,MAAMjU,EAAE,GACtBm/E,EAAEnrE,GAAKohB,EAAE,GAAGnhB,MAAM,EAAEmhB,EAAE,GAAGhyB,OAAO,IAGlC,OAAO+7E,EAKR,SAASwsD,GAAYtjI,EAAQ9W,GAC5B,IAAI81E,EAAMqF,EAAcrkE,IAAWo3E,GAAYp3E,GAC/C,MAAW,YAARg/D,EAA0B5D,EAAIkE,SAASp2E,GACnCkyE,EAAIp7D,OAAOg/D,EAAK91E,GAGxB,SAASq6I,GAAkBzzC,EAAWnlG,EAAK6gB,EAAI3I,GAC9C,IAAI2gI,EAAO3gI,EACX,QAAQ2I,EAAG,GAAG/G,MAAM,qBAAqB,CAAC,GAAG,KAAK,IACjD,IAAK,UAAW++H,EAAOtrD,GAAar1E,GAAM,MAC1C,IAAK,KAAM,IAAK,MAAO2gI,EAAO/5G,SAAS5mB,EAAK,IAAK,MACjD,IAAK,KAAM,IAAK,QAAS2gI,EAAO9/D,WAAW7gE,GAAM,MACjD,IAAK,OAAQ,IAAK,cAAe2gI,EAAO7uD,GAAU9xE,GAAM,MACxD,IAAK,KAAM,IAAK,SAAU,IAAK,QAAS,IAAK,OAAQ,IAAK,aAAc,MACxE,QAAS,MAAM,IAAI1H,MAAM,gBAAkBqQ,EAAG,IAE/CskF,EAAU1Y,GAAYzsF,IAAQ64I,EAG/B,SAASC,GAAiBpmD,EAAMkgD,EAAI73H,GACnC,GAAc,MAAX23E,EAAK/0C,EAAR,CACA,IAAI5iC,IAAoB,IAAfA,EAAEiqG,SAAoB,IAChB,MAAXtyB,EAAK/0C,EAAa+0C,EAAK1xE,EAAI0xE,EAAK1xE,GAAK63E,GAAKnG,EAAK3qF,GACnC,YAAP6qI,EACO,MAAXlgD,EAAK/0C,GACI,EAAP+0C,EAAK3qF,KAAS2qF,EAAK3qF,EAAG2qF,EAAK1xE,EAAIyvD,EAAI0C,aAAauf,EAAK3qF,GACpD2qF,EAAK1xE,EAAIyvD,EAAIiE,aAAage,EAAK3qF,GAEhC2qF,EAAK1xE,EAAIyvD,EAAIkE,SAAS+d,EAAK3qF,GAE5B2qF,EAAK1xE,EAAI23H,GAAY/F,GAAI,UAAWlgD,EAAK3qF,GAC7C,MAAM+D,IAAK,GAAGiP,EAAEwzE,IAAK,MAAMziF,GAC7B,IACC,IAAIqgF,EAAIzS,EAAck5D,IAAKA,GAAI,UAE/B,GADG73H,EAAEkqG,SAAQvyB,EAAKvG,EAAIA,GACnBpxE,EAAEq7E,WAAuB,KAAV1D,EAAK/0C,GAAY8yB,EAAIgI,QAAQ0T,GAAI,CAClD,IAAI0lD,EAAKphE,EAAIyB,gBAAgBwgB,EAAK3qF,GAAO8pI,IAAMn/C,EAAK/0C,EAAI,IAAK+0C,EAAK3qF,EAAI,IAAImR,KAAK24H,EAAGzvG,EAAGyvG,EAAG1jI,EAAE,EAAE0jI,EAAGzmI,EAAEymI,EAAGt/D,EAAEs/D,EAAGpvH,EAAEovH,EAAGr/D,EAAEq/D,EAAGh0F,KAEnH,MAAM/xC,IAAK,GAAGiP,EAAEwzE,IAAK,MAAMziF,KAG9B,SAASitI,GAAmBlhI,EAAQmhI,EAAMliI,GACzC,GAAGA,EAAKk8F,YACJgmC,EAAKC,SAAU,CACjB,IAAIC,EAAIF,EAAKC,SACVC,EAAEC,UAASD,EAAEnmC,YAAcke,GAAmBioB,EAAEC,UAAYD,EAAEC,SAGnEthI,EAAOmhI,EAAKI,IAAMJ,EAInB,SAASK,GAAgBp2C,EAAK1uB,EAAI9uE,EAAMitF,EAAMv5E,EAAMtB,EAAQyhI,EAAMzyI,EAAKq+H,EAAQnqH,GAC9E,IAAI63H,EAAK,UAAW2G,EAAM7mD,EAAK8mD,QAAShnE,EAAI,GAAIz3D,EAAIA,GAAK,GACzD,IAAI0+H,EAAY,GACZ5sI,EAAI,OACG5F,IAARsyI,GAAqB1yI,IAAK0yI,EAAM1yI,EAAI2yI,cAC5BvyI,IAARsyI,GAAqBD,IAAMC,EAAMD,EAAKE,SACzC,WAAsBvyI,IAAhB4Q,EAAO0hI,GAAoB,CAGhC,GAFG1hI,EAAO0hI,GAAK3G,KAAIA,EAAK/6H,EAAO0hI,GAAK3G,IACjC/6H,EAAO0hI,GAAKN,UAAUQ,EAAUjoI,KAAKqG,EAAO0hI,GAAKN,WAChDphI,EAAO0hI,GAAKG,OAAQ,MACxBH,EAAM1hI,EAAO0hI,GAAKG,OAEnB,OAAOj0I,EAAKq6F,MACX,IAAK,UACJpN,EAAK/0C,EAAI,IACT+0C,EAAK3qF,EAAIwlF,GAAa0V,GACtB,MACD,IAAK,SACJvQ,EAAK/0C,EAAI,IAAK+0C,EAAK90C,EAAIuvC,GAAYV,GAAYwW,IAC/CvQ,EAAK3qF,EAAIk7F,EAAIvyF,QAAQ,MAAQ,EAAI+7E,GAAYlY,GAAI0uB,GAAOvQ,EAAK90C,EAC7D,MACD,IAAK,WACgB,KAAjBqlD,EAAIhiF,OAAO,KAAWgiF,GAAO,KAChCvQ,EAAK3qF,GAAKiiF,GAAUiZ,GAAO,IAAI/pF,KAAKA,KAAKygI,IAAI,KAAM,GAAI,MAAQ,MAC5DjnD,EAAK3qF,IAAM2qF,EAAK3qF,EAAG2qF,EAAK3qF,EAAI0kF,GAAYwW,GACnCvQ,EAAK3qF,EAAE,KAAI2qF,EAAK3qF,EAAI2qF,EAAK3qF,EAAG,GAChC6qI,GAAY,WAANA,IAAiBA,EAAK,cAEjC,IAAK,cACU3rI,IAAXyrF,EAAK3qF,IAAiB2qF,EAAK3qF,GAAGk7F,GAC7BvQ,EAAK/0C,IAAG+0C,EAAK/0C,EAAI,KACrB,MACD,IAAK,QAAS+0C,EAAK/0C,EAAI,IAAK+0C,EAAK3qF,EAAI+wF,GAAMmK,IAAwB,IAAfloF,EAAEiqG,WAAoBtyB,EAAK1xE,EAAIiiF,GAAK,MACxF,QACW,IAAPA,GAAmB,IAAN1uB,EAAYme,EAAK/0C,EAAI,KAC9B+0C,EAAK/0C,EAAI,IAAK+0C,EAAK3qF,EAAIolF,GAAY5Y,GAAI0uB,IAC9C,MAGF,GADA61C,GAAiBpmD,EAAMkgD,EAAI73H,IACN,IAAlBA,EAAEkyH,YACJ,GAAGv6C,EAAKknD,QAAS,CAChB,IAAIvd,EAAO5vC,GAAYiG,EAAKknD,SAEH,IAAtBvd,EAAKhsH,WAAW,KAAkBgsH,EAAOA,EAAKp7G,MAAM,IACvDyxE,EAAKtmF,EAAIs1G,GAAS2a,EAAMljH,UACjBu5E,EAAKknD,QACU,MAAnBlnD,EAAKmnD,WAAoBnnD,EAAK7vE,EAAI6+F,GAAS,QAASvoG,GAC/Cu5E,EAAKmnD,aACZnnD,EAAK7vE,EAAI6+F,GAAShvB,EAAKmnD,WAAY1gI,GACnC+rH,EAAO1zH,KAAK,CAACujF,GAAkBrC,EAAK7vE,GAAI6vE,EAAK7vE,UAG9C,IAAIhW,EAAI,EAAGA,EAAIq4H,EAAO90H,SAAUvD,EAC5BsM,EAAKykC,GAAKsnF,EAAOr4H,GAAG,GAAG+U,EAAEg8B,GAAKzkC,EAAKykC,GAAKsnF,EAAOr4H,GAAG,GAAGf,EAAE8xC,GACtDzkC,EAAKhO,GAAK+5H,EAAOr4H,GAAG,GAAG+U,EAAEzW,GAAKgO,EAAKhO,GAAK+5H,EAAOr4H,GAAG,GAAGf,EAAEX,IACzDunF,EAAK7vE,EAAIqiH,EAAOr4H,GAAG,IAGrBkO,EAAEi4F,aACJymC,EAAUxhI,SAAQ,SAASpC,IACtB28D,EAAEugC,aAAel9F,EAAEk9F,cAAavgC,EAAEugC,YAAcl9F,EAAEk9F,gBAEvDrgB,EAAK9wE,EAAI4wD,QAEUvrE,IAAjByrF,EAAK8mD,UAAuB9mD,EAAK0Z,KAAO1Z,EAAK8mD,SAGjD,SAASM,GAAmBx4F,GAC3BA,EAAQ3D,EAAI2D,EAAQv5C,GAAK,GACzBu5C,EAAQ3D,EAAI2D,EAAQ3D,EAAE3vC,QAAQ,QAAQ,MAAMA,QAAQ,MAAM,MAC1DszC,EAAQv5C,EAAIu5C,EAAQtgC,EAAIsgC,EAAQ8qD,UAAOnlG,EAGxC,SAAS85F,GAAe31F,GACvB,GAAGyU,GAAWC,EAAOzE,SAASjQ,GAAI,OAAOA,EAAE2N,SAAS,QACpD,GAAgB,kBAAN3N,EAAgB,OAAOA,EAEjC,GAAyB,qBAAf6E,YAA8B7E,aAAa6E,WAAY,OAAOu9E,GAASrd,EAAIE,EAAKjlE,KAC1F,MAAM,IAAIoF,MAAM,+CAKjB,IAAIwwF,GAAY,8CAEhB,SAAS+4C,GAAe3uI,EAAGu1E,GAC1B,IAAI7pE,EAAO6pE,GAAS,GACpBjQ,EAASD,GACT,IAAI96D,EAAM45D,EAAMwxB,GAAe31F,IACf,UAAb0L,EAAKrV,MAAiC,SAAbqV,EAAKrV,MAAgC,UAAbqV,EAAKrV,OACrBkU,EAAb,qBAAZ+I,QAA+BA,QAAQ8E,MAAMZ,OAAO,MAAOwsD,EAAWz5D,IACrE63E,GAAS73E,IAErB,IAGIkrF,EAHAm5C,EAAUrkI,EAAIsL,MAAM,EAAG,MAAMgnC,cAAegyF,GAAS,EAEzD,IADgC,GAA7BD,EAAQtpI,QAAQ,UAAgB,CAAC,OAAQ,QAAS,OAAQ,OAAQ,SAAU,QAAS,OAAOuH,SAAQ,SAAS+zE,GAAUguD,EAAQtpI,QAAQ,IAAMs7E,IAAQ,IAAGiuD,GAAS,MACjKA,EAAQ,OAAOC,GAAMp9B,YAAYnnG,EAAKmB,GAEzC,IAAgBhG,EAAZ9G,EAAQ,GACA,MAAT0lE,GAA+B,MAAd54D,EAAK6+E,QAAe7+E,EAAK6+E,MAAQjmB,GACrD,IAUgB4pE,EAVZhkD,EAAS,GAAI6kD,EAAa,GAAIC,EAAYtjI,EAAK6+E,MAAQ,GAAK,GAAK0kD,EAAY,GACjE3nD,EAAO,GAAM7rF,EAAM,GAC/ByzI,EAAO9B,GAAiB,2BAA4B+B,EAAO,EAC3DpvI,EAAI,EAAGyyC,EAAI,EACXsoE,EAAW,CAACtkG,EAAG,CAACg8B,EAAE,IAASzyC,EAAE,KAAUW,EAAG,CAAC8xC,EAAE,EAAGzyC,EAAE,IAClD0M,EAAS,GAAImhI,EAAO,GACpBzkE,EAAK,GAAIimE,EAAO,EAChBtiC,EAAS,GACThW,EAAQ,GAAIiD,EAAY,GAAIs1C,EAAO,EAAG55H,EAAK,GAC3Cm8E,EAAW,GAAI17C,EAAU,GACzBo5F,EAAQ,GAAUnQ,GAAU,EAC5BrF,EAAS,GACTjkB,EAAU,GAAIwrB,EAAS,GAAIn2D,EAAK,EAAGR,EAAK,EACxCi0D,EAAW,CAAGv0C,OAAO,GAAIq+C,QAAQ,CAACphE,UAAS,IAAWkoE,EAAU,GACpE35C,GAAU45C,UAAY,EACtBjlI,EAAMA,EAAI3H,QAAQ,sBAAsB,IACxC,MAAO6yF,EAAKG,GAAUC,KAAKtrF,GAAO,OAAOkrF,EAAG,IAC3C,IAAK,OACJ,GAAG72F,EAAMA,EAAMoG,OAAO,GAAG,GAAI,MAClB,MAARywF,EAAG,GAAUw4C,GAAgB1jI,EAAIsL,MAAMs5H,EAAM15C,EAAG/4F,OAAQysE,EAAI+lE,EAAgC,WAA1BtwI,EAAMA,EAAMoG,OAAO,GAAG,GAAckxC,EAAQoxC,EAAM,CAACvnF,EAAEA,EAAEyyC,EAAEA,GAAI/lC,EAAQ6iI,EAAMvvI,GAAItE,EAAKq+H,EAAQpuH,IAC1Jy9D,EAAK,GAAI+lE,EAAO9B,GAAiB33C,EAAG,IAAK05C,EAAO15C,EAAG/4F,MAAQ+4F,EAAG,GAAGzwF,QACxE,MACD,IAAK,OACJ,GAAW,MAARywF,EAAG,GAkBL,GAjBG7D,EAAS5sF,OAAS,IAAGsiF,EAAKvnF,EAAI6xF,KAC5BlmF,EAAKglG,WAAahlG,EAAKglG,UAAYl+D,SAAiB32C,IAAXyrF,EAAK3qF,IAC/C+O,EAAK6+E,OACHykD,EAASx8F,KAAIw8F,EAASx8F,GAAK,IAC/Bw8F,EAASx8F,GAAGzyC,GAAKunF,GACX0nD,EAAS9mD,GAAWnoF,GAAKkoF,GAAWz1C,IAAM80C,GAE/CA,EAAKmoD,OACPnoD,EAAKxkF,EAAI,CAAE6xF,OAAOrN,EAAKmoD,MACpBnoD,EAAKooD,gBAAepoD,EAAKxkF,EAAE29F,QAAUnZ,EAAKooD,sBACtCpoD,EAAKmoD,YAAanoD,EAAKooD,gBAE5BpoD,EAAKqoD,aAAeroD,EAAKsoD,aAC3B1kE,EAAKnrE,GAAmC,EAA9B2zB,SAAS4zD,EAAKqoD,YAAY,KACpCjlE,EAAKl4B,GAAiC,EAA5B9e,SAAS4zD,EAAKsoD,UAAU,KAClC9iC,EAAO1mG,KAAK,CAACoQ,EAAE,CAACzW,EAAEA,EAAEyyC,EAAEA,GAAG9xC,EAAE,CAACX,EAAEmrE,EAAG14B,EAAEk4B,MAEhCh/D,EAAKq/E,WACJ,GAAGzD,EAAKqoD,aAAeroD,EAAKsoD,UAAW,CAChD,IAAI,IAAIC,EAAM9vI,EAAG8vI,GAAO3kE,IAAM2kE,EACxB,IAAI,IAAIC,EAAMt9F,EAAGs9F,GAAOplE,IAAMolE,GAC1BD,EAAM9vI,GAAK+vI,EAAMt9F,KAChB9mC,EAAK6+E,OACHykD,EAASc,KAAMd,EAASc,GAAO,IACnCd,EAASc,GAAKD,GAAO,CAACt9F,EAAE,MAClBy8F,EAAS9mD,GAAW2nD,GAAO5nD,GAAW6nD,IAAQ,CAACv9F,EAAE,MAI3DxyC,EAAImrE,EAAK,QAEHnrE,OAdmBunF,EAAKqoD,YAAa5vI,EAAImrE,EAAK,IAAUnrE,OAgB/DunF,EAAOgmD,GAAoB73C,EAAG,IAC3BnO,EAAKy7B,QAAOhjH,GAAKunF,EAAKy7B,MAAQ,GAC9BhjH,EAAI+6G,EAAStkG,EAAEzW,IAAG+6G,EAAStkG,EAAEzW,EAAIA,GACjCA,EAAI+6G,EAASp6G,EAAEX,IAAG+6G,EAASp6G,EAAEX,EAAIA,GACb,OAApB01F,EAAG,GAAG5/E,OAAO,MAAe9V,EAC/B6xF,EAAW,GAEZ,MACD,IAAK,MACO,MAAR6D,EAAG,IAAgC,OAApBA,EAAG,GAAG5/E,OAAO,IAC3B28B,EAAIsoE,EAAStkG,EAAEg8B,IAAGsoE,EAAStkG,EAAEg8B,EAAIA,GACjCA,EAAIsoE,EAASp6G,EAAE8xC,IAAGsoE,EAASp6G,EAAE8xC,EAAIA,GACb,OAApBijD,EAAG,GAAG5/E,OAAO,KACfpa,EAAM2xI,GAAiB33C,EAAG,IACvBh6F,EAAIsnH,QAAOvwE,GAAK/2C,EAAIsnH,MAAQ,IAEhChjH,EAAI,IAAKyyC,IAET/2C,EAAM2xI,GAAiB33C,EAAG,IACvBh6F,EAAIsnH,QAAOvwE,GAAK/2C,EAAIsnH,MAAQ,GAC/Bse,EAAS,IACe,KAArB5lI,EAAIs0I,eAAwBt0I,EAAIu0I,UAClC3O,EAAO3qB,IAAMhjF,SAASj4B,EAAIu0I,OAAQ,IAAK3O,EAAO/8B,IAAMkT,GAAM6pB,EAAO3qB,KACjEb,EAAQrjE,GAAK6uF,GAEG,KAAd5lI,EAAI+tI,SAAiBnI,EAAO39B,QAAS,EAAMmS,EAAQrjE,GAAK6uF,IAE5D,MACD,IAAK,YACJ,GAAW,MAAR5rC,EAAG,GAAS,CACd,IAAI/vF,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,MAAM,IAAIrwF,MAAM,cAAcM,EAAIW,KAAK,MACxE0oI,EAAW3oI,KAAK6oI,GACbn0B,EAAStkG,EAAEg8B,GAAKsoE,EAASp6G,EAAE8xC,GAAKsoE,EAAStkG,EAAEzW,GAAK+6G,EAASp6G,EAAEX,IAC7DivI,EAAS,QAAUxlD,GAAasxB,GAC7BpvG,EAAKglG,WAAahlG,EAAKglG,WAAaoK,EAASp6G,EAAE8xC,IACjDw8F,EAAS,YAAcA,EAAS,QAChCl0B,EAASp6G,EAAE8xC,EAAI9mC,EAAKglG,UAAY,EAChCs+B,EAAS,QAAUxlD,GAAasxB,KAG/BhO,EAAO9nG,SAAQgqI,EAAS,WAAaliC,GACrCwiC,EAAMtqI,OAAS,IAAGgqI,EAAS,SAAWM,GACtCz5B,EAAQ7wG,OAAS,IAAGgqI,EAAS,SAAWn5B,GAC3C3rB,EAAO+kD,GAAaD,OAEpBl0B,EAAW,CAACtkG,EAAG,CAACg8B,EAAE,IAASzyC,EAAE,KAAUW,EAAG,CAAC8xC,EAAE,EAAGzyC,EAAE,IAClDyyC,EAAIzyC,EAAI,EACRnB,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,IACnB/vF,EAAM0nI,GAAiB33C,EAAG,IAC1Bw5C,EAAY5tD,GAAY37E,EAAIwlG,MAC5B8jC,EAAYtjI,EAAK6+E,MAAQ,GAAK,GAC9BuiB,EAAS,GACTgtB,EAAS,GACTjkB,EAAU,GACV05B,EAAU,CAAC17I,KAAKo7I,EAAWzF,OAAO,GAClC7K,EAASv0C,OAAOhkF,KAAKmpI,GAEtB,MACD,IAAK,QACJ,GAAW,MAAR95C,EAAG,IAAU,IAAI/vF,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,MAAM,IAAIrwF,MAAM,cAAcM,EAAIW,KAAK,UACnF,IAAsB,MAAnBovF,EAAG,GAAG5/E,OAAO,GAAY,MAExBu3H,GAAiB33C,EAAG,IAC5B72F,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,IACnB65C,EAAQ,GAAInQ,GAAU,EAEvB,MAED,IAAK,QACO,MAAR1pC,EAAG,GAAUk4C,GAAmBlhI,EAAQmhI,EAAMliI,GAC5CkiI,EAAOR,GAAiB33C,EAAG,IAChC,MAED,IAAK,eACJm4C,EAAKpG,GAAKnmD,GAAY+rD,GAAiB33C,EAAG,IAAIw6C,QAAU,WACrD3hE,EAAcs/D,EAAKpG,MAAKoG,EAAKpG,GAAKl5D,EAAcs/D,EAAKpG,KACxD,IAAI,IAAI0I,EAAS,EAAa,KAAVA,IAAmBA,EAAQ,GAAG7qE,EAAI6I,OAAOgiE,IAAWtC,EAAKpG,GAAI,MACjF,GAAa,KAAV0I,EAAiB,IAAIA,EAAS,GAAgB,KAAVA,IAAmBA,EAAQ,GAAyB,MAAtB7qE,EAAI6I,OAAOgiE,GAAiB,CAAE7qE,EAAI5tB,KAAKm2F,EAAKpG,GAAI0I,GAAS,MAC9H,MAED,IAAK,SACJ,GAAgC,UAA7BtxI,EAAMA,EAAMoG,OAAO,GAAG,GAAgB,MAIzC,GAHAkpI,EAAOd,GAAiB33C,EAAG,IACxBy4C,EAAK1E,SAAU0E,EAAKxqC,QAAS,SAAawqC,EAAK1E,QAC/C0E,EAAKiC,QAAOjC,EAAK92B,IAAM1jF,SAASw6G,EAAKiC,MAAO,MAC3ChR,GAAW+O,EAAK92B,IAAM,GAAI,CAC7B+nB,GAAU,EAAMpa,GAAMH,GACtB,IAAI,IAAIwrB,EAAO,EAAGA,EAAOd,EAAMtqI,SAAUorI,EAASd,EAAMc,IAAO35B,GAAY64B,EAAMc,IAE/EjR,GAAS1oB,GAAYy3B,GACxBoB,EAAOpB,EAAKnrB,MAAM,GAAGusB,EAAMtqI,QAAWkpI,EACtC,IAAI,IAAIzsI,EAAI,EAAGA,GAAKysI,EAAKmC,OAAQ5uI,EAAG6tI,EAAMA,EAAMtqI,QAAU+5E,GAAImvD,GAC9D,MAED,IAAK,aACAvP,EAASc,QAAOd,EAASc,MAAQ,IACrC,IAAI6Q,EAAc3vD,GAAY8U,EAAG,IAC7B86C,EAAe,CAClBrlC,KAAMolC,EAAYplC,KAClBy0B,IAAKrpB,GAASg6B,EAAYE,SAAS36H,MAAM,GAAI,CAAC28B,EAAE,EAAGzyC,EAAE,KAEnD4+H,EAASv0C,OAAOplF,OAAO,IAAGurI,EAAa7Q,MAAMf,EAASv0C,OAAOplF,OAAO,GAC1E25H,EAASc,MAAMr5H,KAAKmqI,GACjB,MAED,IAAK,YAAa,MAClB,IAAK,IAAK,MACV,IAAK,IAAK,MACV,IAAK,IAAK,MACV,IAAK,IAAK,MACV,IAAK,MAAO,MACZ,IAAK,MAAO,MACZ,IAAK,OAAQ,MACb,IAAK,YACJ,MACD,IAAK,UAAW,MAChB,IAAK,SAAU,MACf,IAAK,OACJ,GAAuB,OAApB96C,EAAG,GAAG5/E,OAAO,GAAa,MACb,MAAR4/E,EAAG,GAAUtsB,GAAM5+D,EAAIsL,MAAMu5H,EAAM35C,EAAG/4F,OACzC0yI,EAAO35C,EAAG/4F,MAAQ+4F,EAAG,GAAGzwF,OAC7B,MACD,IAAK,WACJ,IAAI0G,EAAKk8F,WAAY,MACrBgmC,EAAKC,SAAWT,GAAiB33C,EAAG,IACpC,MACD,IAAK,aAAc,MAEnB,IAAK,SACL,IAAK,QACL,IAAK,cACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,gBACL,IAAK,UACL,IAAK,gBACL,IAAK,aACL,IAAK,WACL,IAAK,UACJ,GAAuB,OAApBA,EAAG,GAAG5/E,OAAO,GAAa,MACb,MAAR4/E,EAAG,GAAUmE,GAAc9C,EAAOrB,EAAG,GAAIlrF,EAAIsL,MAAMw5H,EAAM55C,EAAG/4F,QAC/D2yI,EAAO55C,EAAG/4F,MAAQ+4F,EAAG,GAAGzwF,OAC7B,MACD,IAAK,aAAc,MAEnB,IAAK,SACL,IAAK,WACJ,GAAW,MAARywF,EAAG,IAAU,IAAI/vF,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,MAAM,IAAIrwF,MAAM,cAAcM,EAAIW,KAAK,WACnFzH,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,IACxB,MAED,IAAK,UACJ,GAAW,MAARA,EAAG,GAAS,CACd,IAAI/vF,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,MAAM,IAAIrwF,MAAM,cAAcM,EAAIW,KAAK,MACxEqoI,GAAmBx4F,GACnB07C,EAASxrF,KAAK8vC,QAEdt3C,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,IACnB/vF,EAAM0nI,GAAiB33C,EAAG,IAC1Bv/C,EAAU,CAAE3/C,EAAEmP,EAAIozF,QAEnB,MAED,IAAK,aACJ,GAAW,MAARrD,EAAG,IAAU,IAAI/vF,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,MAAM,IAAIrwF,MAAM,cAAcM,EAAIW,KAAK,WACnF,GAAoC,MAAjCovF,EAAG,GAAGhiF,OAAOgiF,EAAG,GAAGzwF,OAAO,GAAY,CAC7C,IAAIyrI,GAAarD,GAAiB33C,EAAG,IACrCu5C,EAAS,eAAiB,CAAEz6I,IAAI+hH,GAASm6B,GAAWC,OAAO9tI,QAAQ,MAAM,KACzEhE,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,IAEpB,MAED,IAAK,OAAQ,MAEb,IAAK,iBACJ,GAAW,MAARA,EAAG,IACL,IAAI/vF,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,MAAM,IAAIrwF,MAAM,cAAcM,EAAIW,KAAK,UAEpC,MAAjCovF,EAAG,GAAGhiF,OAAOgiF,EAAG,GAAGzwF,OAAO,IAAYpG,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,IAE7D,MAED,IAAK,mBACL,IAAK,qBACL,IAAK,2BACL,IAAK,yBACL,IAAK,aACL,IAAK,aACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,UACL,IAAK,SACL,IAAK,OACL,IAAK,wBACL,IAAK,eACL,IAAK,YACL,IAAK,gBACL,IAAK,kBACL,IAAK,mBACJ,GAAW,MAARA,EAAG,IAAU,IAAI/vF,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,MAAM,IAAIrwF,MAAM,cAAcM,EAAIW,KAAK,UAC/C,MAAjCovF,EAAG,GAAGhiF,OAAOgiF,EAAG,GAAGzwF,OAAO,IAAYpG,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,IACjE,MAED,QAEC,GAAmB,GAAhB72F,EAAMoG,QAAwB,YAATywF,EAAG,GAAkB,OAAOk7C,GAAWpmI,EAAKmB,GAEpE,GAAmB,GAAhB9M,EAAMoG,QAAwB,OAATywF,EAAG,GAAa,OAAOk7C,GAAWpmI,EAAKmB,GAE/D,IAAIE,IAAO,EACX,OAAOhN,EAAMA,EAAMoG,OAAO,GAAG,IAE5B,IAAK,yBAA0B,OAAOywF,EAAG,IACxC,IAAK,WAAY,MACjB,IAAK,4BAA6B,MAClC,IAAK,qBAAsB,MAC3B,IAAK,uBAAwB,MAC7B,IAAK,SAAU,MACf,IAAK,QAAS,MACd,IAAK,QAAS,MACd,IAAK,MAAO,MACZ,IAAK,gBAAiB,MACtB,IAAK,mBAAoB,MACzB,IAAK,sBAAuB,MAC5B,QAAS7pF,IAAO,EACf,MAGF,IAAK,mBAAoB,OAAO6pF,EAAG,IAClC,IAAK,UAAW,MAChB,IAAK,iBAAkB,MACvB,IAAK,qBAAsB,MAC3B,IAAK,QAAS,MACd,IAAK,UAAW,MAChB,IAAK,YAAa,MAClB,IAAK,WAAY,MACjB,IAAK,kBAAmB,MACxB,QAAS7pF,IAAO,EACf,MAGF,IAAK,gBAAiB,OAAO6pF,EAAG,IAC/B,IAAK,WACVkpC,EAAS8J,QAAQphE,UAAW,EACtB,MACD,IAAK,eAAgB,MACrB,IAAK,cAAe,MACpB,IAAK,aAAc,MACnB,IAAK,aAAc,MACnB,IAAK,WAAY,MACjB,IAAK,mBAAoB,MACzB,IAAK,gBAAiB,MACtB,IAAK,iBAAkB,MACvB,IAAK,cAAe,MACpB,IAAK,kBAAmB,MACxB,IAAK,oBAAqB,MAC1B,IAAK,UAAW,MAChB,IAAK,YAAa,MAClB,IAAK,aAAc,MACnB,IAAK,kBAAmB,MACxB,IAAK,iBAAkB,MACvB,IAAK,MAAO,MACZ,IAAK,yBAA0B,MAC/B,IAAK,sBAAuB,MAC5B,IAAK,YAAa,MAClB,IAAK,gBAAiB,MACtB,IAAK,YAAa,MAClB,IAAK,OAAQ,MACb,IAAK,MAAO,MACZ,IAAK,QAAS,MACd,IAAK,iBAAkB,MACvB,IAAK,cAAe,MACpB,IAAK,WAAY,MACjB,IAAK,gBAAiB,MACtB,IAAK,MAAO,MACZ,IAAK,aAAc,MACnB,IAAK,UAAW,MAChB,IAAK,WAAY,MACjB,IAAK,UAAW,MAChB,IAAK,aAAc,MACnB,IAAK,UAAW,MAChB,IAAK,QAAS,MACd,IAAK,OAAQ,MACb,IAAK,MAAO,MACZ,IAAK,gBAAiB,MACtB,IAAK,iBAAkB,MACvB,IAAK,2BAA4B,MACjC,IAAK,SAAU,MACf,IAAK,cAAe,MACpB,IAAK,qBAAsB,MAC3B,QAASz7D,IAAO,EACf,MAGF,IAAK,kBAAmB,OAAO6pF,EAAG,IACjC,IAAK,aAAc,MACnB,IAAK,SAAU,MACf,IAAK,QAAS,MACd,QAAS7pF,IAAO,EACf,MAGF,IAAK,mBAAoB,OAAO6pF,EAAG,IAClC,IAAK,UACJ,GAAuB,OAApBA,EAAG,GAAG5/E,OAAO,SACX,GAAW,MAAR4/E,EAAG,GAAU,OAAOlrF,EAAIsL,MAAMw5H,EAAM55C,EAAG/4F,QAC9C,IAAK,cAAe6yI,EAAQ/F,OAAS,EAAG,MACxC,IAAK,kBAAmB+F,EAAQ/F,OAAS,EAAG,WAExC6F,EAAO55C,EAAG/4F,MAAQ+4F,EAAG,GAAGzwF,OAC7B,MACD,IAAK,SACAgqI,EAAS,aAAanT,GAAgBmT,EAAS,YAAY,GAAI,QACnEA,EAAS,YAAYzzF,OAASolC,GAAY8U,EAAG,IAAIm7C,OACjD,MACD,IAAK,SACA5B,EAAS,aAAanT,GAAgBmT,EAAS,YAAY,GAAI,QACnEA,EAAS,YAAYtgC,OAAS/tB,GAAY8U,EAAG,IAAIm7C,OACjD,MACD,IAAK,cACJ,IAAIC,GAAclwD,GAAY8U,EAAG,IAC7Bu5C,EAAS,aAAanT,GAAgBmT,EAAS,YAAY,GAAG,QAC/D6B,GAAYC,MAAK9B,EAAS,YAAYl2I,IAAM+3I,GAAYC,KACxDD,GAAYE,OAAM/B,EAAS,YAAYj2I,KAAO83I,GAAYE,MAC1DF,GAAYG,QAAOhC,EAAS,YAAYz7G,MAAQs9G,GAAYG,OAC5DH,GAAYI,SAAQjC,EAAS,YAAY17G,OAASu9G,GAAYI,QACjE,MACD,IAAK,qBACAtS,EAASkB,QAAOlB,EAASkB,MAAQ,IACjClB,EAASkB,MAAM,KAAIlB,EAASkB,MAAM,GAAK,IAC3ClB,EAASkB,MAAM,GAAG55B,KAAM,EACxB,MAED,IAAK,cAAe,MACpB,IAAK,gBAAiB,MAEtB,IAAK,kBACL,IAAK,gBACJ,MAED,IAAK,wBACJ,MAED,IAAK,mBAAoB,MACzB,IAAK,sBAAuB,MAE5B,IAAK,WAAY,MACjB,IAAK,QAAS,MACd,IAAK,QAAS,MACd,IAAK,QAAS,MACd,IAAK,OAAQ,MACb,IAAK,SAAU,MACf,IAAK,SAAU,MACf,IAAK,YAAa,MAClB,IAAK,WAAY,MACjB,IAAK,iBAAkB,MACvB,IAAK,kBAAmB,MACxB,IAAK,mBAAoB,MACzB,IAAK,mBAAoB,MACzB,IAAK,uBAAwB,MAC7B,IAAK,qBAAsB,MAC3B,IAAK,iBAAkB,MACvB,IAAK,YAAa,MAClB,IAAK,YAAa,MAClB,IAAK,aAAc,MACnB,IAAK,gBAAiB,MACtB,IAAK,oBAAqB,MAC1B,IAAK,YAAa,MAClB,IAAK,iBAAkB,MACvB,IAAK,iBAAkB,MACvB,IAAK,iBAAkB,MACvB,IAAK,gBAAiB,MACtB,IAAK,WAAY,MACjB,IAAK,WAAY,MACjB,IAAK,YAAa,MAClB,IAAK,iBAAkB,MACvB,IAAK,OAAQ,MACb,IAAK,cAAe,MACpB,IAAK,YAAa,MAClB,IAAK,YAAa,MAClB,IAAK,cAAe,MACpB,IAAK,kBAAmB,MACxB,IAAK,kBAAmB,MACxB,IAAK,kBAAmB,MACxB,IAAK,kBAAmB,MACxB,IAAK,wBAAyB,MAC9B,IAAK,mBAAoB,MACzB,IAAK,gBAAiB,MACtB,IAAK,gBAAiB,MACtB,IAAK,2BAA4B,MACjC,IAAK,gBAAiB,MACtB,IAAK,uBAAwB,MAC7B,IAAK,qBAAsB,MAC3B,IAAK,8BAA+B,MACpC,IAAK,gBAAiB,MACtB,IAAK,oBAAqB,MAC1B,IAAK,mBAAoB,MACzB,IAAK,iBAAkB,MACvB,IAAK,sBAAuB,MAC5B,IAAK,gBAAiB,MACtB,IAAK,sBAAuB,MAC5B,IAAK,aAAc,MACnB,IAAK,gBAAiB,MACtB,IAAK,YAAa,MAClB,IAAK,kBAAmB,MACxB,QAASr6F,IAAO,EACf,MAGF,IAAK,aAAc,IAAK,aAAc,OAAO6pF,EAAG,IAC/C,IAAK,uBAAwB,MAC7B,IAAK,4BAA6B,MAClC,IAAK,mBAAoB,MACzB,IAAK,WAAY,MACjB,IAAK,aAAc,MACnB,IAAK,cAAe,MACpB,IAAK,aAAc,MACnB,IAAK,yBAA0B,MAC/B,IAAK,mBAAoB,MACzB,IAAK,WAAY,MACjB,IAAK,YAAa,MAClB,IAAK,WAAY,MACjB,IAAK,YAAa,MAClB,IAAK,aAAc,MACnB,IAAK,cAAe,MACpB,IAAK,cAAe,MACpB,IAAK,aAAc,MACnB,IAAK,mBAAoB,MACzB,IAAK,OAAQ,MACb,IAAK,WAAY,MACjB,IAAK,WAAY,MACjB,IAAK,aAAc,MACnB,IAAK,yBAA0B,MAC/B,IAAK,WAAY,MACjB,IAAK,YAAa,MAClB,IAAK,gBAAiB,MACtB,IAAK,aAAc,MACnB,IAAK,sBAAuB,MAC5B,IAAK,SAAU,MACf,IAAK,WAAY,MACjB,IAAK,YAAa,MAClB,IAAK,gBAAiB,MACtB,IAAK,WAAY,MACjB,IAAK,oBAAqB,MAC1B,IAAK,iBAAkB,MACvB,IAAK,cAAe,MACpB,IAAK,iBAAkB,MACvB,IAAK,cAAe,MACpB,IAAK,cAAe,MACpB,IAAK,kBAAmB,MACxB,IAAK,qBAAsB,MAC3B,IAAK,oBAAqB,MAC1B,IAAK,uBAAwB,MAC7B,IAAK,wBAAyB,MAC9B,IAAK,cAAe,MACpB,QAAS7pF,IAAO,EACf,MAGF,IAAK,aAAc,OAAO6pF,EAAG,IAC5B,IAAK,YAAa,MAClB,IAAK,WAAY,MACjB,IAAK,YAAa,MAClB,IAAK,WAAY,MACjB,IAAK,WAAY,MACjB,IAAK,SAAU,MACf,IAAK,SAAU,MACf,QAAS7pF,IAAO,EACf,MAGF,IAAK,aAAc,OAAO6pF,EAAG,IAC5B,IAAK,mBAAoB,MACzB,IAAK,sBAAuB,MAC5B,IAAK,gBAAiB,MACtB,IAAK,eAAgB,MACrB,QAAS7pF,IAAO,EACf,MAGF,IAAK,aAAc,OAAO6pF,EAAG,IAC5B,IAAK,KAAM,MACX,IAAK,iBAAkB,MACvB,IAAK,oBAAqB,MAC1B,IAAK,cAAe,MACpB,IAAK,YAAa,MAClB,IAAK,qBAAsB,MAC3B,IAAK,iBAAkB,MACvB,IAAK,YAAa,MAClB,IAAK,aAAc,MACnB,IAAK,aAAc,MACnB,IAAK,cAAe,MACpB,IAAK,cAAe,MACpB,IAAK,WAAY,MACjB,IAAK,SAAU,MACf,IAAK,aAAc,MACnB,IAAK,iBAAkB,MACvB,IAAK,qBAAsB,MAC3B,IAAK,qBAAsB,MAC3B,IAAK,SAAU,MACf,IAAK,SAAU,MACf,IAAK,UAAW,MAChB,IAAK,oBAAqB,MAC1B,IAAK,uBAAwB,MAC7B,IAAK,iBAAkB,MACvB,IAAK,YAAa,MAClB,IAAK,aAAc,MACnB,IAAK,MAAO,MACZ,IAAK,QAAS,MACd,IAAK,iBAAkB,MACvB,IAAK,kBAAmB,MACxB,IAAK,qBAAsB,MAC3B,QAAS7pF,IAAO,EACf,MAEF,IAAK,iBACL,OAAO6pF,EAAG,IACT,IAAK,QAAS,MAEd,IAAK,OAAQ,MACb,IAAK,MAAO,MACZ,IAAK,MAAO,MACZ,IAAK,OAAQ,MACb,IAAK,aAAc,MACnB,IAAK,QAAS,MACd,IAAK,gBAAiB,MACtB,IAAK,QAAS,MACd,IAAK,aAAc,MACnB,IAAK,eAAgB,MACrB,IAAK,aAAc,MACnB,IAAK,eAAgB,MACrB,IAAK,aAAc,MACnB,IAAK,YAAa,MAClB,IAAK,YAAa,MAClB,IAAK,YAAa,MAClB,IAAK,YAAa,MAClB,IAAK,WAAY,MACjB,IAAK,SAAU,MACf,IAAK,SAAU,MACf,IAAK,SAAU,MAEf,IAAK,gBAAiB,MACtB,QAAS7pF,IAAO,EACf,MAEF,IAAK,UACL,IAAK,wBACL,OAAO6pF,EAAG,IACT,IAAK,QAAS,MACd,IAAK,OAAQ,MACb,IAAK,MAAO,MACZ,IAAK,MAAO,MACZ,IAAK,OAAQ,MACb,IAAK,aAAc,MACnB,IAAK,QAAS,MACd,IAAK,gBAAiB,MACtB,IAAK,QAAS,MACd,IAAK,aAAc,MACnB,IAAK,eAAgB,MACrB,IAAK,aAAc,MACnB,IAAK,gBAAiB,MACtB,IAAK,eAAgB,MACrB,IAAK,aAAc,MACnB,IAAK,YAAa,MAClB,IAAK,YAAa,MAClB,IAAK,YAAa,MAClB,IAAK,YAAa,MAClB,IAAK,WAAY,MACjB,IAAK,SAAU,MACf,IAAK,SAAU,MACf,IAAK,SAAU,MACf,QAAS7pF,IAAO,EACf,MAGF,IAAK,UAAW,IAAK,SAAU,IAAK,OAAQ,OAAO6pF,EAAG,IACrD,IAAK,MAAO,MACZ,IAAK,QAAS,MACd,IAAK,QAAS,MACd,IAAK,QAAS,MACd,IAAK,QAAS,MACd,IAAK,UAAW,MAChB,IAAK,WAAY,MACjB,IAAK,YAAa,MAClB,IAAK,cAAe,MACpB,IAAK,gBAAiB,MAEtB,IAAK,SACL,IAAK,UACL,IAAK,cACL,IAAK,WACL,IAAK,MACL,IAAK,YACL,IAAK,UAAW,MAEhB,IAAK,MAAO,MACZ,QAAS7pF,IAAO,EACf,MAGF,IAAK,YAAa,MAElB,QAASA,IAAO,EAAO,MAExB,GAAGA,GAAM,MAET,GAAG6pF,EAAG,GAAG/mF,MAAM,YAAa,MAC5B,IAAI9P,EAAMA,EAAMoG,OAAO,GAAG,GAAI,KAAM,qBAAuBywF,EAAG,GAAK,IAAM72F,EAAMyH,KAAK,KACpF,GAA8B,6BAA3BzH,EAAMA,EAAMoG,OAAO,GAAG,GAAiC,CACzD,GAAuB,OAApBywF,EAAG,GAAG5/E,OAAO,GAAa,MACb,MAAR4/E,EAAG,GAAU+3C,GAAkBzzC,EAAWtE,EAAG,GAAIhgF,EAAIlL,EAAIsL,MAAMw5H,EAAM55C,EAAG/4F,SACzE+Y,EAAKggF,EAAI45C,EAAO55C,EAAG/4F,MAAQ+4F,EAAG,GAAGzwF,QACxC,MAED,GAAG0G,EAAKy3E,IAAK,KAAM,qBAAuBsS,EAAG,GAAK,IAAM72F,EAAMyH,KAAK,KAErE,IAAIsP,GAAM,GAOV,OANIjK,EAAKwlI,YAAexlI,EAAKylI,YAAWx7H,GAAIy0E,OAASF,GACrDv0E,GAAIw0E,WAAa4kD,EACjBp5H,GAAIgpH,SAAWA,EACfhpH,GAAI0vD,IAAMA,EAAI8I,YACdx4D,GAAImhF,MAAQA,EACZnhF,GAAIokF,UAAYA,EACTpkF,GAGR,SAASy7H,GAAW/2I,EAAMqR,GAEzB,OADA2lI,GAAc3lI,EAAKA,GAAM,IAClBA,EAAKrV,MAAM,UACjB,IAAK,SAAU,OAAOs4I,GAAenqE,EAAOhtD,OAAOnd,GAAOqR,GAC1D,IAAK,SAAU,IAAK,SAAU,IAAK,OAAQ,OAAOijI,GAAet0I,EAAMqR,GACvE,IAAK,QAAS,OAAOijI,GAAe5pE,EAAI1qE,GAAOqR,IAKjD,SAAS4lI,GAAiBruC,EAAIv3F,GAC7B,IAAIiE,EAAI,GAKR,OAHGszF,EAAGnM,OAAOnnF,EAAEvJ,KAAKyzF,GAAoBoJ,EAAGnM,MAAOprF,IAE/Cu3F,EAAGlJ,WAAWpqF,EAAEvJ,KAAK0zF,GAAqBmJ,EAAGnM,MAAOmM,EAAGlJ,UAAWruF,IAC9DiE,EAAEtJ,KAAK,IAGf,SAASkrI,KAGR,MAAO,GAGR,SAASC,GAAevuC,EAAIv3F,GAE3B,IAAIe,EAAS,CAAC,mEAQd,OAPAf,EAAKs8G,QAAQn7G,SAAQ,SAAS26G,EAAI3yH,GACjC,IAAIq+E,EAAU,GACdA,EAAQ9sE,KAAKm9E,GAAU,eAAgB,KAAM,CAAC,YAAa7B,GAAUrc,EAAI6I,OAAOs5C,EAAG19B,cAEnF,IAAIn6E,EAAI,CAAC,QAAS,KAAO,GAAG9a,IAC5B4X,EAAOrG,KAAKm9E,GAAU,QAASrQ,EAAQ7sE,KAAK,IAAKsJ,OAE3C4zE,GAAU,SAAU92E,EAAOpG,KAAK,KAExC,SAASorI,GAAgBxjI,GAAK,OAAOs1E,GAAU,aAAc,KAAM,CAAC,UAAWt1E,EAAEi9F,KAAM,cAAc,IAAM8L,GAAS/oG,EAAE0xH,IAAK,CAACntF,EAAE,EAAEzyC,EAAE,MAClI,SAAS2xI,GAAiBzuC,GACzB,MAAMA,GAAI,IAAI07B,UAAU,IAAIc,MAAO,MAAO,GAG1C,IAFD,IAAIrG,EAAQn2B,EAAG07B,SAASc,MACnB9pH,EAAM,GACFlU,EAAI,EAAGA,EAAI23H,EAAMp0H,SAAUvD,EAAG,CACrC,IAAIwM,EAAImrH,EAAM33H,GACA,MAAXwM,EAAEyxH,QACFzxH,EAAEi9F,KAAKx8F,MAAM,aAChBiH,EAAIvP,KAAKqrI,GAAgBxjI,KAE1B,OAAOs1E,GAAU,QAAS5tE,EAAItP,KAAK,KAEpC,SAASsrI,GAAoBnnD,EAAI9+E,EAAMqB,EAAKk2F,GAC3C,IAAIzY,EAAI,MAAO,GACf,MAAMyY,GAAI,IAAI07B,UAAU,IAAIc,MAAO,MAAO,GAG1C,IAFD,IAAIrG,EAAQn2B,EAAG07B,SAASc,MACnB9pH,EAAM,GACFlU,EAAI,EAAGA,EAAI23H,EAAMp0H,SAAUvD,EAAG,CACrC,IAAIwM,EAAImrH,EAAM33H,GACXwM,EAAEyxH,OAAS3yH,IAIXkB,EAAEi9F,KAAKx8F,MAAM,aAChBiH,EAAIvP,KAAKqrI,GAAgBxjI,KAE1B,OAAO0H,EAAItP,KAAK,IAGjB,SAASurI,GAAqBpnD,EAAI9+E,EAAMqB,EAAKk2F,GAC5C,IAAIzY,EAAI,MAAO,GACf,IAAI76E,EAAI,GA0CR,GA1BG66E,EAAG,cACL76E,EAAEvJ,KAAK,eACJokF,EAAG,YAAYjvC,QAAQ5rC,EAAEvJ,KAAKm9E,GAAU,SAAU,KAAM,CAAC,WAAWiH,EAAG,YAAYjvC,UACnFivC,EAAG,YAAYkkB,QAAQ/+F,EAAEvJ,KAAKm9E,GAAU,SAAU,KAAM,CAAC,WAAWiH,EAAG,YAAYkkB,UACtF/+F,EAAEvJ,KAAKm9E,GAAU,cAAe,KAAM,CACrC,WAAYiH,EAAG,YAAYl3D,QAAU,OACrC,SAAUk3D,EAAG,YAAYzxF,MAAQ,MACjC,UAAWyxF,EAAG,YAAYj3D,OAAS,MACnC,QAASi3D,EAAG,YAAY1xF,KAAO,UAEhC6W,EAAEvJ,KAAK,iBAgBL68F,GAAMA,EAAG07B,UAAY17B,EAAG07B,SAASv0C,QAAU6Y,EAAG07B,SAASv0C,OAAOr9E,GAEhE,GAAGk2F,EAAG07B,SAASv0C,OAAOr9E,GAAKy8H,OAAQ75H,EAAEvJ,KAAKm9E,GAAU,UAA8C,GAAlC0f,EAAG07B,SAASv0C,OAAOr9E,GAAKy8H,OAAc,cAAgB,kBAAoB,SACrI,CAEJ,IAAI,IAAI/nI,EAAI,EAAGA,EAAIsL,IAAOtL,EAAG,GAAGwhG,EAAG07B,SAASv0C,OAAO3oF,KAAOwhG,EAAG07B,SAASv0C,OAAO3oF,GAAG+nI,OAAQ,MACrF/nI,GAAKsL,GAAK4C,EAAEvJ,KAAK,eAsDtB,UAhDO68F,GAAI,IAAI07B,UAAU,IAAIkB,OAAO,IAAI,IAAI,IAAI55B,KAAKt2F,EAAEvJ,KAAK,yBA2BzDokF,EAAG,cACL76E,EAAEvJ,KAAKi9E,GAAS,kBAAmB,SAChCmH,EAAG,YAAYrgF,SAASwF,EAAEvJ,KAAKi9E,GAAS,iBAAkB,SAC1DmH,EAAG,YAAYqnD,WAAWliI,EAAEvJ,KAAKi9E,GAAS,mBAAoB,SAC1B,MAApCmH,EAAG,YAAYsnD,mBAA8BtnD,EAAG,YAAYsnD,kBACjB,MAAtCtnD,EAAG,YAAYunD,qBAAgCvnD,EAAG,YAAYunD,qBAAqBpiI,EAAEvJ,KAAKi9E,GAAS,kBAAmB,kBAD5C1zE,EAAEvJ,KAAKi9E,GAAS,kBAAmB,gBAEtH,CACC,CAAE,cAAe,oBACjB,CAAE,gBAAiB,iBACnB,CAAE,aAAc,iBAChB,CAAE,gBAAiB,mBACnB,CAAE,aAAc,mBAChB,CAAE,mBAAoB,yBACtB,CAAE,gBAAiB,mBACnB,CAAE,aAAc,mBAChB,CAAE,OAAQ,aACV,CAAE,aAAc,eAChB,CAAE,cAAe,wBAChBx2E,SAAQ,SAASpC,GAAQ+/E,EAAG,YAAY//E,EAAE,KAAKkF,EAAEvJ,KAAK,IAAIqE,EAAE,GAAG,UAGlD,GAAZkF,EAAE3K,OAAoB,GAClBu+E,GAAU,mBAAoB5zE,EAAEtJ,KAAK,IAAK,CAACusF,MAAMhP,GAAOn5E,IAEhE,SAASunI,GAAsBpgD,GAC9B,OAAOA,EAASx6F,KAAI,SAAS2I,GAE5B,IAAIwyC,EAAI2vC,GAAcniF,EAAEwyC,GAAG,IACvBvyC,EAAGujF,GAAU,UAAWhxC,EAAG,CAAC,MAAQ,oCACxC,OAAOgxC,GAAU,UAAWvjF,EAAG,CAAC,YAAYD,EAAExJ,OAC5C8P,KAAK,IAET,SAAS4rI,GAAmB3qD,EAAM/yF,EAAKi2F,EAAI9+E,EAAMqB,EAAKk2F,EAAIpvB,GACzD,IAAIyT,QAAmBzrF,GAAVyrF,EAAK3qF,QAA4Bd,GAAVyrF,EAAKtmF,EAAiB,MAAO,GAEjE,IAAIm5C,EAAO,GAEX,GADGmtC,EAAKtmF,IAAGm5C,EAAK,cAAgB,IAAMunC,GAAUs1B,GAAS1vB,EAAKtmF,EAAG6yE,KAC9DyT,EAAK7vE,GAAK6vE,EAAK7vE,EAAE5B,MAAM,EAAGthB,EAAIyQ,SAAWzQ,EAAK,CAChD,IAAI2R,EAAMmjF,GAAY/B,EAAK7vE,EAAE5B,MAAMthB,EAAIyQ,OAAS,IAChDm1C,EAAK,iBAAmB,QAAUj0C,EAAIssC,GAAKqhC,EAAKrhC,EAAI,GAAK,KAAOtsC,EAAIssC,EAAIqhC,EAAKrhC,GAAK,KAAO,KAAOtsC,EAAInG,GAAK8zE,EAAK9zE,EAAI,GAAK,KAAOmG,EAAInG,EAAI8zE,EAAK9zE,GAAK,KAQjJ,GALGunF,EAAKxkF,GAAKwkF,EAAKxkF,EAAE6xF,SACnBx6C,EAAK,WAAaunC,GAAU4F,EAAKxkF,EAAE6xF,QAChCrN,EAAKxkF,EAAE29F,UAAStmD,EAAK,mBAAqBunC,GAAU4F,EAAKxkF,EAAE29F,WAG5DjW,EAAG,WAEL,IADA,IAAI+2C,EAAO/2C,EAAG,WACN0nD,EAAK,EAAGA,GAAM3Q,EAAKv8H,SAAUktI,EACjC3Q,EAAK2Q,GAAI17H,EAAEzW,GAAK8zE,EAAK9zE,GAAKwhI,EAAK2Q,GAAI17H,EAAEg8B,GAAKqhC,EAAKrhC,IAC/C+uF,EAAK2Q,GAAIxxI,EAAEX,EAAIwhI,EAAK2Q,GAAI17H,EAAEzW,IAAGo6C,EAAK,kBAAoBonF,EAAK2Q,GAAIxxI,EAAEX,EAAIwhI,EAAK2Q,GAAI17H,EAAEzW,GAChFwhI,EAAK2Q,GAAIxxI,EAAE8xC,EAAI+uF,EAAK2Q,GAAI17H,EAAEg8B,IAAG2H,EAAK,gBAAkBonF,EAAK2Q,GAAIxxI,EAAE8xC,EAAI+uF,EAAK2Q,GAAI17H,EAAEg8B,IAInF,IAAID,EAAI,GAAIrY,EAAI,GAChB,OAAOotD,EAAK/0C,GACX,IAAK,IAAK,IAAI7mC,EAAKq/E,WAAY,MAAO,GAAI,MAC1C,IAAK,IAAKx4C,EAAI,SAAUrY,EAAI1vB,OAAO88E,EAAK3qF,GAAI,MAC5C,IAAK,IAAK41C,EAAI,UAAWrY,EAAKotD,EAAK3qF,EAAI,IAAM,IAAM,MACnD,IAAK,IAAK41C,EAAI,QAASrY,EAAIuzD,GAAKnG,EAAK3qF,GAAI,MACzC,IAAK,IAAK41C,EAAI,WAAYrY,EAAI,IAAIpsB,KAAKw5E,EAAK3qF,GAAG8mF,cAA4B,MAAV6D,EAAKvG,IAAWuG,EAAKvG,EAAIuG,EAAKvG,GAAK1b,EAAI6I,OAAO,KAAK,MACpH,IAAK,IAAK37B,EAAI,SAAUrY,EAAI4nD,GAAWwF,EAAK3qF,GAAG,IAAK,MAGrD,IAAIo2D,EAAKipE,GAAetwH,EAAKs8G,QAAS1gC,EAAM57E,GAC5CyuC,EAAK,cAAgB,KAAO,GAAG4Y,GAC/B5Y,EAAK,YAAc05B,EAAK9zE,EAAI,EAC5B,IAAI9K,EAAgB,MAAVqyF,EAAK3qF,EAAYu9B,EAAI,GAC3Bn3B,EAAc,KAAVukF,EAAK/0C,EAAW,GAAM,kBAAoBA,EAAI,KAAOt9C,EAAK,UAIlE,OAFIqyF,EAAKvnF,GAAG,IAAIiF,OAAS,IAAGjC,GAAKivI,GAAsB1qD,EAAKvnF,IAErDwjF,GAAU,OAAQxgF,EAAGo3C,GAE7B,SAASg4F,GAAkBxiE,EAAGl0E,GAC7B,IAAIkU,EAAI,mBAAqBggE,EAAE,GAAK,IAMpC,OALGl0E,IACCA,EAAI6oG,MAAQ7oG,EAAIi7G,MAAKj7G,EAAIi7G,IAAMC,GAAMl7G,EAAI6oG,MACzC7oG,EAAIi7G,MAAK/mG,GAAK,oCAAsClU,EAAIi7G,IAAM,KAC9Dj7G,EAAIioG,SAAQ/zF,GAAK,mBAEdA,EAAI,IAGZ,SAASyiI,GAAoB5nD,EAAI9+E,EAAMqB,EAAKk2F,GAC3C,IAAIzY,EAAG,QAAS,MAAO,GACvB,IAAI7C,EAAQgC,GAAkBa,EAAG,SAC7B+2C,EAAO/2C,EAAG,YAAc,GAAI0nD,EAAK,EACjCviI,EAAI,GACL66E,EAAG,UAAUA,EAAG,SAAS39E,SAAQ,SAASoB,EAAGxM,GAC/Cg1G,GAAYxoG,GACZ,IAAI2H,IAAM3H,EAAEnW,MACRoiC,EAAI0hG,GAAUn6H,EAAGwM,GACjB7T,EAAI,CAAC,WAAWqH,EAAE,GACnBmU,IAAGxb,EAAE,YAAci9G,GAASn9E,EAAEpiC,QAC9BmW,EAAEy1F,SAAQtpG,EAAE,aAAa,KAC5BuV,EAAEvJ,KAAKm9E,GAAU,SAAS,KAAKnpF,OAGhC,IADA,IAAImwF,EAAQrzF,MAAMC,QAAQqzF,GAClB7a,EAAIgY,EAAMnxE,EAAEg8B,EAAGm9B,GAAKgY,EAAMjnF,EAAE8xC,IAAKm9B,EAAG,CAE3C,IADA,IAAIl0E,EAAM,CAAC02I,GAAkBxiE,GAAI6a,EAAG,UAAU,IAAI7a,KAC1Cv4D,EAAIuwE,EAAMnxE,EAAEzW,EAAGqX,GAAKuwE,EAAMjnF,EAAEX,IAAKqX,EAAG,CAC3C,IAAI89B,GAAO,EACX,IAAIg9F,EAAK,EAAGA,GAAM3Q,EAAKv8H,SAAUktI,EAChC,KAAG3Q,EAAK2Q,GAAI17H,EAAEzW,EAAIqX,MACfmqH,EAAK2Q,GAAI17H,EAAEg8B,EAAIm9B,MACf4xD,EAAK2Q,GAAIxxI,EAAEX,EAAIqX,MACfmqH,EAAK2Q,GAAIxxI,EAAE8xC,EAAIm9B,GAAlB,CACG4xD,EAAK2Q,GAAI17H,EAAEzW,GAAKqX,GAAKmqH,EAAK2Q,GAAI17H,EAAEg8B,GAAKm9B,IAAGz6B,GAAO,GAClD,MAED,IAAGA,EAAH,CACA,IAAI2+B,EAAO,CAACrhC,EAAEm9B,EAAE5vE,EAAEqX,GACd7iB,EAAMszF,GAAYhU,GAAOyT,EAAOiD,GAASC,EAAG7a,IAAI,IAAIv4D,GAAKozE,EAAGj2F,GAChEkH,EAAI2K,KAAK6rI,GAAmB3qD,EAAM/yF,EAAKi2F,EAAI9+E,EAAMqB,EAAKk2F,EAAIpvB,KAE3Dp4E,EAAI2K,KAAK,UACN3K,EAAIuJ,OAAS,GAAG2K,EAAEvJ,KAAK3K,EAAI4K,KAAK,KAEpC,OAAOsJ,EAAEtJ,KAAK,IAEf,SAASgsI,GAActlI,EAAKrB,EAAMu3F,GACjC,IAAItzF,EAAI,GACJ6G,EAAIysF,EAAG9Y,WAAWp9E,GAClBy9E,EAAKyY,EAAG7Y,OAAO5zE,GAEf+7B,EAAIi4C,EAAKmnD,GAAoBnnD,EAAI9+E,EAAMqB,EAAKk2F,GAAM,GAUtD,OATG1wD,EAAEvtC,OAAS,GAAG2K,EAAEvJ,KAAK,UAAYmsC,EAAI,YAGxCA,EAAIi4C,EAAK4nD,GAAoB5nD,EAAI9+E,EAAMqB,EAAKk2F,GAAM,GAC/C1wD,EAAEvtC,OAAS,GAAG2K,EAAEvJ,KAAK,UAAYmsC,EAAI,YAGxC5iC,EAAEvJ,KAAKwrI,GAAqBpnD,EAAI9+E,EAAMqB,EAAKk2F,IAEpCtzF,EAAEtJ,KAAK,IAEf,SAASisI,GAAWrvC,EAAIv3F,GACnBA,IAAMA,EAAO,IACbu3F,EAAG59B,MAAK49B,EAAG59B,IAAMA,EAAI8I,aACtB80B,EAAG59B,MACLC,EAASD,GAAMA,EAAI+I,WAAW60B,EAAG59B,KAEjC35D,EAAKuwH,OAAS79C,GAAU6kB,EAAG59B,KAAM35D,EAAKuwH,OAAOh5B,EAAG59B,IAAI,QAAU,EAC9D35D,EAAKwwH,IAAMj5B,EAAG59B,IACd35D,EAAKs8G,QAAU,GACfgU,GAAetwH,EAAKs8G,QAAS,GAAI,CAACiU,OAAO,CAAC,QAAU,MAErD,IAAIj8H,EAAI,GACRA,EAAEoG,KAAKkrI,GAAiBruC,EAAIv3F,IAC5B1L,EAAEoG,KAAKmrI,GAActuC,EAAIv3F,IACzB1L,EAAEoG,KAAK,IACPpG,EAAEoG,KAAK,IACP,IAAI,IAAI3E,EAAI,EAAGA,EAAIwhG,EAAG9Y,WAAWnlF,SAAUvD,EAC1CzB,EAAEoG,KAAKm9E,GAAU,YAAa8uD,GAAc5wI,EAAGiK,EAAMu3F,GAAK,CAAC,UAAUvhB,GAAUuhB,EAAG9Y,WAAW1oF,OAG9F,OAFAzB,EAAE,GAAKwxI,GAAevuC,EAAIv3F,GAC1B1L,EAAE,GAAK0xI,GAAiBzuC,EAAIv3F,GACrB40E,GAAaiD,GAAU,WAAYvjF,EAAEqG,KAAK,IAAK,CACrD,MAAcu9E,GAAOza,GACrB,UAAcya,GAAOj0E,EACrB,UAAci0E,GAAOn5E,EACrB,WAAcm5E,GAAOza,GACrB,WAAcya,GAAOnX,GACrB,aAAcmX,GAAO+5B,OAIvB,SAAS40B,GAAc3oI,GACtB,IAAIjN,EAAI,GACJgT,EAAI/F,EAAIqQ,QAOZ,GALAtK,EAAE7M,EAAI,GAENnG,EAAE61I,aAAe7iI,EAAEwgE,WAAW,EAAG,cACjCxzE,EAAE81I,oBAAsB9iD,GAAkChgF,GAEvDA,EAAE3K,OAAS2K,EAAE7M,GAAK,EAAG,OAAOnG,EAE/B,IAAIoG,EAAI4M,EAAEwgE,WAAW,GACrB,OAAQ,GAALptE,GAAUA,EAAI,GAAWpG,GAC5BgT,EAAE7M,GAAG,EAAGnG,EAAE+1I,UAAY/iI,EAAEwgE,WAAW,EAAG,cAEnCxgE,EAAE3K,OAAS2K,EAAE7M,GAAK,EAAUnG,GAC/BoG,EAAI4M,EAAEwgE,WAAW,GACR,aAANptE,EAAyBpG,GAC5BA,EAAEg2I,uBAAyB/iD,GAAqCjgF,GAEhE5M,EAAI4M,EAAEwgE,WAAW,GACT,GAALptE,GAAUA,EAAI,GAAWpG,GAC5BgT,EAAE7M,GAAG,OAAGnG,EAAEi2I,UAAYjjI,EAAEwgE,WAAW,EAAG,eAWvC,SAAS0iE,GAAMljE,EAAG/xB,EAAM54C,EAAQ0G,GAC/B,IAAI5I,EAAIkC,EACJmgE,EAAO,GACPnlE,EAAI49C,EAAK/nC,MAAM+nC,EAAK96C,EAAE86C,EAAK96C,EAAEA,GACjC,GAAG4I,GAAQA,EAAKqJ,KAAOrJ,EAAKqJ,IAAI0uG,OAAQ,OAAO9zC,EAAE1hE,GACjD,IAAK,MAAO,IAAK,WAAY,IAAK,WAAY,IAAK,eAAgB,IAAK,UAAW,IAAK,UAAW,IAAK,UAAW,MACnH,QACC,GAAgB,IAAbjO,EAAEgF,OAAc,MACnB0G,EAAKqJ,IAAI0uG,OAAOzjH,GAEjBmlE,EAAK/+D,KAAKpG,GACV49C,EAAK96C,GAAKA,EACV,IAAIy1D,EAAQu6E,GAAczuD,GAAezmC,EAAKA,EAAK96C,IAC/CmD,EAAQ,EACZ,MAAc,MAARsyD,GAAsC,aAAtBA,EAAKtqD,EAAE4H,MAAM,EAAE,GACpC/S,EAAIuhF,GAAezmC,EAAKA,EAAK96C,EAAE,GAC/BmD,EAAQ23C,EAAK96C,EAAI,EACJ,eAAVy1D,EAAKtqD,EAAoBhI,GAAS,EACP,eAAtBsyD,EAAKtqD,EAAE4H,MAAM,EAAE,MAAsB5P,GAAS,IACtDk/D,EAAK/+D,KAAKw3C,EAAK/nC,MAAM5P,EAAM23C,EAAK96C,EAAE,EAAEA,IACpC86C,EAAK96C,GAAK,EAAEA,EACZy1D,EAAQu6E,GAAczuD,GAAezmC,EAAMA,EAAK96C,IAEjD,IAAInD,EAAKulE,EAAQC,GACjBsL,GAAU9wE,EAAG,GACb,IAAIozI,EAAK,EAAGpzI,EAAE6F,KAAO,GACrB,IAAI,IAAI5D,EAAI,EAAGA,EAAIujE,EAAKngE,SAAUpD,EAAKjC,EAAE6F,KAAKY,KAAK2sI,GAAKA,GAAM5tE,EAAKvjE,GAAGoD,OACtE,OAAO2qE,EAAE3uE,EAAErB,EAAGA,EAAEqF,OAAQ0G,GAGzB,SAASsnI,GAAe94G,EAAGxuB,EAAM27D,GAChC,GAAW,MAARntC,EAAEqY,GACDrY,EAAE2vD,GAAN,CACA,IAAIwyC,EAAQ,EACZ,IACCA,EAAQniG,EAAE6mD,GAAK7mD,EAAE2vD,GAAGC,UAAY,EAC7Bp+E,EAAKmuG,SAAQ3/E,EAAE6mD,EAAI1b,EAAI6I,OAAOmuD,IAChC,MAAM37H,IAAK,GAAGgL,EAAKy3E,IAAK,MAAMziF,GAChC,IAAIgL,IAA0B,IAAlBA,EAAKkuG,SAAoB,IACzB,MAAR1/E,EAAEqY,EAAarY,EAAEtkB,EAAIskB,EAAEtkB,GAAK63E,GAAKvzD,EAAEv9B,GACpB,IAAV0/H,GAAwB,WAATA,EACX,MAARniG,EAAEqY,GACI,EAAJrY,EAAEv9B,KAASu9B,EAAEv9B,EAAGu9B,EAAEtkB,EAAIyvD,EAAI0C,aAAa7tC,EAAEv9B,GACxCu9B,EAAEtkB,EAAIyvD,EAAIiE,aAAapvC,EAAEv9B,GAE1Bu9B,EAAEtkB,EAAIyvD,EAAIkE,SAASrvC,EAAEv9B,GAEtBu9B,EAAEtkB,EAAIyvD,EAAIp7D,OAAOoyH,EAAMniG,EAAEv9B,EAAG,CAAC0qE,WAAWA,IAC5C,MAAM3mE,IAAK,GAAGgL,EAAKy3E,IAAK,MAAMziF,GAChC,GAAGgL,EAAKs/E,WAAaqxC,GAAgB,KAAPniG,EAAEqY,GAAY8yB,EAAIgI,QAAQhI,EAAI6I,OAAOmuD,IAAU7xH,OAAO6xH,IAAS,CAC5F,IAAIoK,EAAKphE,EAAIyB,gBAAgB5sC,EAAEv9B,GAAO8pI,IAAMvsG,EAAEqY,EAAI,IAAKrY,EAAEv9B,EAAI,IAAImR,KAAK24H,EAAGzvG,EAAGyvG,EAAG1jI,EAAE,EAAE0jI,EAAGzmI,EAAEymI,EAAGt/D,EAAEs/D,EAAGpvH,EAAEovH,EAAGr/D,EAAEq/D,EAAGh0F,MAI5G,SAASwgG,GAAUnmI,EAAKk0F,EAAMzuD,GAC7B,MAAO,CAAE51C,EAAEmQ,EAAKk0F,KAAKA,EAAMzuD,EAAEA,GAI9B,SAAS2gG,GAAet1F,EAAMn7B,GAC7B,IAAIwgF,EAAK,CAAEv3F,KAAK,IACZ0+E,EAAS,GACD,MAAT9lB,GAAkC,MAAjB7hD,EAAQ8nE,QAAe9nE,EAAQ8nE,MAAQjmB,GAC3D,IAOI6uE,EAA0BjoE,EAAIkoE,EAAMC,EAAMC,EAG1CC,EACAC,EAgEAjhD,EA3EA58E,EAAQ8M,EAAQ8nE,MAAQ,GAAK,GAC7BkpD,EAAY,GACZ9rD,EAAQ,GACR+rD,EAAe,KACftgD,EAAM,GACNugD,EAAY,GACZC,EAAW,GACDC,EAAY,GACtBla,EAAU,GACVG,EAAS,GAGTga,GAAa,EACbC,EAAM,GACNC,EAAU,GACVrV,EAAW,CAAGv0C,OAAO,GAAIq+C,QAAQ,CAACphE,UAAS,GAAQw4D,MAAM,CAAC,KAAQ0P,EAAU,GAC5E0E,EAAU,SAAgB/lD,GAC7B,OAAGA,EAAM,EAAUC,GAAOD,GACvBA,EAAM,IAAW8lD,EAAQ9lD,EAAI,IACzBC,GAAOD,IAEXgmD,EAAqB,SAAa5sD,EAAMx4E,EAAM2T,GACjD,IAII8vB,EAJA4hG,EAAMrlI,EAAK+6E,GAAGxvF,KACd85I,GAAQA,EAAIxsC,aAAgBllF,GAAYA,EAAQmlF,aACpD94F,EAAK0H,EAAI,GACT1H,EAAK0H,EAAEmxF,YAAcwsC,EAAIxsC,aAErBp1D,EAAI87C,GAAQ4lD,EAAQE,EAAI7qC,aAAcx6F,EAAK0H,EAAE+vG,QAAU,CAACn4B,IAAI77C,KAC5DA,EAAI87C,GAAQ4lD,EAAQE,EAAI5qC,aAAcz6F,EAAK0H,EAAE6vG,QAAU,CAACj4B,IAAI77C,MAE7D6hG,EAAU,SAAiB9sD,EAAMx4E,EAAM2T,GAC1C,KAAG4xH,EAAa,KACb5xH,EAAQiuF,WAAappB,EAAK90C,GAAK/vB,EAAQiuF,YAAWojC,GAAa,GAC9DA,GAAJ,CAUA,GATGrxH,EAAQmlF,YAAc94F,EAAK+6E,IAAM/6E,EAAK+6E,GAAGxvF,MAAM65I,EAAmB5sD,EAAMx4E,EAAM2T,UAC1E3T,EAAKkyF,YAAalyF,EAAK+6E,GAC9BspD,EAAW7rD,EACXusD,EAAYhsD,GAAYP,GACpBK,GAAUA,EAAMnxE,GAAMmxE,EAAMjnF,IAAGinF,EAAQ,CAACnxE,EAAE,CAACg8B,EAAE,EAAEzyC,EAAE,GAAGW,EAAE,CAAC8xC,EAAE,EAAEzyC,EAAE,KAC9DunF,EAAK90C,EAAIm1C,EAAMnxE,EAAEg8B,IAAGm1C,EAAMnxE,EAAEg8B,EAAI80C,EAAK90C,GACrC80C,EAAKvnF,EAAI4nF,EAAMnxE,EAAEzW,IAAG4nF,EAAMnxE,EAAEzW,EAAIunF,EAAKvnF,GACrCunF,EAAK90C,EAAI,EAAIm1C,EAAMjnF,EAAE8xC,IAAGm1C,EAAMjnF,EAAE8xC,EAAI80C,EAAK90C,EAAI,GAC7C80C,EAAKvnF,EAAI,EAAI4nF,EAAMjnF,EAAEX,IAAG4nF,EAAMjnF,EAAEX,EAAIunF,EAAKvnF,EAAI,GAC7C0iB,EAAQo/G,aAAe/yH,EAAK9N,EAC9B,IAAI,IAAIszI,EAAM,EAAGA,EAAMxa,EAAO90H,SAAUsvI,EACvC,KAAGxa,EAAOwa,GAAK,GAAG99H,EAAEzW,EAAIunF,EAAKvnF,GAAK+5H,EAAOwa,GAAK,GAAG99H,EAAEg8B,EAAI80C,EAAK90C,MACzDsnF,EAAOwa,GAAK,GAAG5zI,EAAEX,EAAIunF,EAAKvnF,GAAK+5H,EAAOwa,GAAK,GAAG5zI,EAAE8xC,EAAI80C,EAAK90C,GAA5D,CACA1jC,EAAK2I,EAAI+xE,GAAaswC,EAAOwa,GAAK,IAC/Bxa,EAAOwa,GAAK,GAAG99H,EAAEzW,GAAKunF,EAAKvnF,GAAK+5H,EAAOwa,GAAK,GAAG99H,EAAEg8B,GAAK80C,EAAK90C,UAAU1jC,EAAK9N,EAC1E8N,EAAK9N,IAAG8N,EAAK9N,EAAI,GAAK43H,GAAkBkB,EAAOwa,GAAK,GAAI3sD,EAAOL,EAAMkxC,EAAU9sH,IAClF,MAIE+W,EAAQ8nE,OACN50E,EAAI2xE,EAAK90C,KAAI78B,EAAI2xE,EAAK90C,GAAK,IAC/B78B,EAAI2xE,EAAK90C,GAAG80C,EAAKvnF,GAAK+O,GAChB6G,EAAIk+H,GAAa/kI,IAGtBpD,EAAO,CACVqJ,KAAK,EACLy1F,MAAO,EACPqQ,OAAQ,GACR8e,QAASA,EACTG,OAAQA,EACRya,QAAS,GACTC,SAAU,GACV/sD,KAAM,EACNspB,SAAU,EACV0jC,UAAW,EACX7sC,aAAcnlF,KAAaA,EAAQmlF,WACnCzkB,MAAO1gE,KAAaA,EAAQiyH,KAE1BjyH,EAAQ0J,WAAUzgB,EAAKygB,SAAW1J,EAAQ0J,UAE7C,IAAI2gF,EAAS,GACT3iG,EAAU,GACV2rG,EAAU,GAAID,EAAU,GAGxBspB,GAAU,EACV3G,EAAW,GACfA,EAASruC,WAAaz+E,EAAKmvG,OAC3B2d,EAASmB,QAAUjuH,EAAKiuH,QACxBnB,EAASsB,OAASpuH,EAAKouH,OACvBtB,EAASY,MAAQ,GACjBZ,EAASC,IAAM,GACf,IAIIkc,EAJAC,EAAU,GACVP,EAAa,EACbQ,EAAW,EAAGC,EAAgB,GAC9BC,EAAkB,GAItBrpI,EAAKqlG,SAAW,KAChBjtC,EAAO,MACP,IAAIkxE,GAAgB,EACpB,MAAMp3F,EAAK96C,EAAI86C,EAAK54C,OAAS,EAAG,CAC/B,IAAIwR,EAAIonC,EAAK96C,EACTmyI,EAAar3F,EAAKuyB,WAAW,GACjC,GAAkB,IAAf8kE,GAAgC,QAAZL,EAAmB,MAC1C,IAAI5vI,EAAU44C,EAAK96C,IAAM86C,EAAK54C,OAAS,EAAI44C,EAAKuyB,WAAW,GACvDR,EAAImjE,GAAcmC,GAGtB,GAAGtlE,GAAKA,EAAE3uE,EAAG,CACZ,GAAGyhB,EAAQyuH,YACK,gBAAZ0D,GAAqC,gBAARjlE,EAAE1hE,EAAqB,MAGxD,GADA2mI,EAAUjlE,EAAE1hE,EACD,IAAR0hE,EAAEn9B,GAAkB,IAAPm9B,EAAEn9B,EAAS,CAC1B,IAAIuvB,EAAKnkB,EAAKuyB,WAAW,GACzB,GAD6BnrE,GAAU,GACnC0G,EAAKqJ,KAAOgtD,IAAOkzE,KAAoB,IAAHlzE,IAAU,EAAIA,GAAI,KAAQkzE,EAAY,MAAM,IAAI7vI,MAAM,gBAAkB28D,EAAK,KAAOkzE,GAClH,IAAPtlE,EAAEn9B,IAAUoL,EAAK96C,GAAK,GAAIkC,GAAU,IAGxC,IAAI8H,EAAM,GACQA,EAAP,QAAR6iE,EAAE1hE,EAAmB0hE,EAAE3uE,EAAE48C,EAAM54C,EAAQ0G,GAC/BmnI,GAAMljE,EAAG/xB,EAAM54C,EAAQ0G,GAClC,IAAI+pF,GAAK9lB,EAAE1hE,EACd,GAAiB,GAAdomI,GAAyB,OAAN5+C,GAAa,SAEhC,OAAOA,IAEN,IAAK,WACTwN,EAAGv3F,KAAKwpI,SAAWvW,EAAS8J,QAAQphE,SAAWv6D,EAAK,MAChD,IAAK,eAAgBm2F,EAAGv3F,KAAKypI,cAAe,EAAM,MAClD,IAAK,WAGJ,GAFIzpI,EAAKqJ,MAAK6oC,EAAK96C,EAAI,GACvB4I,EAAKqJ,IAAMjI,GACP2V,EAAQ0J,SAAU,MAAM,IAAI/mB,MAAM,8BACtC,GAAgB,MAAb0H,EAAI0d,MAAe,MAAM,IAAIplB,MAAM,iCACtC,IAAI0H,EAAI0d,MAAO,MAAM,IAAIplB,MAAM,yBAC/B,MACD,IAAK,cAAesG,EAAK8oI,SAAW1nI,EAAK,MACzC,IAAK,cAAe,MACpB,IAAK,WACJ,IAAIsoI,GAAQ1qI,OAAOoC,GAEnB,OAAOsoI,IACN,KAAK,MAAQA,GAAS,KAAM,MAC5B,KAAK,MAAQA,GAAQ,IAAO,MAC5B,KAAK,MAAQA,GAAS,KAAM,MAE7BtxE,EAAOp4D,EAAKqlG,SAAWqkC,IACvBJ,GAAgB,EAChB,MACD,IAAK,UAAWtpI,EAAK6oI,QAAUznI,EAAK,MACpC,IAAK,aAAcpB,EAAK+oI,UAAY3nI,EAAK,MACzC,IAAK,WAAY,MACjB,IAAK,WAAY,MACjB,IAAK,WAAY,MACjB,IAAK,cAAe,MACpB,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,iBACJm2F,EAAGv3F,KAAK+pF,IAAM3oF,EAAK,MACpB,IAAK,cAAepB,EAAK2pI,YAAcvoI,EAAK,MAC5C,IAAK,WAAY,MACjB,IAAK,uBAAwBm2F,EAAGv3F,KAAK4pI,SAAWxoI,EAAK,MACrD,IAAK,SACDA,EAAI02F,UAAS7tF,EAAI,SAAW,UAC/B,MACD,IAAK,KACJo+H,EAAI3tI,KAAK0G,GAAM,MAChB,IAAK,SAAU,MACf,IAAK,UAAW,MAChB,IAAK,iBAAkB,MACvB,IAAK,QAAS,MAEd,IAAK,UACJ0rH,EAASpyH,KAAK,CAAC0G,IACf0rH,EAASA,EAASxzH,OAAO,GAAGyzH,IAAM,GAClC,MACD,IAAK,aACJD,EAASA,EAASxzH,OAAO,GAAGoB,KAAK0G,GACjC,MACD,IAAK,QAAS,MACd,IAAK,MACJ6nI,EAAW,CACVzpC,KAAMp+F,EAAIo+F,KACVy0B,IAAK/G,GAAkB9rH,EAAI2+F,KAAK9jB,EAAM,KAAK6wC,EAAS9sH,IAElDoB,EAAIy+F,KAAO,IAAGopC,EAASjV,MAAQ5yH,EAAIy+F,KAAO,GAC7CitB,EAASY,MAAMhzH,KAAKuuI,GAChBnc,EAAS,KAAMA,EAAS,GAAK,GAAIA,EAAS,GAAGC,IAAM,IACvDD,EAASA,EAASxzH,OAAO,GAAGoB,KAAK0G,GAClB,yBAAZA,EAAIo+F,MAAmCp+F,EAAIy+F,KAAO,GACjDz+F,EAAI2+F,MAAQ3+F,EAAI2+F,KAAK,IAAM3+F,EAAI2+F,KAAK,GAAG,IAA2B,aAArB3+F,EAAI2+F,KAAK,GAAG,GAAG,KAC9DspC,EAAgBjoI,EAAIy+F,KAAO,GAAK,CAAEh3G,IAAKi1F,GAAa18E,EAAI2+F,KAAK,GAAG,GAAG,GAAG,MACxE,MACD,IAAK,cAAe//F,EAAK6pI,YAAczoI,EAAK,MAC5C,IAAK,cACkB,GAAnB0rH,EAASxzH,SAAewzH,EAAS,GAAK,GAAIA,EAAS,GAAGC,IAAM,IAC/DD,EAASA,EAASxzH,OAAS,GAAGyzH,IAAMD,EAASA,EAASxzH,OAAS,GAAGyzH,IAAIppG,OAAOviB,GAAM0rH,EAASC,IAAMD,EAASC,IAAIppG,OAAOviB,GAAM,MAC7H,IAAK,UAEJ,GAAGpB,EAAK+7E,KAAO,EAAG,MACH,MAAZktD,IAAkBA,EAASlL,QAAU38H,EAAI,IAC5C,MAED,IAAK,UAAW6I,EAAI,YAAc7I,EAAK,MACvC,IAAK,WAAuB,IAARA,GAAapB,EAAKy3E,KAAKpsF,QAAQD,MAAM,sBAAwBgW,GAAM,MACvF,IAAK,WAAY,IAAK,eAAgB,MAEtC,IAAK,cACJ2mI,EAAU3mI,EAAIoyC,KAAOpyC,EACrBpB,EAAKmvG,OAAOz0G,KAAK0G,EAAIjZ,MACpB,MACF,IAAK,MACJ,KAAKwgJ,EAAY,MACjB,GAAG1sD,EAAMjnF,EAAG,CACX,GAAGinF,EAAMjnF,EAAE8xC,EAAI,GAAKm1C,EAAMjnF,EAAEX,EAAI,EAAG,CAGlC,GAFA4nF,EAAMjnF,EAAE8xC,IAAKm1C,EAAMjnF,EAAEX,IACrB4V,EAAI,QAAU6zE,GAAa7B,GACxBllE,EAAQiuF,WAAajuF,EAAQiuF,WAAa/oB,EAAMjnF,EAAE8xC,EAAG,CACvD,IAAIgjG,GAAQ7tD,EAAMjnF,EAAE8xC,EACpBm1C,EAAMjnF,EAAE8xC,EAAI/vB,EAAQiuF,UAAY,EAChC/6F,EAAI,YAAcA,EAAI,QACtBA,EAAI,QAAU6zE,GAAa7B,GAC3BA,EAAMjnF,EAAE8xC,EAAIgjG,GAEb7tD,EAAMjnF,EAAE8xC,IAAKm1C,EAAMjnF,EAAEX,IAEnB+sG,EAAO9nG,OAAS,IAAG2Q,EAAI,WAAam3F,GACpC3iG,EAAQnF,OAAS,IAAG2Q,EAAI,YAAcxL,GACtC2rG,EAAQ9wG,OAAS,IAAG2Q,EAAI,SAAWmgG,GACnCD,EAAQ7wG,OAAS,IAAG2Q,EAAI,SAAWkgG,GACtC8oB,EAASv0C,OAAOhkF,KAAKmpI,GAEL,KAAdoE,EAAkBC,EAAWj+H,EAAUy0E,EAAOupD,GAAah+H,EAC9DA,EAAQ8M,EAAQ8nE,MAAQ,GAAK,GAC5B,MACF,IAAK,MAeJ,GAdiB,IAAd7+E,EAAK+7E,OAAY/7E,EAAK+7E,KAAO,CACrC,EAAO,EACP,IAAO,EACP,KAAO,GACAwtD,IAAe,CACtB,IAAO,EACP,IAAO,EACP,KAAO,EACP,KAAO,EACP,KAAO,EACP,EAAO,EACP,EAAO,GACAnoI,EAAIi2F,UAAY,GACF,GAAbr3F,EAAK+7E,MAA4B,GAAf36E,EAAIi2F,SAA0B,IAAVj2F,EAAI2/D,KAAU/gE,EAAK+7E,KAAO,GAChE4sD,IAAc,MAKjB,GAJAP,GAAa,EACbn+H,EAAQ8M,EAAQ8nE,MAAQ,GAAK,GAE1B7+E,EAAK+7E,KAAO,IAAMutD,IAAiBA,GAAgB,EAAMlxE,EAAOp4D,EAAKqlG,SAAWtuF,EAAQsuF,UAAY,OACpGrlG,EAAK+7E,KAAO,EAAG,CACA,KAAdksD,IAAkBA,EAAY,UACjChsD,EAAQ,CAACnxE,EAAE,CAACg8B,EAAE,EAAEzyC,EAAE,GAAGW,EAAE,CAAC8xC,EAAE,EAAEzyC,EAAE,IAE9B,IAAI01I,GAAU,CAACv2F,IAAKtB,EAAK96C,EAAIkC,EAAQnR,KAAK8/I,GAC1CF,EAAUgC,GAAQv2F,KAAOu2F,GACzB/pI,EAAKmvG,OAAOz0G,KAAKutI,QAEbA,GAAaF,EAAUj9H,IAAM,CAAC3iB,KAAK,KAAKA,KAChC,IAAViZ,EAAI2/D,KAAY92D,EAAI,SAAW,SACrB,IAAV7I,EAAI2/D,KAAY92D,EAAI,SAAW,SAClCm3F,EAAS,GACT3iG,EAAU,GACVuB,EAAKouH,OAASA,EAAS,GACvBhkB,EAAU,GAAID,EAAU,GACD,EACvBspB,GAAU,EACVoQ,EAAU,CAAC/F,QAAQiK,EAAUj9H,IAAI,CAACmtF,GAAG,IAAIA,GAAI9vG,KAAK8/I,GACjD,MAEF,IAAK,SAAU,IAAK,WAAY,IAAK,WACjB,SAAhBh+H,EAAI,WAAwB8M,EAAQ8nE,OAAS50E,EAAI7I,EAAI0lC,IAAI,IAAI1lC,EAAI/M,GAAI4V,EAAIkyE,GAAY,CAAC9nF,EAAE+M,EAAI/M,EAAGyyC,EAAE1lC,EAAI0lC,SAAQ1lC,EAAI/M,EACpHwzI,EAAW,CAAEvyC,KAAMl0F,EAAIk0F,KAAMnX,GAAIkqD,EAAIjnI,EAAIk0F,OAAO,GAAIrkG,EAAEmQ,EAAIA,IAAKylC,EAAE,KAC9DsiG,EAAW,IAAGtB,EAASxyD,EAAI+zD,EAAevB,EAASvyC,MAAM,EAAK,KACjEgyC,GAAeO,EAAU9wH,EAASwgF,EAAGv3F,KAAKwpI,UAC1Cd,EAAQ,CAACr0I,EAAE+M,EAAI/M,EAAGyyC,EAAE1lC,EAAI0lC,GAAI+gG,EAAU9wH,GACrC,MACF,IAAK,UACJ8wH,EAAW,CAAEvyC,KAAMl0F,EAAIk0F,KAAMnX,GAAIkqD,EAAIjnI,EAAIk0F,MAAOrkG,EAAEmQ,EAAIA,IAAKylC,EAAEzlC,EAAIylC,GAC9DsiG,EAAW,IAAGtB,EAASxyD,EAAI+zD,EAAevB,EAASvyC,MAAM,EAAK,KACjEgyC,GAAeO,EAAU9wH,EAASwgF,EAAGv3F,KAAKwpI,UAC1Cd,EAAQ,CAACr0I,EAAE+M,EAAI/M,EAAGyyC,EAAE1lC,EAAI0lC,GAAI+gG,EAAU9wH,GACrC,MACF,IAAK,KACJ8wH,EAAW,CAAEvyC,KAAMl0F,EAAIk0F,KAAMnX,GAAIkqD,EAAIjnI,EAAIk0F,MAAOrkG,EAAEmQ,EAAIs6F,MAAO70D,EAAE,KAC5DsiG,EAAW,IAAGtB,EAASxyD,EAAI+zD,EAAevB,EAASvyC,MAAM,EAAK,KACjEgyC,GAAeO,EAAU9wH,EAASwgF,EAAGv3F,KAAKwpI,UAC1Cd,EAAQ,CAACr0I,EAAE+M,EAAI/M,EAAGyyC,EAAE1lC,EAAI0lC,GAAI+gG,EAAU9wH,GACrC,MACF,IAAK,QACJ,IAAI,IAAI7gB,GAAIkL,EAAI/M,EAAG6B,IAAKkL,EAAIsK,IAAKxV,GAAG,CACnC,IAAIo/F,GAAOl0F,EAAIq6F,MAAMvlG,GAAEkL,EAAI/M,GAAG,GAC9BwzI,EAAU,CAAEvyC,KAAKA,GAAMnX,GAAGkqD,EAAI/yC,IAAOrkG,EAAEmQ,EAAIq6F,MAAMvlG,GAAEkL,EAAI/M,GAAG,GAAIwyC,EAAE,KAC7DsiG,EAAW,IAAGtB,EAASxyD,EAAI+zD,EAAevB,EAASvyC,MAAM,EAAK,KACjEgyC,GAAeO,EAAU9wH,EAASwgF,EAAGv3F,KAAKwpI,UAC1Cd,EAAQ,CAACr0I,EAAE6B,GAAG4wC,EAAE1lC,EAAI0lC,GAAI+gG,EAAU9wH,GAElC,MACF,IAAK,UACJ,GAAc,UAAX3V,EAAIA,IAAiB,CAAE4mI,EAAe5mI,EAAK,MAG9C,GAFAymI,EAAWN,GAAUnmI,EAAIA,IAAKA,EAAIw6E,KAAK0Z,KAAMl0F,EAAIyK,IACjDg8H,EAAS1pD,GAAKkqD,EAAIR,EAASvyC,MACxBv+E,EAAQo/G,YAAa,CACvB,IAAI1lI,GAAK2Q,EAAIupG,QACb,GAAGl6G,IAAMA,GAAG,IAAMA,GAAG,GAAG,IAAqB,UAAfA,GAAG,GAAG,GAAG,GAAgB,CACtD,IAAIu5I,GAAMv5I,GAAG,GAAG,GAAG,GAAG,GAAIw5I,GAAMx5I,GAAG,GAAG,GAAG,GAAG,GACxCy5I,GAAM/tD,GAAY,CAACr1C,EAAEkjG,GAAK31I,EAAE41I,KAC7Bhc,EAAQic,IAAMrC,EAASvyI,EAAI,GAAG43H,GAAkB9rH,EAAIupG,QAAQ1uB,EAAM76E,EAAIw6E,KAAKkxC,EAAU9sH,GACnF6nI,EAAS97H,IAAMgL,EAAQ8nE,OAAS50E,EAAI+/H,KAAM,IAAIC,IAAMhgI,EAAIigI,MAAS,IAAIn+H,OACpE87H,EAASvyI,EAAI,GAAG43H,GAAkB9rH,EAAIupG,QAAQ1uB,EAAM76E,EAAIw6E,KAAKkxC,EAAU9sH,GAE5EmpI,EAAW,IAAGtB,EAASxyD,EAAI+zD,EAAevB,EAASvyC,MAAM,EAAK,KACjEgyC,GAAeO,EAAU9wH,EAASwgF,EAAGv3F,KAAKwpI,UAC1Cd,EAAQtnI,EAAIw6E,KAAMisD,EAAU9wH,GAC5BixH,EAAe5mI,EACd,MACF,IAAK,SACJ,IAAG4mI,EAWI,MAAM,IAAItuI,MAAM,iCAVtBsuI,EAAa5mI,IAAMA,EACnBymI,EAAWN,GAAUnmI,EAAK4mI,EAAapsD,KAAK0Z,KAAM,KAClDuyC,EAAS1pD,GAAKkqD,EAAIR,EAASvyC,MACxBv+E,EAAQo/G,cACV0R,EAASvyI,EAAI,GAAG43H,GAAkB8a,EAAar9B,QAAS1uB,EAAO+rD,EAAapsD,KAAMkxC,EAAU9sH,IAE1FmpI,EAAW,IAAGtB,EAASxyD,EAAI+zD,EAAevB,EAASvyC,MAAM,EAAK,KACjEgyC,GAAeO,EAAU9wH,EAASwgF,EAAGv3F,KAAKwpI,UAC1Cd,EAAQV,EAAapsD,KAAMisD,EAAU9wH,GACrCixH,EAAe,KAEf,MACF,IAAK,QACJ5Z,EAAO1zH,KAAK0G,GACZ,IAAI+oI,GAAchuD,GAAY/6E,EAAI,GAAG0J,GAErC,GADA00D,EAAKzoD,EAAQ8nE,OAAS50E,EAAI7I,EAAI,GAAG0J,EAAEg8B,IAAI,IAAI1lC,EAAI,GAAG0J,EAAEzW,GAAK4V,EAAIkgI,IAC1DpzH,EAAQo/G,aAAe32D,EAAI,CAC7B,IAAIwoE,EAAc,MAClB,IAAImC,KAAgB3qE,EAAI,MACxBA,EAAGlqE,EAAI,GAAG43H,GAAkB9rH,EAAI,GAAI66E,EAAO76E,EAAI,GAAI0rH,EAAU9sH,GAC7Dw/D,EAAGzzD,EAAI+xE,GAAa18E,EAAI,IAExB,MACF,IAAK,UACJ,IAAIgnI,EAAY,MAChB,IAAIrxH,EAAQo/G,YAAa,MACzB,GAAGgS,EAAW,CAEb,IAAIH,EAAc,MAClB/Z,EAAQ9xC,GAAY6rD,EAAapsD,OAAQx6E,EAAI,GAC7Co+D,EAAKzoD,EAAQ8nE,OAAS50E,EAAI+9H,EAAapsD,KAAK90C,IAAI,IAAIkhG,EAAapsD,KAAKvnF,GAAK4V,EAAIkyE,GAAY6rD,EAAapsD,QACvGpc,GAAI,IAAIlqE,EAAI,GAAG43H,GAAkB9rH,EAAI,GAAI66E,EAAOwrD,EAAU3a,EAAU9sH,GAErE,MACF,IAAK,WACJ6nI,EAASN,GAAU7/C,EAAItmF,EAAI25F,MAAMl0D,EAAGzlC,EAAIk0F,KAAM,KAC3C5N,EAAItmF,EAAI25F,MAAMjlG,IAAG+xI,EAAS/xI,EAAI4xF,EAAItmF,EAAI25F,MAAMjlG,GAC/C+xI,EAAS1pD,GAAKkqD,EAAIR,EAASvyC,MACxB6zC,EAAW,IAAGtB,EAASxyD,EAAI+zD,EAAevB,EAASvyC,MAAM,EAAK,KACjEgyC,GAAeO,EAAU9wH,EAASwgF,EAAGv3F,KAAKwpI,UAC1Cd,EAAQ,CAACr0I,EAAE+M,EAAI/M,EAAGyyC,EAAE1lC,EAAI0lC,GAAI+gG,EAAU9wH,GACtC,MACD,IAAK,QAAYA,EAAQsoE,aACxBwoD,EAAW,CAAEvyC,KAAMl0F,EAAIk0F,KAAMnX,GAAIkqD,EAAIjnI,EAAIk0F,MAAOzuD,EAAE,KAC/CsiG,EAAW,IAAGtB,EAASxyD,EAAI+zD,EAAevB,EAASvyC,MAAM,EAAK,KACjEgyC,GAAeO,EAAU9wH,EAASwgF,EAAGv3F,KAAKwpI,UAC1Cd,EAAQ,CAACr0I,EAAE+M,EAAI/M,EAAGyyC,EAAE1lC,EAAI0lC,GAAI+gG,EAAU9wH,IACrC,MACF,IAAK,WAAY,GAAGA,EAAQsoE,WAC3B,IAAI,IAAI+qD,GAAKhpI,EAAI/M,EAAG+1I,IAAMhpI,EAAIsK,IAAK0+H,GAAI,CACtC,IAAIC,GAAQjpI,EAAIk0F,KAAK80C,GAAGhpI,EAAI/M,GAC5BwzI,EAAU,CAAEvyC,KAAK+0C,GAAOlsD,GAAGkqD,EAAIgC,IAAQxjG,EAAE,KACtCsiG,EAAW,IAAGtB,EAASxyD,EAAI+zD,EAAevB,EAASvyC,MAAM,EAAK,KACjEgyC,GAAeO,EAAU9wH,EAASwgF,EAAGv3F,KAAKwpI,UAC1Cd,EAAQ,CAACr0I,EAAE+1I,GAAItjG,EAAE1lC,EAAI0lC,GAAI+gG,EAAU9wH,GAEnC,MACF,IAAK,UACL,IAAK,QAAS,IAAK,WAClB8wH,EAASN,GAAUnmI,EAAIA,IAAKA,EAAIk0F,KAAM,KACtCuyC,EAAS1pD,GAAKkqD,EAAIR,EAASvyC,MACxB6zC,EAAW,IAAGtB,EAASxyD,EAAI+zD,EAAevB,EAASvyC,MAAM,EAAK,KACjEgyC,GAAeO,EAAU9wH,EAASwgF,EAAGv3F,KAAKwpI,UAC1Cd,EAAQ,CAACr0I,EAAE+M,EAAI/M,EAAGyyC,EAAE1lC,EAAI0lC,GAAI+gG,EAAU9wH,GACtC,MAED,IAAK,aACc,IAAf4xH,IAAkB1sD,EAAQ76E,GAC5B,MACF,IAAK,MACJsmF,EAAMtmF,EACL,MACF,IAAK,SACJ,GAAgB,GAAbpB,EAAK+7E,KAAW,CAClBqtD,EAAcD,KAAc/nI,EAAI,GAChC,IAAI,IAAIkpI,GAAQ,EAAGA,GAAQnB,EAAW,MAAOmB,GAAO,GAAG3wE,EAAI6I,OAAO8nE,KAAUlpI,EAAI,GAAI,MACjFkpI,IAAS,KAAK3wE,EAAI5tB,KAAK3qC,EAAI,GAAI+nI,EAAW,UAEzCxvE,EAAI5tB,KAAK3qC,EAAI,GAAIA,EAAI,IACzB,MACF,IAAK,cACJgoI,EAAcD,KAAc/nI,EAC5B,IAAI,IAAImpI,GAAQ,EAAGA,GAAQpB,EAAW,MAAOoB,GAAO,GAAG5wE,EAAI6I,OAAO+nE,KAAUnpI,EAAK,MAC9EmpI,IAAS,KAAK5wE,EAAI5tB,KAAK3qC,EAAK+nI,EAAW,KACzC,MAEF,IAAK,aAAc/nC,EAASA,EAAOz9E,OAAOviB,GAAM,MAEhD,IAAK,MAAO3C,EAAQ2C,EAAIqgG,IAAI,IAAMzhG,EAAK6hG,QAAUzgG,EAAK,MACtD,IAAK,MAAOpB,EAAK6hG,QAAQ2oC,IAAMppI,EAAK,MACpC,IAAK,SAAUpB,EAAK6hG,QAAQ4oC,OAASrpI,EAAK,MAE1C,IAAK,QACJ,IAAIwmI,EAAOxmI,EAAI,GAAG0J,EAAEg8B,EAAG8gG,GAAQxmI,EAAI,GAAGpM,EAAE8xC,IAAK8gG,EAC5C,IAAID,EAAOvmI,EAAI,GAAG0J,EAAEzW,EAAGszI,GAAQvmI,EAAI,GAAGpM,EAAEX,IAAKszI,EAC5CnoE,EAAKzoD,EAAQ8nE,OAAS50E,EAAI29H,IAAO,IAAID,GAAQ19H,EAAIkyE,GAAY,CAAC9nF,EAAEszI,EAAK7gG,EAAE8gG,KACpEpoE,IAAIA,EAAGpoE,EAAIgK,EAAI,IAEnB,MACF,IAAK,eACJ,IAAIwmI,EAAOxmI,EAAI,GAAG0J,EAAEg8B,EAAG8gG,GAAQxmI,EAAI,GAAGpM,EAAE8xC,IAAK8gG,EAC5C,IAAID,EAAOvmI,EAAI,GAAG0J,EAAEzW,EAAGszI,GAAQvmI,EAAI,GAAGpM,EAAEX,IAAKszI,EAC5CnoE,EAAKzoD,EAAQ8nE,OAAS50E,EAAI29H,IAAO,IAAID,GAAQ19H,EAAIkyE,GAAY,CAAC9nF,EAAEszI,EAAK7gG,EAAE8gG,KACpEpoE,GAAMA,EAAGpoE,IAAGooE,EAAGpoE,EAAE29F,QAAU3zF,EAAI,IAEnC,MAGF,IAAK,OACJ,GAAGpB,EAAK+7E,MAAQ,GAAK/7E,EAAK+7E,MAAQ,EAAG,MACrCvc,EAAKzoD,EAAQ8nE,OAAS50E,EAAI7I,EAAI,GAAG0lC,IAAI,IAAI1lC,EAAI,GAAG/M,GAAK4V,EAAIkyE,GAAY/6E,EAAI,KACzE,IAAIspI,GAAUjsI,EAAQ2C,EAAI,IACtBo+D,IACAzoD,EAAQ8nE,OACN50E,EAAI7I,EAAI,GAAG0lC,KAAI78B,EAAI7I,EAAI,GAAG0lC,GAAK,IACnC04B,EAAKv1D,EAAI7I,EAAI,GAAG0lC,GAAG1lC,EAAI,GAAG/M,GAAK,CAAEwyC,EAAE,MAEnC24B,EAAKv1D,EAAIkyE,GAAY/6E,EAAI,KAAO,CAAEylC,EAAE,KAErCo1C,EAAMjnF,EAAE8xC,EAAIr6C,KAAK2gC,IAAI6uD,EAAMjnF,EAAE8xC,EAAG1lC,EAAI,GAAG0lC,GACvCm1C,EAAMnxE,EAAEg8B,EAAIr6C,KAAKsnD,IAAIkoC,EAAMnxE,EAAEg8B,EAAG1lC,EAAI,GAAG0lC,GACvCm1C,EAAMjnF,EAAEX,EAAI5H,KAAK2gC,IAAI6uD,EAAMjnF,EAAEX,EAAG+M,EAAI,GAAG/M,GACvC4nF,EAAMnxE,EAAEzW,EAAI5H,KAAKsnD,IAAIkoC,EAAMnxE,EAAEzW,EAAG+M,EAAI,GAAG/M,IAEpCmrE,EAAGnrE,IAAGmrE,EAAGnrE,EAAI,IACjBqzI,EAAO,CAAC78I,EAAEuW,EAAI,GAAGylC,EAAE6jG,GAAQF,IAAI3jG,GAC/B24B,EAAGnrE,EAAEqG,KAAKgtI,GACT,MAEF,QAAS,OAAOzjE,EAAE1hE,GAClB,IAAK,aAAc,MACnB,IAAK,QAASk/G,GAAa4mB,EAAIjnI,EAAIk0F,MAAOl0F,EAAIogH,KAAM,MAEpD,IAAK,cAA0BpgH,EAAK,MACpC,IAAK,mBAAgCA,EAAI,GAAI,MAE7C,IAAK,UACJ,IAAIpB,EAAKk8F,WAAY,MACrB,MAAM96F,EAAIpM,GAAKoM,EAAI0J,EAClBs/F,EAAQhpG,EAAIpM,KAAO,CAAE5I,MAAOgV,EAAI8I,EAAE,KAC9BupH,IAAWA,GAAU,EAAM9Z,GAAcv4G,EAAI8I,EAAE,MACnD6gG,GAAYX,EAAQhpG,EAAIpM,EAAE,IAE1B,MACF,IAAK,MACJ,IAAI2gI,GAAS,GACG,MAAbv0H,EAAIu4C,QAAiBwwD,EAAQ/oG,EAAI0lC,GAAK6uF,GAAQA,GAAOh8E,MAAQv4C,EAAIu4C,OACjEv4C,EAAI42F,SAAUmS,EAAQ/oG,EAAI0lC,GAAK6uF,GAAQA,GAAO39B,QAAS,GACvD52F,EAAIw3F,MACNuR,EAAQ/oG,EAAI0lC,GAAK6uF,GACjBA,GAAO/8B,IAAMx3F,EAAIw3F,IAAK+8B,GAAO3qB,IAAMC,GAAM7pG,EAAIw3F,MAE7C,MAEF,IAAK,aACL,IAAK,cACL,IAAK,YACL,IAAK,eACA3uF,EAAI,aAAakmH,GAAgBlmH,EAAI,YAAc,IACvDA,EAAI,YAAY8/E,GAAG5/E,MAAM,GAAG,GAAGgnC,eAAiB/vC,EAChD,MAED,IAAK,QACA6I,EAAI,aAAakmH,GAAgBlmH,EAAI,YAAc,IACvDA,EAAI,YAAY4lC,OAASzuC,EAAIyuC,OAC7B5lC,EAAI,YAAY+4F,OAAS5hG,EAAI4hG,OAC7B,MAED,IAAK,UAED5hG,EAAIm5F,MAAK04B,EAASkB,MAAM,GAAG55B,KAAM,GACpC,MAED,IAAK,SAAU,MACf,IAAK,SAAU,MACf,IAAK,UAAW,MAChB,IAAK,UAAW,MAChB,IAAK,MAAO,MACZ,IAAK,MAAO,MACZ,IAAK,WAAY,MACjB,IAAK,SAAU,MACf,IAAK,UAAW,MAChB,IAAK,SAAU,MACf,IAAK,OAAQ,MACb,IAAK,OAAQ,MACb,IAAK,SAAU,MACf,IAAK,QAAS,MACd,IAAK,WAAY,MACjB,IAAK,OAAQ,MACb,IAAK,QAAS,MACd,IAAK,OAAQ,MACb,IAAK,OAAQ,MACb,IAAK,OAAQ,MACb,IAAK,WAAY,MACjB,IAAK,YAAa,MAClB,IAAK,OAAQ,MACb,IAAK,UAAW,IAAK,YAAa,MAClC,IAAK,YAAa,IAAK,YAAa,IAAK,SAAU,MACnD,IAAK,UAAWutC,EAAU1mI,EAAK,MAC/B,IAAK,WAAY,MACjB,IAAK,SAAU,MACf,IAAK,MAAO,IAAK,OAAQ,IAAK,WAAY,MAC1C,IAAK,OAAQ,MACb,IAAK,QAAS,MACd,IAAK,QAAS,MACd,IAAK,WAAY,MACjB,IAAK,UAAWknI,EAAUlnI,EAAK,MAC/B,IAAK,QAASylF,EAASzlF,EAAK,MAE5B,IAAK,kBAAmB,MACxB,IAAK,aAAc,MAGnB,IAAK,YAAa,MAGlB,IAAK,QAAS,MACd,IAAK,cAAe,MACpB,IAAK,aAAc,MACnB,IAAK,oBAAqB,MAG1B,IAAK,aAAc,MACnB,IAAK,OAAQ,MACb,IAAK,UAAW,MAChB,IAAK,SAAU,MACf,IAAK,UAAW,MAChB,IAAK,WAAY,MACjB,IAAK,OAAQ,MACb,IAAK,WAAY,MACjB,IAAK,WAAY,MACjB,IAAK,SAAU,MACf,IAAK,SAAU,MACf,IAAK,QAAS,MACd,IAAK,QAAS,MAGd,IAAK,UAAW,MAGhB,IAAK,OAAQ,MAGb,IAAK,YAAa,MAGlB,IAAK,cAAe,MACpB,IAAK,YAAa,MAClB,IAAK,YAAa,MAElB,IAAK,MAAO,MACZ,IAAK,MAAO,MAEZ,IAAK,MAEH,MACF,IAAK,WAEH,MACF,IAAK,mBAEH,MAGF,IAAK,aAEH,MACF,IAAK,SAEH,MACF,IAAK,WACL6mI,EACMpE,EAAQjR,SAAWxxH,GAAOyiI,EAAQ17I,KAD7B8qI,EAAS8J,QAAQnK,SAAWxxH,GAAO,eAE5C,MACF,IAAK,cAEH,MAEF,IAAK,OAAQ,MACb,IAAK,eAAgB,MAErB,IAAK,gBAAiB,MAGtB,IAAK,MAAO,IAAK,OAAQ,IAAK,SAAU,IAAK,aAAc,IAAK,aAAc,MAG9E,IAAK,KAAM,IAAK,OAAQ,MAGxB,IAAK,OAAQ,IAAK,SAAU,IAAK,aAAc,MAG/C,IAAK,QAAS,MACd,IAAK,eAAgB,MACrB,IAAK,aAAc,MAEnB,IAAK,YAAa,MAClB,IAAK,YAAa,MAGlB,IAAK,aAAc,MACnB,IAAK,UAAW,IAAK,KAAM,IAAK,OAAQ,IAAK,OAAQ,MAGrD,IAAK,aAAc,MACnB,IAAK,QAAS,MACd,IAAK,eAAgB,IAAK,MAAO,IAAK,eAAgB,IAAK,MAAO,MAClE,IAAK,sBAAgF,MAErF,IAAK,UAAW,IAAK,UAAW,IAAK,UAAW,IAAK,OACrD,IAAK,YAAa,IAAK,iBAAkB,IAAK,eAAgB,MAC9D,IAAK,OAAQ,MACb,QAAS,OAAO6iE,EAAE1hE,GAElB,IAAK,MACL,IAAK,QAAS,IAAK,MACnB,IAAK,aAAc,IAAK,WACxB,IAAK,QAAS,IAAK,OACnB,IAAK,OAAQ,IAAK,WAAY,IAAK,OAAQ,MAC3C,IAAK,WACL,IAAK,cAAe,IAAK,eAAgB,IAAK,UAAW,IAAK,UAAW,IAAK,WAAY,IAAK,mBAAoB,MACnH,IAAK,aAAc,IAAK,aACxB,IAAK,QAAS,IAAK,UAAW,IAAK,kBAAmB,IAAK,cAAe,IAAK,eAAgB,MAC/F,IAAK,WAAY,IAAK,aAAc,MACpC,IAAK,aAAc,IAAK,YAAa,IAAK,cAAe,MACzD,IAAK,aAAc,IAAK,WAAY,IAAK,QAAS,MAClD,IAAK,cAAe,IAAK,SAAU,IAAK,SAAU,MAClD,IAAK,WAAY,MACjB,IAAK,cAAe,IAAK,OAAQ,IAAK,SAAU,MAChD,IAAK,qBAAsB,MAC3B,IAAK,SAAU,IAAK,kBAAmB,MACvC,IAAK,MAAO,IAAK,UAAW,MAC5B,IAAK,YAAa,IAAK,eAAgB,MACvC,IAAK,cAAe,IAAK,YAAa,MACtC,IAAK,SAAU,IAAK,aAAc,MAClC,IAAK,UAAW,MAChB,IAAK,gBAAiB,IAAK,QAAS,MAGpC,IAAK,OAAQ,IAAK,MAAO,MACzB,IAAK,OAAQ,MAGb,IAAK,aAAc,MACnB,IAAK,MAAO,MACZ,IAAK,aAAc,MAGnB,IAAK,YAAa,MAClB,IAAK,aAAc,MACnB,IAAK,iBAAkB,MACvB,IAAK,WAAY,MACjB,IAAK,kBAAmB,MAGxB,IAAK,QAAS,MACd,IAAK,SAAU,MACf,IAAK,WAAY,MAGjB,IAAK,MAAO,IAAK,OAAQ,IAAK,OAAQ,IAAK,WAAY,MACvD,IAAK,SAAU,MAGf,IAAK,aAAc,MACnB,IAAK,aAAc,IAAK,iBAAkB,MAC1C,IAAK,eAAgB,MACrB,IAAK,iBAAkB,MACvB,IAAK,OAAQ,MACb,IAAK,WAAY,MAGjB,IAAK,mBAAoB,MACzB,IAAK,aAAc,IAAK,kBAAmB,IAAK,sBAAuB,MAEvE,IAAK,SAAU,IAAK,aAAc,MAGlC,IAAK,eAAgB,IAAK,YAAa,IAAK,MAC5C,IAAK,uBAAwB,IAAK,qBAAsB,MAExD,IAAK,SAAU,IAAK,mBAAoB,IAAK,WAAY,MAGzD,IAAK,WAAY,IAAK,gBAAiB,MAGvC,IAAK,cAAe,IAAK,aAAc,MAEvC,QAAS,OAAO0hE,EAAE1hE,GAElB,IAAK,YAAa,IAAK,QAAS,IAAK,YAAa,IAAK,UAAW,IAAK,OAAQ,IAAK,YAAa,IAAK,eAAgB,MAGtH,IAAK,eAAgB,IAAK,cAAe,IAAK,gBAAiB,MAC/D,IAAK,UAAW,IAAK,UAAW,IAAK,UAAW,MAChD,IAAK,cAAe,IAAK,WAAY,IAAK,eAAgB,MAG1D,IAAK,WAAY,IAAK,UAAW,IAAK,OAAQ,IAAK,aACnD,IAAK,MAAO,IAAK,SAAU,IAAK,eAAgB,IAAK,eACrD,IAAK,OAAQ,MACb,IAAK,WAAY,IAAK,cAAe,IAAK,UAAW,IAAK,MAAO,MACjE,IAAK,UAAW,IAAK,YAAa,MAClC,IAAK,SAAU,MACf,IAAK,UAAW,MAChB,IAAK,aAAc,IAAK,aAAc,MACtC,IAAK,aAAc,MACnB,IAAK,aAAc,MACnB,QAAS,GAAGwU,EAAQ0gE,IAAK,KAAM,uBAAyBxT,EAAE1hE,WAErD2vC,EAAK96C,GAAKkC,EAclB,OAZAi+F,EAAG9Y,WAAWtgF,EAAK4pI,GAAW/wG,MAAK,SAASnsC,EAAEoJ,GAAK,OAAO+K,OAAOnU,GAAKmU,OAAO/K,MAAOvI,KAAI,SAASqT,GAAG,OAAOgpI,EAAUhpI,GAAG5W,QACpH4uB,EAAQyuH,aAAYjuC,EAAG7Y,OAAOA,GAC/B6Y,EAAG7Y,QAAQ2qD,EAAgBloI,SAAQ,SAAS2lC,EAAE/wC,GAAKwhG,EAAG7Y,OAAO6Y,EAAG9Y,WAAW1oF,IAAI,eAAiB+wC,KACnGywD,EAAG2wC,SAASA,EACZ3wC,EAAGo9B,QAAUjtC,EACb6P,EAAG59B,IAAMA,EAAI8I,YACVziE,EAAKqJ,MAAKkuF,EAAGozC,WAAa3qI,EAAKqJ,KAC/Bw9E,IAAQ0Q,EAAGipB,OAAS35B,GACvB0Q,EAAGqzC,SAAW,QACCz6I,IAAZ23I,IAAuBvwC,EAAGqzC,SAASC,QAAU/C,GAC7Chb,EAASY,MAAMp0H,OAAS,IAAG25H,EAASc,MAAQjH,EAASY,OACxDn2B,EAAG07B,SAAWA,EACP17B,EAIR,IAAIuzC,GAAU,CACbC,GAAI,mCACJC,IAAK,mCACLC,IAAK,oCAEN,SAASC,GAAgBhiE,EAAKp2E,EAAOmR,GAEpC,IAAI+mI,EAAMlnE,EAAIvhD,KAAK2mD,EAAK,+BACxB,GAAG8hE,GAAOA,EAAIxiJ,KAAO,EAAG,IACvB,IAAI2iJ,EAAa15C,GAAwBu5C,EAAKhmD,GAAkB8lD,GAAQE,KACxE,IAAI,IAAI12I,KAAK62I,EAAYr4I,EAAMwB,GAAK62I,EAAW72I,GAC9C,MAAMU,IAAI,GAAGiP,EAAEwzE,IAAK,MAAMziF,GAG5B,IAAI+1I,EAAKjnE,EAAIvhD,KAAK2mD,EAAK,uBACvB,GAAG6hE,GAAMA,EAAGviJ,KAAO,EAAG,IACrB,IAAI4iJ,EAAU35C,GAAwBs5C,EAAI9lD,GAAc6lD,GAAQC,IAChE,IAAI,IAAIjgI,KAAKsgI,EAAwB,MAAZt4I,EAAMgY,KAAYhY,EAAMgY,GAAKsgI,EAAQtgI,IAC7D,MAAM9V,IAAI,GAAGiP,EAAEwzE,IAAK,MAAMziF,GAEzBlC,EAAMs5F,cAAgBt5F,EAAMu5F,gBAC9BZ,GAAiB34F,EAAMs5F,aAAct5F,EAAMu5F,cAAev5F,EAAOmR,UAC1DnR,EAAMs5F,oBAAqBt5F,EAAMu5F,eAG1C,SAASg/C,GAAgB9zC,EAAIruB,GAC5B,IACWoiE,EADPC,EAAY,GAAIC,EAAW,GAAIC,EAAW,GAC1C11I,EAAI,EACR,GAAGwhG,EAAGnM,MAGL,IAFAkgD,EAAOntI,EAAKo5F,EAAGnM,OAEXr1F,EAAI,EAAGA,EAAIu1I,EAAKhyI,SAAUvD,GAAIpE,OAAOkE,UAAUkN,eAAeb,KAAKijF,GAAcmmD,EAAKv1I,IAAMw1I,EAAY55I,OAAOkE,UAAUkN,eAAeb,KAAKkjF,GAAWkmD,EAAKv1I,IAAMy1I,EAAWC,GAAU/wI,KAAK,CAAC4wI,EAAKv1I,GAAIwhG,EAAGnM,MAAMkgD,EAAKv1I,MAE1N,GAAGwhG,EAAGlJ,UAGL,IAFAi9C,EAAOntI,EAAKo5F,EAAGlJ,WAEXt4F,EAAI,EAAGA,EAAIu1I,EAAKhyI,SAAUvD,EAAOpE,OAAOkE,UAAUkN,eAAeb,KAAMq1F,EAAGnM,OAAO,GAAKkgD,EAAKv1I,MAAMpE,OAAOkE,UAAUkN,eAAeb,KAAKijF,GAAcmmD,EAAKv1I,IAAMw1I,EAAY55I,OAAOkE,UAAUkN,eAAeb,KAAKkjF,GAAWkmD,EAAKv1I,IAAMy1I,EAAWC,GAAU/wI,KAAK,CAAC4wI,EAAKv1I,GAAIwhG,EAAGlJ,UAAUi9C,EAAKv1I,MAEjS,IAAI21I,EAAY,GAChB,IAAI31I,EAAI,EAAGA,EAAI01I,EAASnyI,SAAUvD,EAC9B+6F,GAAUl3F,QAAQ6xI,EAAS11I,GAAG,KAAO,GACnB,MAAlB01I,EAAS11I,GAAG,IACf21I,EAAUhxI,KAAK+wI,EAAS11I,IAEtBy1I,EAASlyI,QAAQwqE,EAAIp3D,MAAM0jE,QAAQlH,EAAK,uBAA6BkpB,GAAwBo5C,EAAUV,GAAQC,GAAI3lD,GAAWH,MAC9HsmD,EAAUjyI,QAAUoyI,EAAUpyI,SAAQwqE,EAAIp3D,MAAM0jE,QAAQlH,EAAK,+BAAqCkpB,GAAwBm5C,EAAWT,GAAQE,IAAK7lD,GAAcH,GAAkB0mD,EAAUpyI,OAASoyI,EAAY,KAAMZ,GAAQG,MAGnO,SAASU,GAAaziE,EAAKnyD,GAK3B,IAAI60H,EAASvjD,EAeTwjD,EAEAt+F,EAhBJ,GALIx2B,IAASA,EAAU,IACvB4uH,GAAc5uH,GACdshD,IACGthD,EAAQsuF,UAAUntC,EAASnhD,EAAQsuF,UAEnCn8B,EAAIrC,UAAW,CACjB,GAAG/C,EAAIvhD,KAAK2mD,EAAK,eAAgB,MAAM,IAAIxvE,MAAM,8BACjDkyI,EAAU9nE,EAAIvhD,KAAK2mD,EAAK,YACxBmf,EAAKvkB,EAAIvhD,KAAK2mD,EAAK,cAAgBpF,EAAIvhD,KAAK2mD,EAAK,aAC3C,CACN,OAAOnyD,EAAQpsB,MACd,IAAK,SAAUu+E,EAAMhQ,EAAIJ,EAAOhtD,OAAOo9D,IAAO,MAC9C,IAAK,SAAUA,EAAMhQ,EAAIgQ,GAAM,MAC/B,IAAK,SAAU,MACf,IAAK,QAAa19E,MAAMC,QAAQy9E,KAAMA,EAAM19E,MAAMqK,UAAUsU,MAAMjI,KAAKgnE,IAAM,MAE9EnE,GAAUmE,EAAK,GACfmf,EAAK,CAAE95E,QAAS26D,GAMjB,GADG0iE,GAAS/E,GAAc+E,GACvB70H,EAAQ0uH,YAAc1uH,EAAQyuH,WAAYqG,EAAY,OACpD,CACJ,IAAIrwE,EAAIzyD,EAAU,SAAW,QAC7B,GAAGs/E,GAAMA,EAAG95E,QAASs9H,EAAYrE,GAAen/C,EAAG95E,QAASwI,QAEvD,IAAIw2B,EAAMu2B,EAAIvhD,KAAK2mD,EAAK,wBAA0B37B,EAAMh/B,QAASs9H,EAAYj9B,GAAI5I,YAAYz4D,EAAMh/B,SAAUwI,EAAQpsB,KAAO6wE,EAAGzkD,QAE/H,MAAIw2B,EAAMu2B,EAAIvhD,KAAK2mD,EAAK,yBAA0B37B,EAAMh/B,QACxD,MAAM,IAAI7U,MAAM,+BADiDmyI,EAAYj9B,GAAI5I,YAAYz4D,EAAMh/B,SAAUwI,EAAQpsB,KAAO6wE,EAAGzkD,IAEjIA,EAAQ+0H,SAAW5iE,EAAIrC,WAAa/C,EAAIvhD,KAAK2mD,EAAK,+BAA8B2iE,EAAU9Y,OAAStO,GAAav7C,IAGpH,IAAIp2E,EAAQ,GAMZ,OALGo2E,EAAIrC,WAAWqkE,GAAgBhiE,EAAKp2E,EAAOikB,GAE9C80H,EAAUzgD,MAAQygD,EAAUx9C,UAAYv7F,EACrCikB,EAAQg1H,YAAWF,EAAU3iE,IAAMA,GAE/B2iE,EAIP,SAASG,GAAaz0C,EAAIv3F,GACzB,IAAIiE,EAAIjE,GAAQ,GACZkpE,EAAMpF,EAAIp3D,MAAMkkE,QAAQ,CAAC3oE,KAAK,MAC9BgkI,EAAS,YACb,OAAOhoI,EAAEgkF,UAAY,OACpB,IAAK,MAAOhkF,EAAEgkF,SAAW,QAEzB,IAAK,MAAWhkF,EAAEgkF,WAAUhkF,EAAEgkF,SAAW,OAEzC,IAAK,QAASgkD,EAAS,YAAahoI,EAAE83E,KAAO,EAAG,MAChD,IAAK,QAASkwD,EAAS,QAAShoI,EAAE83E,KAAO,EAAG,MAC5C,QAAS,MAAM,IAAIriF,MAAM,gBAAkBuK,EAAEgkF,SAAW,gBAMzD,OAJAnkB,EAAIp3D,MAAM0jE,QAAQlH,EAAK+iE,EAAQC,GAAe30C,EAAItzF,IACrC,GAAVA,EAAE83E,OAAcwb,EAAGnM,OAASmM,EAAGlJ,YAAYg9C,GAAgB9zC,EAAIruB,GAErD,GAAVjlE,EAAE83E,MAAawb,EAAGw7B,QAAQnO,GAAa17C,EAAKpF,EAAIpO,KAAK6hC,EAAGw7B,OAAQ,CAACpoI,KAA0B,iBAAb4sG,EAAGw7B,OAAqB,SAAW,YAC7G7pD,EAGR,IAAI+R,GAAiB,CACrBjkB,EAAQ,CAAEz0D,EAAE,YAAajN,EAAEgiI,IAC3B,EAAQ,CAAE/0H,EAAE,eAAgBjN,EAAE4iI,IAC9B,EAAQ,CAAE31H,EAAE,YAAajN,EAAEwjI,IAC3B,EAAQ,CAAEv2H,EAAE,eAAgBjN,EAAEkjI,IAC9B,EAAQ,CAAEj2H,EAAE,cAAejN,EAAE+iI,IAC7B,EAAQ,CAAE91H,EAAE,cAAejN,EAAEsjI,IAC7B,EAAQ,CAAEr2H,EAAE,YAAajN,EAAE0jI,IAC3B,EAAQ,CAAEz2H,EAAE,cAAejN,EAAEojI,IAC7B,EAAQ,CAAEn2H,EAAE,gBAAiBjN,EAAE+jI,IAC/B,EAAQ,CAAE92H,EAAE,aAAcjN,EAAE8jI,IAC5B,GAAQ,CAAE72H,EAAE,cAAejN,EAAE4jI,IAC7B,GAAQ,CAAE32H,EAAE,eAAgBjN,EAAE6jI,IAC9B,GAAQ,CAAE52H,EAAE,gBAAiBjN,EAAEsqI,IAC/B,GAAQ,CAAEr9H,EAAE,aAAcjN,EAAE6qF,IAC5B,GAAQ,CAAE59E,EAAE,kBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,mBACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,mBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,mBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,oBACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,eACZ,GAAQ,CAAEA,EAAE,aACZ,GAAQ,CAAEA,EAAE,cACZ,GAAQ,CAAEA,EAAE,YACZ,GAAQ,CAAEA,EAAE,UAAWjN,EAAEwqI,IACzB,GAAQ,CAAEv9H,EAAE,oBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,UAAWjN,EAAE4nH,IACzB,GAAQ,CAAE36G,EAAE,SAAUjN,EAAEynH,IACxB,GAAQ,CAAEx6G,EAAE,UAAWjN,EAAEqoH,IACzB,GAAQ,CAAEp7G,EAAE,YAAajN,EAAE8oH,IAC3B,GAAQ,CAAE77G,EAAE,QAASjN,EAAEwoH,IACvB,GAAQ,CAAEv7G,EAAE,YACZ,GAAQ,CAAEA,EAAE,eACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,UACZ,GAAQ,CAAEA,EAAE,eACZ,GAAQ,CAAEA,EAAE,aACZ,GAAQ,CAAEA,EAAE,eACZ,GAAQ,CAAEA,EAAE,aACZ,GAAQ,CAAEA,EAAE,oBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,UACZ,GAAQ,CAAEA,EAAE,aAAcjN,EAAEutG,IAC5B,GAAQ,CAAEtgG,EAAE,kBACZ,GAAQ,CAAEA,EAAE,oBAAqBjN,EAAEusH,IACnC,GAAQ,CAAEt/G,EAAE,UAAWjN,EAAEmlI,IACzB,GAAQ,CAAEl4H,EAAE,iBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,iBACZ,GAAQ,CAAEA,EAAE,kBACZ,GAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,eAAgBjN,EAAEslF,GAAWpsD,EAAE,GAC3C,IAAQ,CAAEjsB,EAAE,cACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBAAkBjN,EAAE+kI,IAChC,IAAQ,CAAE93H,EAAE,gBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,YAAajN,EAAE0iI,IAC3B,IAAQ,CAAEz1H,EAAE,WAAYjN,EAAEuiI,GAAgBrpG,EAAE,IAC5C,IAAQ,CAAEjsB,EAAE,UAAWjN,EAAEukI,IACzB,IAAQ,CAAEt3H,EAAE,UACZ,IAAQ,CAAEA,EAAE,YAAajN,EAAEopI,IAC3B,IAAQ,CAAEn8H,EAAE,gBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,cAAejN,EAAEgpI,IAC7B,IAAQ,CAAE/7H,EAAE,eACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,cAAejN,EAAEw9G,IAC7B,IAAQ,CAAEvwG,EAAE,aACZ,IAAQ,CAAEA,EAAE,kBAAmBjN,EAAEqsF,IACjC,IAAQ,CAAEp/E,EAAE,iBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,eAAgBjN,EAAEgkI,IAC9B,IAAQ,CAAE/2H,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,6BACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,gBAAiBjN,EAAE2rF,IAC/B,IAAQ,CAAE1+E,EAAE,cACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,iBAAkBjN,EAAE2qG,IAChC,IAAQ,CAAE19F,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,aAAcjN,EAAEwkI,IAC5B,IAAQ,CAAEv3H,EAAE,aAAcjN,EAAE0kI,IAC5B,IAAQ,CAAEz3H,EAAE,YACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,iCACZ,IAAQ,CAAEA,EAAE,+BACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,aAAcjN,EAAE6kI,IAC5B,IAAQ,CAAE53H,EAAE,mBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,eAAgBjN,EAAEyiI,IAC9B,IAAQ,CAAEx1H,EAAE,eACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,WAAYjN,EAAEmkI,IAC1B,IAAQ,CAAEl3H,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,aAAcjN,EAAE2rF,IAC5B,IAAQ,CAAE1+E,EAAE,oBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,mBAAoBjN,EAAE8uH,IAClC,IAAQ,CAAE7hH,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,kBAAmBjN,EAAE2uH,IACjC,IAAQ,CAAE1hH,EAAE,iBACZ,IAAQ,CAAEA,EAAE,iBAAkBjN,EAAEirF,IAChC,IAAQ,CAAEh+E,EAAE,sBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,2BACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,iCACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,YAAajN,EAAEgnI,IAC3B,IAAQ,CAAE/5H,EAAE,kBACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,0BACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,oBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,iBACZ,IAAQ,CAAEA,EAAE,qBACZ,IAAQ,CAAEA,EAAE,wBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,sBACZ,IAAQ,CAAEA,EAAE,yBACZ,IAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,mCACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,YAAajN,EAAGolI,IAC5B,KAAQ,CAAEn4H,EAAE,mBACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,gCACZ,KAAQ,CAAEA,EAAE,8BACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,8BACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,qCACZ,KAAQ,CAAEA,EAAE,mCACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,oCACZ,KAAQ,CAAEA,EAAE,kCACZ,KAAQ,CAAEA,EAAE,kCACZ,KAAQ,CAAEA,EAAE,gCACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,kCACZ,KAAQ,CAAEA,EAAE,gCACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,gCACZ,KAAQ,CAAEA,EAAE,8BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,sCACZ,KAAQ,CAAEA,EAAE,oCACZ,KAAQ,CAAEA,EAAE,gCACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,mCACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,iCACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,qCACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,uBACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,8BACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,yBACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,0BACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,8BACZ,KAAQ,CAAEA,EAAE,4BACZ,KAAQ,CAAEA,EAAE,6BACZ,KAAQ,CAAEA,EAAE,2BACZ,KAAQ,CAAEA,EAAE,+BACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,wBACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,kBACZ,MAAQ,CAAEA,EAAE,KAGRm5E,GAASnJ,EAAU0I,GAAgB,KAGnCmsD,GAAgB,CACpB,EAAQ,CAAE7kI,EAAE,WAAYjN,EAAEouG,IAC1B,EAAQ,CAAEnhG,EAAE,WAAYjN,EAAEmuG,IAC1B,EAAQ,CAAElhG,EAAE,UAAWjN,EAAEq5H,IACzB,EAAQ,CAAEpsH,EAAE,MAAOjN,EAAE8hG,IACrB,GAAQ,CAAE70F,EAAE,MAAOjN,EAAEm9F,IACrB,GAAQ,CAAElwF,EAAE,YAAajN,EAAEu9F,IAC3B,GAAQ,CAAEtwF,EAAE,WAAYjN,EAAEu9F,IAC1B,GAAQ,CAAEtwF,EAAE,gBAAiBjN,EAAEu7F,IAC/B,GAAQ,CAAEtuF,EAAE,cAAejN,EAAEu7F,IAC7B,GAAQ,CAAEtuF,EAAE,YAAajN,EAAEusF,IAC3B,GAAQ,CAAEt/E,EAAE,WAAYjN,EAAEu7F,IAC1B,GAAQ,CAAEtuF,EAAE,UAAWjN,EAAEu7F,IACzB,GAAQ,CAAEtuF,EAAE,WAAYjN,EAAEu9F,IAC1B,GAAQ,CAAEtwF,EAAE,SAAUjN,EAAEqpG,IACxB,GAAQ,CAAEp8F,EAAE,SAAUjN,EAAEqpG,IACxB,GAAQ,CAAEp8F,EAAE,cAAejN,EAAE2qG,IAC7B,GAAQ,CAAE19F,EAAE,MAAOjN,EAAEoqG,IACrB,GAAQ,CAAEn9F,EAAE,aAAcjN,EAAEu7F,IAC5B,GAAQ,CAAEtuF,EAAE,sBACZ,GAAQ,CAAEA,EAAE,wBACZ,GAAQ,CAAEA,EAAE,OAAQjN,EAAE4rG,IACtB,GAAQ,CAAE3+F,EAAE,aACZ,GAAQ,CAAEA,EAAE,WAAYjN,EAAEu7F,IAC1B,GAAQ,CAAEtuF,EAAE,aAAcjN,EAAE2pG,IAC5B,GAAQ,CAAE18F,EAAE,YACZ,GAAQ,CAAEA,EAAE,aAAcjN,EAAEusF,IAC5B,GAAQ,CAAEt/E,EAAE,cAAejN,EAAEusF,IAC7B,GAAQ,CAAEt/E,EAAE,YAAajN,EAAEusF,IAC3B,GAAQ,CAAEt/E,EAAE,eAAgBjN,EAAEusF,IAC9B,GAAQ,CAAEt/E,EAAE,cAAejN,EAAEu7F,IAC7B,GAAQ,CAAEtuF,EAAE,YAAajN,EAAEu7F,IAC3B,GAAQ,CAAEtuF,EAAE,WAAYjN,EAAE4iH,IAC1B,GAAQ,CAAE31G,EAAE,OAAQjN,EAAEolG,IACtB,GAAQ,CAAEn4F,EAAE,YAAajN,EAAEu9F,IAC3B,GAAQ,CAAEtwF,EAAE,YACZ,GAAQ,CAAEA,EAAE,UAAWjN,EAAE+jG,IACzB,GAAQ,CAAE92F,EAAE,SAAUjN,EAAEu7F,IACxB,GAAQ,CAAEtuF,EAAE,OAAQjN,EAAEmlG,IACtB,GAAQ,CAAEl4F,EAAE,WAAYjN,EAAEu9F,IAC1B,GAAQ,CAAEtwF,EAAE,OACZ,GAAQ,CAAEA,EAAE,QACZ,GAAQ,CAAEA,EAAE,WACZ,GAAQ,CAAEA,EAAE,YACZ,GAAQ,CAAEA,EAAE,cAAejN,EAAEu9F,IAC7B,GAAQ,CAAEtwF,EAAE,OACZ,GAAQ,CAAEA,EAAE,OACZ,GAAQ,CAAEA,EAAE,eACZ,GAAQ,CAAEA,EAAE,cAAejN,EAAEmiG,IAC7B,GAAQ,CAAEl1F,EAAE,MAAOjN,EAAEisG,IACrB,GAAQ,CAAEh/F,EAAE,YACZ,GAAQ,CAAEA,EAAE,iBAAkBjN,EAAEu7F,IAChC,GAAQ,CAAEtuF,EAAE,YACZ,GAAQ,CAAEA,EAAE,QACZ,GAAQ,CAAEA,EAAE,aAAcjN,EAAEu7F,IAC5B,IAAQ,CAAEtuF,EAAE,UAAWjN,EAAEutG,IACzB,IAAQ,CAAEtgG,EAAE,OAAQjN,EAAE6oG,IACtB,IAAQ,CAAE57F,EAAE,SAAUjN,EAAEuiG,IACxB,IAAQ,CAAEt1F,EAAE,UAAWjN,EAAEu9F,IACzB,IAAQ,CAAEtwF,EAAE,UAAWjN,EAAEu7F,IACzB,IAAQ,CAAEtuF,EAAE,UAAWjN,EAAEu7F,IACzB,IAAQ,CAAEtuF,EAAE,cAAejN,EAAEyiG,IAC7B,IAAQ,CAAEx1F,EAAE,gBACZ,IAAQ,CAAEA,EAAE,UAAWjN,EAAEgtG,IACzB,IAAQ,CAAE//F,EAAE,UAAWjN,EAAEu9F,IACzB,IAAQ,CAAEtwF,EAAE,QACZ,IAAQ,CAAEA,EAAE,UAAWjN,EAAEotG,IACzB,IAAQ,CAAEngG,EAAE,QACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,sBAAuBjN,EAAEu9F,IACrC,IAAQ,CAAEtwF,EAAE,kBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,MAAOjN,EAAE8tG,IACrB,IAAQ,CAAE7gG,EAAE,QAASjN,EAAEytG,IACvB,IAAQ,CAAExgG,EAAE,WACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,QAASjN,EAAEqmG,IACvB,IAAQ,CAAEp5F,EAAE,WAAYjN,EAAEwmG,IAC1B,IAAQ,CAAEv5F,EAAE,MAAOjN,EAAEm9F,IACrB,IAAQ,CAAElwF,EAAE,QACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SAAUjN,EAAEu7F,IACxB,IAAQ,CAAEtuF,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,WAAYjN,EAAEu9F,IAC1B,IAAQ,CAAEtwF,EAAE,gBACZ,IAAQ,CAAEA,EAAE,kBAAmBjN,EAAEu7F,IACjC,IAAQ,CAAEtuF,EAAE,iBACZ,IAAQ,CAAEA,EAAE,KAAMjN,EAAEyoG,IACpB,IAAQ,CAAEx7F,EAAE,eAAgBjN,EAAEkiG,IAC9B,IAAQ,CAAEj1F,EAAE,eAAgBjN,EAAEm9F,IAC9B,IAAQ,CAAElwF,EAAE,QACZ,IAAQ,CAAEA,EAAE,aAAcjN,EAAE6rG,IAC5B,IAAQ,CAAE5+F,EAAE,SACZ,IAAQ,CAAEA,EAAE,mBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,uBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,MAAOjN,EAAE6iG,IACrB,IAAQ,CAAE51F,EAAE,WAAYjN,EAAEwlG,IAC1B,IAAQ,CAAEv4F,EAAE,SAAUjN,EAAEijG,IACxB,IAAQ,CAAEh2F,EAAE,UACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,UAAWjN,EAAEy9F,IACzB,IAAQ,CAAExwF,EAAE,eACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,WAAYjN,EAAEu7F,IAC1B,IAAQ,CAAEtuF,EAAE,MAAOjN,EAAEm9F,IACrB,IAAQ,CAAElwF,EAAE,QACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,UACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,kBACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,UAAWjN,EAAEspG,IACzB,IAAQ,CAAEr8F,EAAE,WAAYjN,EAAEu7F,IAC1B,IAAQ,CAAEtuF,EAAE,WACZ,IAAQ,CAAEA,EAAE,MACZ,IAAQ,CAAEA,EAAE,QACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,MAAOjN,EAAEqsG,IACrB,IAAQ,CAAEp/F,EAAE,aAAcjN,EAAEu7F,IAC5B,IAAQ,CAAEtuF,EAAE,QAASjN,EAAEysG,IACvB,IAAQ,CAAEx/F,EAAE,OACZ,IAAQ,CAAEA,EAAE,WAAYjN,EAAEq+F,IAC1B,IAAQ,CAAEpxF,EAAE,aACZ,IAAQ,CAAEA,EAAE,eAAgBjN,EAAEu9F,IAC9B,IAAQ,CAAEtwF,EAAE,cACZ,IAAQ,CAAEA,EAAE,MACZ,IAAQ,CAAEA,EAAE,aAAcjN,EAAEm9F,IAC5B,IAAQ,CAAElwF,EAAE,WAAYjN,EAAEyjG,GAAgBjyD,EAAE,GAC5C,IAAQ,CAAEvkC,EAAE,UAAWjN,EAAEm9F,IACzB,IAAQ,CAAElwF,EAAE,aAAcjN,EAAEgmG,IAC5B,IAAQ,CAAE/4F,EAAE,QAASjN,EAAE6tG,IACvB,IAAQ,CAAE5gG,EAAE,SAAUjN,EAAEkpG,IACxB,IAAQ,CAAEj8F,EAAE,QAASjN,EAAE0lG,IACvB,IAAQ,CAAEz4F,EAAE,UAAWjN,EAAEgpG,IACzB,IAAQ,CAAE/7F,EAAE,UAAWjN,EAAEq5H,IACzB,IAAQ,CAAEpsH,EAAE,SAAUjN,EAAE+tG,IACxB,IAAQ,CAAE9gG,EAAE,MAAOjN,EAAEojG,IACrB,IAAQ,CAAEn2F,EAAE,SACZ,IAAQ,CAAEA,EAAE,QAASjN,EAAEmrG,IACvB,IAAQ,CAAEl+F,EAAE,mBAAoBjN,EAAE0jG,IAClC,IAAQ,CAAEz2F,EAAE,SACZ,IAAQ,CAAEA,EAAE,UAAWjN,EAAEglG,IACzB,IAAQ,CAAE/3F,EAAE,KAAMjN,EAAEkmG,IACpB,IAAQ,CAAEj5F,EAAE,SACZ,KAAQ,CAAEA,EAAE,UAAWjN,EAAEq5H,IACzB,KAAQ,CAAEpsH,EAAE,WACZ,KAAQ,CAAEA,EAAE,SAAUjN,EAAE4lG,IACxB,KAAQ,CAAE34F,EAAE,mBACZ,KAAQ,CAAEA,EAAE,UAAWjN,EAAEgrG,IACzB,KAAQ,CAAE/9F,EAAE,eAAgBjN,EAAE4sG,IAC9B,KAAQ,CAAE3/F,EAAE,UACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,MAAOjN,EAAE8hG,IACrB,KAAQ,CAAE70F,EAAE,aACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,UAAWukC,EAAE,IACzB,KAAQ,CAAEvkC,EAAE,UACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,UAAWjN,EAAEm9F,IACzB,KAAQ,CAAElwF,EAAE,QACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,sBACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,QAASjN,EAAEqtG,GAAa77D,EAAE,IACtC,KAAQ,CAAEvkC,EAAE,QAASjN,EAAEgsH,GAAax6E,EAAE,IACtC,KAAQ,CAAEvkC,EAAE,gBACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,WAAYjN,EAAEu7F,GAAW/pD,EAAE,IACvC,KAAQ,CAAEvkC,EAAE,OACZ,KAAQ,CAAEA,EAAE,cAAeukC,EAAE,IAC7B,KAAQ,CAAEvkC,EAAE,cACZ,KAAQ,CAAEA,EAAE,qBACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,UAAWjN,EAAE6qG,GAAer5D,EAAE,IAC1C,KAAQ,CAAEvkC,EAAE,YACZ,KAAQ,CAAEA,EAAE,QAASjN,EAAEorH,GAAa55E,EAAE,IACtC,KAAQ,CAAEvkC,EAAE,eACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,cAAejN,EAAEqrG,GAAmB75D,EAAE,IAClD,KAAQ,CAAEvkC,EAAE,mBAAoBjN,EAAEm9F,IAClC,KAAQ,CAAElwF,EAAE,gBACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,oBACZ,KAAQ,CAAEA,EAAE,uBAAwBjN,EAAEujG,IACtC,KAAQ,CAAEt2F,EAAE,oBACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,kBACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,iBACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,QAASjN,EAAEu9F,IACvB,KAAQ,CAAEtwF,EAAE,cACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,WAAYjN,EAAE2tG,IAC1B,KAAQ,CAAE1gG,EAAE,YACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,QACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,aAAcjN,EAAEktG,IAC5B,KAAQ,CAAEjgG,EAAE,UACZ,KAAQ,CAAEA,EAAE,mBACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,gBACZ,KAAQ,CAAEA,EAAE,QAEZy0D,EAAQ,CAAEz0D,EAAE,aAAcjN,EAAEgmG,IAC5B,EAAQ,CAAE/4F,EAAE,WAAYjN,EAAEuuG,IAC1B,EAAQ,CAAEthG,EAAE,UAAWjN,EAAEgpG,IACzB,EAAQ,CAAE/7F,EAAE,SAAUjN,EAAEyuG,IACxB,EAAQ,CAAExhG,EAAE,YACZ,GAAQ,CAAEA,EAAE,SACZ,GAAQ,CAAEA,EAAE,cAAejN,EAAEu9F,IAC7B,GAAQ,CAAEtwF,EAAE,cAAejN,EAAE+lG,IAC7B,GAAQ,CAAE94F,EAAE,eACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,QAASjN,EAAEmrG,IACvB,GAAQ,CAAEl+F,EAAE,mBAAoBjN,EAAE0jG,IAClC,GAAQ,CAAEz2F,EAAE,gBAAiBjN,EAAE0uG,IAC/B,GAAQ,CAAEzhG,EAAE,cACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,WACZ,GAAQ,CAAEA,EAAE,gBACZ,GAAQ,CAAEA,EAAE,eACZ,IAAQ,CAAEA,EAAE,MACZ,IAAQ,CAAEA,EAAE,SAAUjN,EAAEguG,IACxB,IAAQ,CAAE/gG,EAAE,SACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,YACZ,IAAQ,CAAEA,EAAE,SACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,OACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,cACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,WACZ,IAAQ,CAAEA,EAAE,UAAWjN,EAAE2uG,IACzB,IAAQ,CAAE1hG,EAAE,UACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,aACZ,IAAQ,CAAEA,EAAE,gBACZ,IAAQ,CAAEA,EAAE,MAAOjN,EAAE8hG,IACrB,IAAQ,CAAE70F,EAAE,MAAOjN,EAAEoqG,IACrB,IAAQ,CAAEn9F,EAAE,aAAcjN,EAAE2pG,IAC5B,IAAQ,CAAE18F,EAAE,QACZ,IAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,MAAOjN,EAAE8hG,IACrB,KAAQ,CAAE70F,EAAE,WACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,cACZ,KAAQ,CAAEA,EAAE,WACZ,KAAQ,CAAEA,EAAE,aACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,eACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,OACZ,KAAQ,CAAEA,EAAE,SACZ,KAAQ,CAAEA,EAAE,UACZ,KAAQ,CAAEA,EAAE,YACZ,KAAQ,CAAEA,EAAE,aAAcukC,EAAE,IAE5B,MAAQ,IAGJqlG,GAAQ55D,EAAU60D,GAAe,KACrC,SAASgF,GAAe3wD,EAAI9wF,EAAM68E,EAASluE,GAC1C,IAAIutC,GAAKl8C,IAASwhJ,GAAMxhJ,GACxB,IAAGk9C,MAAMhB,GAAT,CACA,IAAIxtC,EAAMC,IAAWkuE,GAAS,IAAIluE,QAAU,EACxC2K,EAAIw3E,EAAG5uB,KAAK,GAChB5oD,EAAEqgE,YAAY,EAAGz9B,GACjB5iC,EAAEqgE,YAAY,EAAGjrE,GACdA,EAAM,GAAKugF,GAAOpS,IAAUiU,EAAG/gF,KAAK8sE,IA0BxC,SAASo8B,GAAgB35F,EAAK68B,EAAGzyC,GAMhC,OALI4V,IAAKA,EAAM29D,GAAQ,IACvB39D,EAAIq6D,YAAY,EAAGx9B,GACnB78B,EAAIq6D,YAAY,EAAGjwE,GACnB4V,EAAIq6D,YAAY,EAAG,GACnBr6D,EAAIq6D,YAAY,EAAG,GACZr6D,EAGR,SAASoiI,GAAgBvlG,EAAGzyC,EAAG+M,EAAKylC,GACnC,IAAI58B,EAAM29D,GAAQ,GAIlB,OAHAg8B,GAAgB35F,EAAK68B,EAAGzyC,GAChB,KAALwyC,GAAY58B,EAAIq6D,YAAY,EAAGljE,GAAM6I,EAAIq6D,YAAY,EAAG,KACpDr6D,EAAIq6D,YAAY,EAAGljE,EAAI,EAAE,GAAI6I,EAAIq6D,YAAY,EAAG,IAChDr6D,EAIR,SAASqiI,GAAiBxlG,EAAGzyC,EAAG+M,GAC/B,IAAI6I,EAAM29D,GAAQ,EAAI,EAAExmE,EAAI9H,QAI5B,OAHAsqG,GAAgB35F,EAAK68B,EAAGzyC,GACxB4V,EAAIq6D,YAAY,EAAGljE,EAAI9H,QACvB2Q,EAAIq6D,YAAYljE,EAAI9H,OAAQ8H,EAAK,QAC1B6I,EAAI7S,EAAI6S,EAAI3Q,OAAS2Q,EAAIE,MAAM,EAAGF,EAAI7S,GAAK6S,EAGnD,SAASsiI,GAAoB9wD,EAAIG,EAAM3X,EAAGv4D,GACzC,GAAa,MAAVkwE,EAAK3qF,EAAW,OAAO2qF,EAAK/0C,GAC9B,IAAK,IAAK,IAAK,IACd,IAAI51C,EAAc,KAAV2qF,EAAK/0C,EAAW+rC,GAAQM,GAAU0I,EAAK3qF,IAAM2qF,EAAK3qF,EAK1D,YAJIA,IAAQ,EAAFA,IAAUA,GAAK,GAAOA,EAAI,MACnCm7I,GAAe3wD,EAAI,EAAQqoB,GAAe7/B,EAAGv4D,EAAGza,IAEhDm7I,GAAe3wD,EAAI,EAAQkoB,GAAe1/B,EAAEv4D,EAAGza,KAEjD,IAAK,IAAK,IAAK,IAAwE,YAAnEm7I,GAAe3wD,EAAI,EAAQ4wD,GAAgBpoE,EAAGv4D,EAAGkwE,EAAK3qF,EAAG2qF,EAAK/0C,IAElF,IAAK,IAAK,IAAK,MAEd,YADAulG,GAAe3wD,EAAI,EAAQ6wD,GAAiBroE,EAAGv4D,EAAGkwE,EAAK3qF,IAGzDm7I,GAAe3wD,EAAI,EAAQmoB,GAAgB,KAAM3/B,EAAGv4D,IAGrD,SAAS8gI,GAAe/wD,EAAIqD,EAAIz9E,EAAKrB,GACpC,IACmDnX,EAD/Cg2F,EAAQrzF,MAAMC,QAAQqzF,GACtB7C,EAAQgC,GAAkBa,EAAG,SAAW,MAAY9f,EAAK,GAAIwsC,EAAO,GACxE,GAAGvvB,EAAMjnF,EAAEX,EAAI,KAAQ4nF,EAAMjnF,EAAE8xC,EAAI,MAAQ,CAC1C,GAAG9mC,EAAKy3E,IAAK,MAAM,IAAI/9E,MAAM,UAAYolF,EAAG,SAAW,MAAQ,oCAC/D7C,EAAMjnF,EAAEX,EAAI5H,KAAKsnD,IAAIkoC,EAAMjnF,EAAEX,EAAG,KAChC4nF,EAAMjnF,EAAE8xC,EAAIr6C,KAAKsnD,IAAIkoC,EAAMjnF,EAAEX,EAAG,OAChCxL,EAAMi1F,GAAa7B,GAEpB,IAAI,IAAIhY,EAAIgY,EAAMnxE,EAAEg8B,EAAGm9B,GAAKgY,EAAMjnF,EAAE8xC,IAAKm9B,EAAG,CAC3CjF,EAAKud,GAAWtY,GAChB,IAAI,IAAIv4D,EAAIuwE,EAAMnxE,EAAEzW,EAAGqX,GAAKuwE,EAAMjnF,EAAEX,IAAKqX,EAAG,CACxCu4D,IAAMgY,EAAMnxE,EAAEg8B,IAAG0kE,EAAK9/F,GAAK8wE,GAAW9wE,IACzC7iB,EAAM2iH,EAAK9/F,GAAKszD,EAChB,IAAI4c,EAAOiD,GAASC,EAAG7a,IAAI,IAAIv4D,GAAKozE,EAAGj2F,GACnC+yF,GAEJ2wD,GAAoB9wD,EAAIG,EAAM3X,EAAGv4D,EAAG1L,KAMvC,SAASysI,GAAgBl1C,EAAIv3F,GAC5B,IAAIiE,EAAIjE,GAAQ,GACJ,MAAT44D,GAA4B,MAAX30D,EAAE46E,QAAe56E,EAAE46E,MAAQjmB,GAG/C,IAFA,IAAI6iB,EAAKP,KACL75E,EAAM,EACFtL,EAAE,EAAEA,EAAEwhG,EAAG9Y,WAAWnlF,SAASvD,EAAMwhG,EAAG9Y,WAAW1oF,IAAMkO,EAAEs6E,QAAOl9E,EAAItL,GAC5E,GAAU,GAAPsL,GAAc4C,EAAEs6E,OAASgZ,EAAG9Y,WAAW,IAAMx6E,EAAEs6E,MAAO,MAAM,IAAI7kF,MAAM,oBAAsBuK,EAAEs6E,OAMjG,OALA6tD,GAAe3wD,EAAI,EAAQ6b,GAAUC,EAAI,GAAMtzF,IAE/CuoI,GAAe/wD,EAAI8b,EAAG7Y,OAAO6Y,EAAG9Y,WAAWp9E,IAAOA,EAAK4C,EAAGszF,GAE1D60C,GAAe3wD,EAAI,IACZA,EAAGjhF,MAGX,SAASkyI,GAAkBjxD,EAAI9sF,EAAMqR,GACpCosI,GAAe3wD,EAAI,OAAQmf,GAAW,CACrC51B,GAAG,GACH73D,MAAO,CAACy1E,MAAM,GACdz6F,KAAM,QACNyoH,OAAQ,EACRuK,OAAQ,SACNn7G,IAIJ,SAAS2sI,GAAiBlxD,EAAIigC,EAAI17G,GAC7B07G,GACJ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAO,GAAgB,MAAMv6G,SAAQ,SAAS2lC,GACtE,IAAI,IAAI/wC,EAAI+wC,EAAE,GAAI/wC,GAAK+wC,EAAE,KAAM/wC,EAAe,MAAT2lH,EAAG3lH,IAAYq2I,GAAe3wD,EAAI,SAAU2f,GAAarlG,EAAG2lH,EAAG3lH,GAAIiK,OAIxG,SAAS4sI,GAAWnxD,EAAIqD,GAEvB,IAAI76E,EAAI2jE,GAAQ,IAChB3jE,EAAEqgE,YAAY,EAAG,MAAQrgE,EAAEqgE,YAAY,EAAG,GAAIrgE,EAAEqgE,YAAY,EAAG,GAC/DrgE,EAAEqgE,YAAY,EAAG,GAAIrgE,EAAEqgE,YAAY,EAAG,GAAIrgE,EAAEqgE,YAAY,EAAG,GAC3D8nE,GAAe3wD,EAAI,UAAWx3E,GAE9BA,EAAI2jE,GAAQ,IACZ3jE,EAAEqgE,YAAY,EAAG,MAAQrgE,EAAEqgE,YAAY,EAAG,GAAIrgE,EAAEqgE,YAAY,EAAG,GAC/DrgE,EAAEqgE,YAAY,EAAG,GAAIrgE,EAAEqgE,YAAY,EAAG,GAAIrgE,EAAEqgE,YAAY,EAAG,GAC3DrgE,EAAEqgE,YAAY,EAAG,GAAIrgE,EAAEqgE,YAAY,EAAG,GAAIrgE,EAAEqgE,YAAY,EAAG,GAC3DgyB,GAAYrY,GAAkBa,EAAG,SAAS,MAAO76E,GACjDA,EAAEqgE,YAAY,EAAG,GACjB8nE,GAAe3wD,EAAI,OAAQx3E,GAG5B,SAAS4oI,GAAoBpxD,EAAIz7E,GAChC,IAAI,IAAIjK,EAAI,EAAGA,EAAI,KAAMA,EAAGq2I,GAAe3wD,EAAI,KAAMwiB,GAAS,CAAC7f,SAAS,EAAGlxF,OAAM,GAAO,EAAG8S,IAC3FA,EAAKs8G,QAAQn7G,SAAQ,SAAS9M,GAC7B+3I,GAAe3wD,EAAI,KAAMwiB,GAAS5pG,EAAG,EAAG2L,OAI1C,SAAS8sI,GAAsBrxD,EAAIqD,GAClC,IAAI,IAAI7a,EAAE,EAAGA,EAAE6a,EAAG,UAAUxlF,SAAU2qE,EAAG,CACxC,IAAI8oE,EAAKjuD,EAAG,UAAU7a,GACtBmoE,GAAe3wD,EAAI,QAASwmB,GAAY8qC,IACrCA,EAAG,GAAGh4C,SAASq3C,GAAe3wD,EAAI,eAAgB2mB,GAAmB2qC,WAElEjuD,EAAG,UAGX,SAASkuD,GAAoBvxD,EAAIG,EAAM3X,EAAGv4D,EAAG1L,GAC5C,IAAIqnD,EAAK,GAAKipE,GAAetwH,EAAKs8G,QAAS1gC,EAAM57E,GACjD,GAAa,MAAV47E,EAAK3qF,GAAc2qF,EAAKqzC,GAI3B,GAAGrzC,EAAKqzC,GAAImd,GAAe3wD,EAAI,UAAWqzC,GAAclzC,EAAM3X,EAAGv4D,EAAG1L,EAAMqnD,SACrE,OAAOu0B,EAAK/0C,GAChB,IAAK,IAAK,IAAK,IACd,IAAI51C,EAAc,KAAV2qF,EAAK/0C,EAAW+rC,GAAQM,GAAU0I,EAAK3qF,IAAM2qF,EAAK3qF,EAE1Dm7I,GAAe3wD,EAAI,SAAUijB,GAAaz6B,EAAGv4D,EAAGza,EAAGo2D,EAAIrnD,IACvD,MACD,IAAK,IAAK,IAAK,IACdosI,GAAe3wD,EAAI,IAAQ8iB,GAAct6B,EAAGv4D,EAAGkwE,EAAK3qF,EAAGo2D,EAAIrnD,EAAM47E,EAAK/0C,IACtE,MAED,IAAK,IAAK,IAAK,MACdulG,GAAe3wD,EAAI,QAASwf,GAAYh3B,EAAGv4D,EAAGkwE,EAAK3qF,EAAGo2D,EAAIrnD,IAC1D,MACD,QACCosI,GAAe3wD,EAAI,QAAS8Z,GAActxB,EAAGv4D,EAAG27C,SAlBjD+kF,GAAe3wD,EAAI,QAAS8Z,GAActxB,EAAGv4D,EAAG27C,IAuBlD,SAAS4lF,GAAe5rI,EAAKrB,EAAMu3F,GAClC,IAMI1uG,EANA4yF,EAAKP,KACLpwE,EAAIysF,EAAG9Y,WAAWp9E,GAAMy9E,EAAKyY,EAAG7Y,OAAO5zE,IAAM,GAC7CoiI,GAAQ31C,GAAI,IAAI07B,UAAU,GAC1Bka,GAAWD,EAAIxuD,QAAQ,IAAIr9E,IAAM,GACjCw9E,EAAQrzF,MAAMC,QAAQqzF,GACtB8Y,EAAkB,GAAb53F,EAAK+7E,KACL/c,EAAK,GAAIwsC,EAAO,GACrBvvB,EAAQgC,GAAkBa,EAAG,SAAW,MACxCsuD,EAAWx1C,EAAK,MAAQ,MAC5B,GAAG3b,EAAMjnF,EAAEX,EAAI,KAAQ4nF,EAAMjnF,EAAE8xC,GAAKsmG,EAAU,CAC7C,GAAGptI,EAAKy3E,IAAK,MAAM,IAAI/9E,MAAM,UAAYolF,EAAG,SAAW,MAAQ,oCAC/D7C,EAAMjnF,EAAEX,EAAI5H,KAAKsnD,IAAIkoC,EAAMjnF,EAAEX,EAAG,KAChC4nF,EAAMjnF,EAAE8xC,EAAIr6C,KAAKsnD,IAAIkoC,EAAMjnF,EAAEX,EAAG+4I,EAAS,GAG1ChB,GAAe3wD,EAAI,KAAQ6b,GAAUC,EAAI,GAAMv3F,IAE/CosI,GAAe3wD,EAAI,WAAYqX,GAAY,IAC3Cs5C,GAAe3wD,EAAI,YAAaqX,GAAY,MAC5Cs5C,GAAe3wD,EAAI,cAAemX,IAAU,IAC5Cw5C,GAAe3wD,EAAI,WAAYmX,IAAU,IACzCw5C,GAAe3wD,EAAI,YAAaqG,GAAW,OAC3CsqD,GAAe3wD,EAAI,iBAAkBmX,IAAU,IAC/Cw5C,GAAe3wD,EAAI,cAAemX,IAAU,IAC5Cw5C,GAAe3wD,EAAI,YAAamX,IAAU,IAC1Cw5C,GAAe3wD,EAAI,UAAWqX,GAAY,IAC1Cs5C,GAAe3wD,EAAI,OAAQ2iB,GAAW,CAAC,EAAE,KAIzCguC,GAAe3wD,EAAI,UAAWmX,IAAU,IACxCw5C,GAAe3wD,EAAI,UAAWmX,IAAU,IAExCw5C,GAAe3wD,EAAI,IAAO8f,GAAiBtf,EAAOj8E,IAG/C43F,IAAI9Y,EAAG,UAAY,IACtB,IAAI,IAAI7a,EAAIgY,EAAMnxE,EAAEg8B,EAAGm9B,GAAKgY,EAAMjnF,EAAE8xC,IAAKm9B,EAAG,CAC3CjF,EAAKud,GAAWtY,GAChB,IAAI,IAAIv4D,EAAIuwE,EAAMnxE,EAAEzW,EAAGqX,GAAKuwE,EAAMjnF,EAAEX,IAAKqX,EAAG,CACxCu4D,IAAMgY,EAAMnxE,EAAEg8B,IAAG0kE,EAAK9/F,GAAK8wE,GAAW9wE,IACzC7iB,EAAM2iH,EAAK9/F,GAAKszD,EAChB,IAAI4c,EAAOiD,GAASC,EAAG7a,IAAI,IAAIv4D,GAAKozE,EAAGj2F,GACnC+yF,IAEJoxD,GAAoBvxD,EAAIG,EAAM3X,EAAGv4D,EAAG1L,GACjC43F,GAAMhc,EAAKxkF,GAAG0nF,EAAG,UAAUpkF,KAAK,CAAC7R,EAAK+yF,EAAKxkF,MAGhD,IAAI47H,EAAQma,EAAOva,UAAYua,EAAOhlJ,MAAQ2iB,EAa9C,OAXG8sF,GAAMs1C,EAAI/Y,OAAOiY,GAAe3wD,EAAI,UAAW+e,GAAc0yC,EAAI/Y,MAAM,KAEvEv8B,IAAO9Y,EAAG,YAAY,IAAIxlF,QAAQ8yI,GAAe3wD,EAAI,aAAc6lB,GAAiBxiB,EAAG,aAEvF8Y,GAAIk1C,GAAsBrxD,EAAIqD,GAEjCstD,GAAe3wD,EAAI,WAAYoY,GAAsBm/B,EAAOhzH,IAEzD43F,GAAIg1C,GAAWnxD,EAAIqD,GAEtBstD,GAAe3wD,EAAI,OACZA,EAAGjhF,MAIX,SAAS6yI,GAAmB91C,EAAI99B,EAAMz5D,GACrC,IAAIm7D,EAAI+f,KACJgyD,GAAQ31C,GAAI,IAAI07B,UAAU,GAC1Bqa,EAAWJ,EAAIxuD,QAAQ,GACvB6uD,EAAML,EAAInQ,SAAS,GACnBnlC,EAAkB,GAAb53F,EAAK+7E,KAAW8e,EAAkB,GAAb76F,EAAK+7E,KAiBnC,GAhBAqwD,GAAejxE,EAAG,KAAQm8B,GAAUC,EAAI,EAAMv3F,IAC1B,OAAjBA,EAAKioF,UAAmBmkD,GAAejxE,EAAG,SAC7CixE,GAAejxE,EAAG,eAAgBy8B,EAAK9E,GAAY,MAAU,MAC7Ds5C,GAAejxE,EAAG,MAAOu3B,GAAY,IAClCmI,GAAIuxC,GAAejxE,EAAG,cACtB0/B,GAAIuxC,GAAejxE,EAAG,cACzBixE,GAAejxE,EAAG,gBAClBixE,GAAejxE,EAAG,cAAew8B,GAAkB,UAAW33F,IAE9DosI,GAAejxE,EAAG,WAAY23B,GAAY8E,EAAK,KAAS,OAErDA,GAAIw0C,GAAejxE,EAAG,MAAO23B,GAAY,IACzC8E,GAAIw0C,GAAejxE,EAAG,cACzBixE,GAAejxE,EAAG,UAAW+nC,GAAc3L,EAAG9Y,WAAWnlF,SACtDs+F,GAAML,EAAGw7B,QAAQqZ,GAAejxE,EAAG,UAEnCy8B,GAAML,EAAGw7B,OAAQ,CACnB,IAAIC,EAAQua,EAAI3a,UAAY,eAC5BwZ,GAAejxE,EAAG,WAAY04B,GAAsBm/B,EAAOhzH,IAE5DosI,GAAejxE,EAAG,sBAAuB23B,GAAY,KAIrDs5C,GAAejxE,EAAG,aAAcy3B,IAAU,IAC1Cw5C,GAAejxE,EAAG,UAAWy3B,IAAU,IACvCw5C,GAAejxE,EAAG,WAAY23B,GAAY,IACvC8E,GAAIw0C,GAAejxE,EAAG,WAAYy3B,IAAU,IAC5CgF,GAAIw0C,GAAejxE,EAAG,eAAgB23B,GAAY,IACrDs5C,GAAejxE,EAAG,UAAWk/B,GAAcr6F,IAC3CosI,GAAejxE,EAAG,SAAUy3B,IAAU,IACtCw5C,GAAejxE,EAAG,UAAW23B,GAAY,IACzCs5C,GAAejxE,EAAG,WAAYy3B,GAAwB,QAAdsqC,GAAS3lC,KACjD60C,GAAejxE,EAAG,gBAAiBy3B,IAAU,IAC1CgF,GAAIw0C,GAAejxE,EAAG,aAAcy3B,IAAU,IACjDw5C,GAAejxE,EAAG,WAAY23B,GAAY,IAE1C45C,GAAkBvxE,EAAGo8B,EAAIv3F,GACzB2sI,GAAiBxxE,EAAGo8B,EAAG59B,IAAK35D,GAC5B6sI,GAAoB1xE,EAAGn7D,GAEpB43F,GAAIw0C,GAAejxE,EAAG,WAAYy3B,IAAU,IAC/C,IAAI/nG,EAAIswE,EAAE3gE,MAENkR,EAAIwvE,KAEL0c,GAAIw0C,GAAe1gI,EAAG,UAAW62F,MAIpC6pC,GAAe1gI,EAAG,OAClB,IAAIrX,EAAIqX,EAAElR,MAENogE,EAAIsgB,KACJsyD,EAAO,EAAGt3I,EAAI,EAClB,IAAIA,EAAI,EAAGA,EAAIqhG,EAAG9Y,WAAWnlF,SAAUpD,EAAGs3I,IAAS51C,EAAK,GAAK,KAAOA,EAAK,EAAI,GAAKL,EAAG9Y,WAAWvoF,GAAGoD,OACnG,IAAIiB,EAAQ1P,EAAEyO,OAASk0I,EAAOn5I,EAAEiF,OAChC,IAAIpD,EAAI,EAAGA,EAAIqhG,EAAG9Y,WAAWnlF,SAAUpD,EAAG,CACzC,IAAIi3I,EAASG,EAAQp3I,IAAM,GAC3Bk2I,GAAexxE,EAAG,cAAes9B,GAAkB,CAAC1kD,IAAIj5C,EAAO09F,GAAGk1C,EAAOrP,QAAQ,EAAG/8D,GAAG,EAAG54E,KAAKovG,EAAG9Y,WAAWvoF,IAAK8J,IAClHzF,GAASk/D,EAAKvjE,GAAGoD,OAGlB,IAAIrF,EAAI2mE,EAAEpgE,MACV,GAAGgzI,GAAQv5I,EAAEqF,OAAQ,MAAM,IAAII,MAAM,OAAS8zI,EAAO,OAASv5I,EAAEqF,QAEhE,IAAI2Q,EAAM,GAIV,OAHGpf,EAAEyO,QAAQ2Q,EAAIvP,KAAK7P,GACnBoJ,EAAEqF,QAAQ2Q,EAAIvP,KAAKzG,GACnBI,EAAEiF,QAAQ2Q,EAAIvP,KAAKrG,GACfg0E,GAAW,CAACp+D,IAIpB,SAASwjI,GAAgBl2C,EAAIv3F,GAC5B,IAAIiE,EAAIjE,GAAQ,GACZy5D,EAAO,GAER89B,IAAOA,EAAG59B,MACZ49B,EAAG59B,IAAMA,EAAI8I,aAEX80B,GAAMA,EAAG59B,MACXC,EAASD,GAAMA,EAAI+I,WAAW60B,EAAG59B,KAEjC11D,EAAEssH,OAAS79C,GAAU6kB,EAAG59B,KAAM11D,EAAEssH,OAAOh5B,EAAG59B,IAAI,QAAU,EACxD11D,EAAEusH,IAAMj5B,EAAG59B,KAGZ11D,EAAE0wH,QAAU,GAAI1wH,EAAE0wH,QAAQt8B,MAAQ,EAAGp0F,EAAE0wH,QAAQr8B,OAAS,EACxDo1C,GAAezpI,GAEfA,EAAEq4G,QAAU,GACZgU,GAAersH,EAAEq4G,QAAS,GAAI,CAACiU,OAAO,CAAC,QAAU,KAE7Ch5B,EAAGnM,QAAOmM,EAAGnM,MAAQ,IAEzB,IAAI,IAAIr1F,EAAI,EAAGA,EAAIwhG,EAAG9Y,WAAWnlF,SAAUvD,EAAG0jE,EAAKA,EAAKngE,QAAU2zI,GAAel3I,EAAGkO,EAAGszF,GAEvF,OADA99B,EAAK83B,QAAQ87C,GAAmB91C,EAAI99B,EAAMx1D,IACnCokE,GAAW,CAAC5O,IAGpB,SAASyyE,GAAe30C,EAAIv3F,GAC3B,IAAIiE,EAAIjE,GAAQ,GAChB,OAAOiE,EAAE83E,MAAQ,GAChB,KAAK,EAAG,KAAK,EAAG,OAAO0xD,GAAgBl2C,EAAIv3F,GAC3C,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG,OAAOysI,GAAgBl1C,EAAIv3F,GAEpD,MAAM,IAAItG,MAAM,gBAAkBuK,EAAEgkF,SAAW,aAGhD,IAAIm7C,GAAQ,WACX,SAASuK,EAAc9uI,EAAKgrE,GAC3B,IAAI7pE,EAAO6pE,GAAS,GACR,MAATjR,GAA+B,MAAd54D,EAAK6+E,QAAe7+E,EAAK6+E,MAAQjmB,GACrD,IAAIkmB,EAAK9+E,EAAK6+E,MAAQ,GAAO,GAC7BhgF,EAAMA,EAAI3H,QAAQ,cAAe,IACjC,IAAI06H,EAAO/yH,EAAImE,MAAM,WACrB,IAAI4uH,EAAM,MAAM,IAAIl4H,MAAM,wCAC1B,IAAIk0I,EAAQ/uI,EAAImE,MAAM,aAClBjN,EAAI67H,EAAK5gI,MAAOkF,EAAI03I,GAASA,EAAM58I,OAAS6N,EAAIvF,OAChD8b,EAAOw+D,GAAY/0E,EAAIsL,MAAMpU,EAAGG,GAAI,iBAAkB,QACtD+tE,GAAK,EAAGv4D,EAAI,EAAGugG,EAAK,EAAGmwB,EAAK,EAC5BngD,EAAQ,CAACnxE,EAAE,CAACg8B,EAAE,IAAUzyC,EAAE,KAAUW,EAAE,CAAC8xC,EAAE,EAAEzyC,EAAE,IAC7C+sG,EAAS,GACb,IAAIrrG,EAAI,EAAGA,EAAIqf,EAAK9b,SAAUvD,EAAG,CAChC,IAAIhG,EAAMqlB,EAAKrf,GAAGwlC,OACdsyG,EAAK99I,EAAIoa,MAAM,EAAE,GAAGgnC,cACxB,GAAS,OAAN08F,GACH,GAAS,OAANA,GAAqB,OAANA,EAAlB,CACA,IAAIvY,EAAQvlI,EAAIoT,MAAM,cACtB,IAAIjN,EAAI,EAAGA,EAAIo/H,EAAMh8H,SAAUpD,EAAG,CACjC,IAAI0lF,EAAO05C,EAAMp/H,GAAGqlC,OACpB,GAAIqgD,EAAK54E,MAAM,WAAf,CACA,IAAI3L,EAAIukF,EAAMpc,EAAK,EAEnB,MAAqB,KAAfnoE,EAAE0Q,OAAO,KAAcy3D,EAAKnoE,EAAEuC,QAAQ,OAAS,EAAGvC,EAAIA,EAAE8S,MAAMq1D,EAAG,GACvE,IAAI,IAAIsuE,EAAO,EAAGA,EAAO1sC,EAAO9nG,SAAUw0I,EAAM,CAC/C,IAAIxb,EAASlxB,EAAO0sC,GACjBxb,EAAOxnH,EAAEzW,GAAKqX,GAAK4mH,EAAOxnH,EAAEg8B,EAAIm9B,GAAKA,GAAKquD,EAAOt9H,EAAE8xC,IAAKp7B,EAAI4mH,EAAOt9H,EAAEX,EAAI,EAAGy5I,GAAQ,GAExF,IAAI54D,EAAMD,GAAY2G,EAAKzxE,MAAM,EAAGyxE,EAAKhiF,QAAQ,OACjDwiI,EAAKlnD,EAAI64D,SAAW74D,EAAI64D,QAAU,IAC9B9hC,GAAM/2B,EAAI84D,SAAS,GAAK5R,EAAG,IAAGh7B,EAAO1mG,KAAK,CAACoQ,EAAE,CAACg8B,EAAEm9B,EAAE5vE,EAAEqX,GAAG1W,EAAE,CAAC8xC,EAAEm9B,GAAKgoC,GAAI,GAAK,EAAG53G,EAAEqX,EAAI0wH,EAAK,KAC5F,IAAI6R,EAAK/4D,EAAIruC,GAAK,GAElB,GAAIxvC,EAAEiC,QAIN,GAHAjC,EAAI4/E,GAAW5/E,GACZ4kF,EAAMnxE,EAAEg8B,EAAIm9B,IAAGgY,EAAMnxE,EAAEg8B,EAAIm9B,GAAMgY,EAAMjnF,EAAE8xC,EAAIm9B,IAAGgY,EAAMjnF,EAAE8xC,EAAIm9B,GAC5DgY,EAAMnxE,EAAEzW,EAAIqX,IAAGuwE,EAAMnxE,EAAEzW,EAAIqX,GAAMuwE,EAAMjnF,EAAEX,EAAIqX,IAAGuwE,EAAMjnF,EAAEX,EAAIqX,GAC3DrU,EAAEiC,OAAN,CACA,IAAI2K,EAAI,CAAC4iC,EAAE,IAAK51C,EAAEoG,GACf2I,EAAKi6C,MAAQ5iD,EAAEkkC,OAAOjiC,QAAgB,KAAN20I,IACrB,SAAN52I,EAAc4M,EAAI,CAAC4iC,EAAE,IAAK51C,GAAE,GACtB,UAANoG,EAAe4M,EAAI,CAAC4iC,EAAE,IAAK51C,GAAE,GAC5B42C,MAAMyrC,GAASj8E,IACfwwC,MAAM2rC,GAAUn8E,GAAGyN,aAC3Bb,EAAI,CAAE4iC,EAAE,IAAK51C,EAAEiiF,GAAU77E,IACrB2I,EAAKs/E,YAAWr7E,EAAI,CAAE4iC,EAAE,IAAK51C,EAAE2hF,GAAQ3uE,EAAEhT,KAC7CgT,EAAEoxE,EAAIr1E,EAAKsiE,QAAU3I,EAAI6I,OAAO,KAJJv+D,EAAI,CAAC4iC,EAAE,IAAK51C,EAAEqiF,GAASj8E,KAMjD2I,EAAK6+E,OAAaC,EAAG7a,KAAI6a,EAAG7a,GAAK,IAAI6a,EAAG7a,GAAGv4D,GAAKzH,GAC9C66E,EAAG3C,GAAY,CAACr1C,EAAEm9B,EAAG5vE,EAAEqX,KAAOzH,EACnCyH,GAAK0wH,QAjBW1wH,GAAK0wH,SAlBtB,CAAuB,KAAHn4D,EAAMjkE,EAAKglG,WAAahlG,EAAKglG,WAAa/gC,EAAG,GAAIA,EAAG,MAASv4D,EAAI,GAwCtF,OAFAozE,EAAG,QAAUhB,GAAa7B,GACvBmlB,EAAO9nG,SAAQwlF,EAAG,WAAasiB,GAC3BtiB,EAER,SAASovD,EAAarvI,EAAKmB,GAC1B,OAAOs+E,GAAkBqvD,EAAc9uI,EAAKmB,GAAOA,GAEpD,SAASmuI,EAAcrvD,EAAIh4C,EAAGm9B,EAAGhgE,GAGhC,IAFA,IAAI0H,EAAKmzE,EAAG,YAAa,GACrB1E,EAAK,GACD1uE,EAAIo7B,EAAEh8B,EAAEzW,EAAGqX,GAAKo7B,EAAE9xC,EAAEX,IAAKqX,EAAG,CAEnC,IADA,IAAIugG,EAAK,EAAGmwB,EAAK,EACTlmI,EAAI,EAAGA,EAAIyV,EAAErS,SAAUpD,EAC9B,KAAGyV,EAAEzV,GAAG4U,EAAEg8B,EAAIm9B,GAAKt4D,EAAEzV,GAAG4U,EAAEzW,EAAIqX,MAC3BC,EAAEzV,GAAGlB,EAAE8xC,EAAIm9B,GAAKt4D,EAAEzV,GAAGlB,EAAEX,EAAIqX,GAA9B,CACA,GAAGC,EAAEzV,GAAG4U,EAAEg8B,EAAIm9B,GAAKt4D,EAAEzV,GAAG4U,EAAEzW,EAAIqX,EAAG,CAAEugG,GAAM,EAAG,MAC5CA,EAAKtgG,EAAEzV,GAAGlB,EAAE8xC,EAAIn7B,EAAEzV,GAAG4U,EAAEg8B,EAAI,EAAGs1F,EAAKzwH,EAAEzV,GAAGlB,EAAEX,EAAIsX,EAAEzV,GAAG4U,EAAEzW,EAAI,EAAG,MAE7D,KAAG43G,EAAK,GAAR,CACA,IAAIC,EAAQ/vB,GAAY,CAACr1C,EAAEm9B,EAAE5vE,EAAEqX,IAC3BkwE,EAAO33E,EAAE46E,OAASC,EAAG7a,IAAI,IAAIv4D,GAAKozE,EAAGotB,GAErChiG,EAAK0xE,GAAkB,MAAVA,EAAK3qF,IAAe2qF,EAAK9lF,GAAKqgF,GAAWyF,EAAK1xE,IAAMm0E,GAAYzC,GAAOA,EAAK1xE,IAAM,MAAQ,GACvGojH,EAAK,GACNrhB,EAAK,IAAGqhB,EAAG0gB,QAAU/hC,GACrBmwB,EAAK,IAAG9O,EAAGygB,QAAU3R,GACxB9O,EAAGzmF,EAAI+0C,GAAQA,EAAK/0C,GAAK,IACtB5iC,EAAEmqI,WAAUlkI,EAAI,gCAAkCA,EAAI,WACzDojH,EAAGnkI,IAAM8a,EAAE9a,IAAM,OAAS,IAAM+iH,EAChC9xB,EAAG1/E,KAAKm9E,GAAU,KAAM3tE,EAAGojH,KAE5B,IAAIthB,EAAW,OACf,OAAOA,EAAW5xB,EAAGz/E,KAAK,IAAM,QAEjC,SAAS0zI,EAAmBvvD,EAAI7a,EAAGhgE,GAClC,IAAIgG,EAAM,GACV,OAAOA,EAAItP,KAAK,IAAM,UAAYsJ,GAAKA,EAAE9a,GAAK,QAAU8a,EAAE9a,GAAK,IAAM,IAAM,IAE5E,IAAImlJ,EAAS,sFACTC,EAAO,iBACX,SAASC,EAAc1vD,EAAI9+E,GAC1B,IAAIiE,EAAIjE,GAAQ,GACZ6vC,EAAqB,MAAZ5rC,EAAE4rC,OAAiB5rC,EAAE4rC,OAASy+F,EACvCtrC,EAAqB,MAAZ/+F,EAAE++F,OAAiB/+F,EAAE++F,OAASurC,EACvCtkI,EAAM,CAAC4lC,GACP/I,EAAI+2C,GAAaiB,EAAG,SACxB76E,EAAE46E,MAAQrzF,MAAMC,QAAQqzF,GACxB70E,EAAIvP,KAAK2zI,EAAmBvvD,EAAIh4C,EAAG7iC,IACnC,IAAI,IAAIggE,EAAIn9B,EAAEh8B,EAAEg8B,EAAGm9B,GAAKn9B,EAAE9xC,EAAE8xC,IAAKm9B,EAAGh6D,EAAIvP,KAAKyzI,EAAcrvD,EAAIh4C,EAAGm9B,EAAGhgE,IAErE,OADAgG,EAAIvP,KAAK,WAAasoG,GACf/4F,EAAItP,KAAK,IAGjB,MAAO,CACNqrG,YAAakoC,EACbjoC,SAAU0nC,EACVc,KAAMN,EACNO,MAAOJ,EACPK,IAAKJ,EACLK,UAAWP,EACXnoC,WAAYsoC,GAnHF,GAuHZ,SAASK,GAAgBnzH,EAAOmuD,GAC/B,IAAI7pE,EAAO6pE,GAAS,GACR,MAATjR,IAAe54D,EAAK6+E,MAAQjmB,GAQ/B,IAPA,IAAIkmB,EAAK9+E,EAAK6+E,MAAQ,GAAO,GACzBzpE,EAAOsG,EAAMuL,qBAAqB,MAClC+9E,EAAYhlG,EAAKglG,WAAa,IAC9B/oB,EAAQ,CAACnxE,EAAE,CAACg8B,EAAE,EAAEzyC,EAAE,GAAGW,EAAE,CAAC8xC,EAAE,EAAEzyC,EAAE,IAC9B+sG,EAAS,GAAI0sC,EAAO,EACpB3jC,EAAU,GACVprB,EAAK,EAAG9a,EAAI,EAAG+a,EAAK,EAAGtzE,EAAI,EAAGugG,EAAK,EAAGmwB,EAAK,EACzCr9C,EAAK3pE,EAAK9b,QAAU2qE,EAAI+gC,IAAajmB,EAAI,CAC9C,IAAIhvF,EAAMqlB,EAAK2pE,GACf,GAAI+vD,GAAsB/+I,GAAM,CAC/B,GAAIiQ,EAAKgpB,QAAS,SAClBmhF,EAAQlmC,GAAK,CAAC+zB,QAAQ,GAEvB,IAAI+2C,EAAQh/I,EAAY,SACxB,IAAIivF,EAAKtzE,EAAI,EAAGszE,EAAK+vD,EAAKz1I,SAAU0lF,EAAI,CACvC,IAAIrV,EAAMolE,EAAK/vD,GACf,IAAIh/E,EAAKgpB,UAAW8lH,GAAsBnlE,GAA1C,CACA,IAAI14E,EAAIgmF,GAAWtN,EAAIqlE,WACvB,IAAIlB,EAAO,EAAGA,EAAO1sC,EAAO9nG,SAAUw0I,EAAM,CAC3C,IAAIz2I,EAAI+pG,EAAO0sC,GACZz2I,EAAEyT,EAAEzW,GAAKqX,GAAKrU,EAAEyT,EAAEg8B,GAAKm9B,GAAKA,GAAK5sE,EAAErC,EAAE8xC,IAAKp7B,EAAIrU,EAAErC,EAAEX,EAAE,EAAGy5I,GAAQ,GAGnE1R,GAAMzyD,EAAI7pC,aAAa,YAAc,IACjCmsE,GAAMtiC,EAAI7pC,aAAa,YAAY,GAAKs8F,EAAG,IAAGh7B,EAAO1mG,KAAK,CAACoQ,EAAE,CAACg8B,EAAEm9B,EAAE5vE,EAAEqX,GAAG1W,EAAE,CAAC8xC,EAAEm9B,GAAKgoC,GAAI,GAAK,EAAG53G,EAAEqX,EAAI0wH,EAAK,KAC5G,IAAIn4H,EAAI,CAAC4iC,EAAE,IAAK51C,EAAEA,GACdg9I,EAAKtkE,EAAI7pC,aAAa,MAAQ,GAC1B,MAAL7uC,IACa,GAAZA,EAAEqI,OAAa2K,EAAE4iC,EAAIonG,GAAM,IACtBjuI,EAAKi6C,KAA0B,GAAnBhpD,EAAEsqC,OAAOjiC,QAAqB,KAAN20I,IAC9B,SAANh9I,EAAcgT,EAAI,CAAC4iC,EAAE,IAAK51C,GAAE,GACtB,UAANA,EAAegT,EAAI,CAAC4iC,EAAE,IAAK51C,GAAE,GAC5B42C,MAAMyrC,GAASriF,IACf42C,MAAM2rC,GAAUviF,GAAG6T,aAC3Bb,EAAI,CAAE4iC,EAAE,IAAK51C,EAAEiiF,GAAUjiF,IACrB+O,EAAKs/E,YAAWr7E,EAAI,CAAE4iC,EAAE,IAAK51C,EAAE2hF,GAAQ3uE,EAAEhT,KAC7CgT,EAAEoxE,EAAIr1E,EAAKsiE,QAAU3I,EAAI6I,OAAO,KAJJv+D,EAAI,CAAC4iC,EAAE,IAAK51C,EAAEqiF,GAASriF,MAOlD+O,EAAK6+E,OAAaC,EAAG7a,KAAI6a,EAAG7a,GAAK,IAAI6a,EAAG7a,GAAGv4D,GAAKzH,GAC9C66E,EAAG3C,GAAY,CAAC9nF,EAAEqX,EAAGo7B,EAAEm9B,KAAOhgE,EAChCg4E,EAAMjnF,EAAEX,EAAIqX,IAAGuwE,EAAMjnF,EAAEX,EAAIqX,GAC9BA,GAAK0wH,KAEJn4D,EAOH,OALGm9B,EAAO9nG,SAAQwlF,EAAG,WAAasiB,GAC/B+I,EAAQ7wG,SAAQwlF,EAAG,SAAWqrB,GACjCluB,EAAMjnF,EAAE8xC,EAAIm9B,EAAI,EAChB6a,EAAG,QAAUhB,GAAa7B,GACvBhY,GAAK+gC,IAAWlmB,EAAG,YAAchB,IAAc7B,EAAMjnF,EAAE8xC,EAAI1xB,EAAK9b,OAAOylF,EAAG9a,EAAE,EAAEgY,KAC1E6C,EAGR,SAASmwD,GAAcvzH,EAAO1b,GAC7B,OAAOs+E,GAAkBuwD,GAAgBnzH,EAAO1b,GAAOA,GAGxD,SAAS8uI,GAAsBvuG,GAC9B,IAAIvX,EAAU,GACVkmH,EAAqBC,GAAgC5uG,GAGzD,OAFG2uG,IAAoBlmH,EAAUkmH,EAAmB3uG,GAAS6uG,iBAAiB,YAC1EpmH,IAASA,EAAUuX,EAAQrzC,MAAM87B,SAClB,SAAZA,EAIR,SAASmmH,GAAgC5uG,GAExC,OAAGA,EAAQ7E,cAActV,aAA6E,oBAAvDma,EAAQ7E,cAActV,YAAYC,iBAAwCka,EAAQ7E,cAActV,YAAYC,iBAE5H,oBAArBA,iBAAwCA,iBAC3C,KAGR,IAAIgpH,GAAoB,WAEvB,IAAIC,EAAe,SAASv6H,GAE3B,IAAIw6H,EAAQx6H,EACV7d,QAAQ,YAAa,KAAKqkC,OAAOrkC,QAAQ,MAAO,KAChDA,QAAQ,cAAc,KACtBA,QAAQ,8BAA8B,SAASqnE,EAAGC,GAAM,OAAOhzE,MAAMw8B,SAASw2C,EAAG,IAAI,GAAG7jE,KAAK,QAC7FzD,QAAQ,qBAAqB,MAC7BA,QAAQ,uBAAuB,MAC7BjG,EAAI0kF,GAAY45D,EAAMr4I,QAAQ,WAAW,KAE7C,MAAO,CAACjG,IAGLu+I,EAAiB,CAEpB1hJ,IAAe,CAAC,IAAO,MACvBkf,MAAe,CAAC,IAAO,MACvBD,KAAe,CAAC,IAAO,MACvBmoD,MAAe,CAAC,IAAO,MACvBC,QAAe,CAAC,IAAO,MACvBC,QAAe,CAAC,IAAO,MACvB,QAAe,CAAC,MAAO,SACvB,cAAe,CAAC,MAAO,QACvBq6E,IAAe,CAAC,IAAO,MAEvBC,QAAe,CAAC,OAAQ,oBAGzB,OAAO,SAAap7I,EAAGu1E,GACtB,IAAI7pE,EAAO6pE,GAAS,GACR,MAATjR,GAA+B,MAAd54D,EAAK6+E,QAAe7+E,EAAK6+E,MAAQjmB,GACrD,IACgB5+D,EACZk7E,EAEAy6D,EACAC,EAGA7lD,EAAI59B,EAEsB0jF,EAV1BhxI,EAAMorF,GAAe31F,GACrBpB,EAAQ,GAER48I,EAAQ,CAAC3nJ,KAAK,IAAKuzH,EAAK,GAAIioB,EAAO,EAGnCjlD,EAAS,GAAID,EAAa,GAC1BK,EAAK9+E,EAAK6+E,MAAQ,GAAO,GAEzBkxD,EAAO,CAAEtoJ,MAAM,IACfuoJ,EAAQ,GAAIC,EAAW,EACvBC,EAAQ,GACRjsE,GAAK,EAAGv4D,GAAK,EAAGuwE,EAAQ,CAACnxE,EAAG,CAACg8B,EAAE,IAAQzyC,EAAE,KAAWW,EAAG,CAAC8xC,EAAE,EAAGzyC,EAAE,IAC/D87I,EAAS,EACTC,EAAoB,GACpBhvC,EAAS,GAAIivC,EAAS,GAAIC,EAAK,EAAGC,EAAK,EACvCpmC,EAAU,GAAIqmC,EAAU,EAAGC,EAAU,EACrCriB,EAAS,GACT/lC,EAAK,CAAC0rC,MAAM,IACZ2c,EAAO,GACPC,EAAO,CAAC,GAAI,IACZzqD,EAAW,GAAI17C,EAAU,GACzBomG,EAAU,GAAIC,EAAa,EAC3BC,GAAS,EAAOC,GAAU,EAC1Bh7I,EAAI,EACRm0F,GAAU45C,UAAY,EACtBjlI,EAAMA,EAAI3H,QAAQ,sBAAsB,IAAIA,QAAQ,+BAA+B,IACnF,MAAO6yF,EAAKG,GAAUC,KAAKtrF,GAAO,OAAQkrF,EAAG,GAAGA,EAAG,GAAG7yF,QAAQ,OAAO,KAEpE,IAAK,QAAS,IAAK,MACP,MAAR6yF,EAAG,IACF9N,EAAMjnF,EAAEX,GAAK4nF,EAAMnxE,EAAEzW,GAAK4nF,EAAMjnF,EAAE8xC,GAAKm1C,EAAMnxE,EAAEg8B,IAAGg4C,EAAG,QAAUhB,GAAa7B,IAC5Ej8E,EAAKglG,UAAY,GAAKhlG,EAAKglG,WAAa/oB,EAAMjnF,EAAE8xC,IAClDg4C,EAAG,YAAcA,EAAG,QACpB7C,EAAMjnF,EAAE8xC,EAAI9mC,EAAKglG,UAAY,EAC7BlmB,EAAG,QAAUhB,GAAa7B,IAExBmlB,EAAO9nG,SAAQwlF,EAAG,WAAasiB,GAC/B+I,EAAQ7wG,SAAQwlF,EAAG,SAAWqrB,GACjCwlC,EAAQxnJ,KAAOwnJ,EAAQ,OAASA,EAAQxnJ,KACrB,qBAATiG,MAAsBA,KAAKE,UAAUqhJ,GAC/ClxD,EAAW/jF,KAAKi1I,EAAQxnJ,MACxBu2F,EAAOixD,EAAQxnJ,MAAQ22F,EACvBiyD,GAAU,GAE8B,MAAjChnD,EAAG,GAAGhiF,OAAOgiF,EAAG,GAAGzwF,OAAO,KACjCq2I,EAAU16D,GAAY8U,EAAG,IAAI,GAC7B9lB,EAAIv4D,GAAK,EACTuwE,EAAMnxE,EAAEg8B,EAAIm1C,EAAMnxE,EAAEzW,EAAI,IAAU4nF,EAAMjnF,EAAE8xC,EAAIm1C,EAAMjnF,EAAEX,EAAI,EAC1DyqF,EAAK9+E,EAAK6+E,MAAQ,GAAO,GAAMuiB,EAAS,GACxC+I,EAAU,GACV4mC,GAAU,GAEX,MAED,IAAK,kBACS,MAAVhnD,EAAG,KAAcomD,IAAeA,EACnC,MACD,IAAK,YAAa,IAAK,IACtB,GAAa,MAAVpmD,EAAG,GAAY,CAAE9lB,GAAGusE,EAASA,EAAU,EAAG,MAK7C,GAJAZ,EAAS36D,GAAY8U,EAAG,IAAI,GACzB6lD,EAAO,MAAO3rE,EAAI2rE,EAAO,MAAQ,GAAiB,GAAN3rE,IAASA,EAAI,GAC5DusE,GAAWZ,EAAO,yBAA2B,EAE1CY,EAAU,GAAI,IAAIz6I,EAAI,EAAGA,EAAIy6I,IAAWz6I,EAAMo6I,EAAS,IAAGhmC,EAAQlmC,EAAIluE,GAAK,CAAC4jD,MAAOw2F,IACtFzkI,GAAK,EAAG,MACT,IAAK,qBACS,MAAVq+E,EAAG,MAAcr+E,EACjB1L,EAAKq/E,aACJr/E,EAAK6+E,OAAaC,EAAG7a,KAAI6a,EAAG7a,GAAK,IAAI6a,EAAG7a,GAAGv4D,GAAK,CAACm7B,EAAE,MACjDi4C,EAAG3C,GAAY,CAACr1C,EAAEm9B,EAAE5vE,EAAEqX,KAAO,CAACm7B,EAAE,MAEtCmpG,EAAQ,GAAIE,EAAQ,GACpB,MACD,IAAK,aAAc,IAAK,KACvB,GAAoC,MAAjCnmD,EAAG,GAAGhiF,OAAOgiF,EAAG,GAAGzwF,OAAO,KAC1BoS,EACFqkI,EAAO96D,GAAY8U,EAAG,IAAI,GAC1B0mD,EAAUzoH,SAAS+nH,EAAK,4BAA4B,IAAK,IACzD5jF,EAAI,CAAEtlB,EAAE,IAAK51C,EAAE,MACZ8+I,EAAKplC,SAA+B,GAApB3qG,EAAKm2H,cAAsBhqE,EAAE72D,EAAIi6H,GAAmB55C,GAAYo6D,EAAKplC,WAC7C,WAAvColC,EAAK,SAAWA,EAAK,iBACxB5jF,EAAEtlB,EAAI,IAAKslB,EAAEl7D,EAAI0kF,GAAYo6D,EAAK,iBAAmB,IAClD/vI,EAAK6+E,OACHC,EAAG7a,KAAI6a,EAAG7a,GAAK,IACnB6a,EAAG7a,GAAGv4D,GAAKygD,GAEX2yB,EAAG3C,GAAY,CAACr1C,EAAEm9B,EAAE5vE,EAAEqX,KAAOygD,GAG/BzgD,GAAI+kI,EAAQ,OACN,GAAW,MAAR1mD,EAAG,GAAU,GACpBr+E,EACF+kI,EAAU,EACV,IAAIO,EAAOR,EAAUvsE,EAAIusE,EAAU,EAAIvsE,EAQvC,GAPGv4D,EAAIuwE,EAAMjnF,EAAEX,IAAG4nF,EAAMjnF,EAAEX,EAAIqX,GAC3BA,EAAIuwE,EAAMnxE,EAAEzW,IAAG4nF,EAAMnxE,EAAEzW,EAAIqX,GAC3Bu4D,EAAIgY,EAAMnxE,EAAEg8B,IAAGm1C,EAAMnxE,EAAEg8B,EAAIm9B,GAC3B+sE,EAAO/0D,EAAMjnF,EAAE8xC,IAAGm1C,EAAMjnF,EAAE8xC,EAAIkqG,GACjCjB,EAAO96D,GAAY8U,EAAG,IAAI,GAC1B7D,EAAW,GAAI17C,EAAU,GACzB2hB,EAAI,CAAEtlB,EAAEkpG,EAAK,SAAWA,EAAK,cAAe9+I,EAAE,MAC3C+O,EAAKm2H,YASP,GARG4Z,EAAKplC,UAASolC,EAAKplC,QAAUh1B,GAAYo6D,EAAKplC,UAC9ColC,EAAK,kCAAoCA,EAAK,gCAChDO,EAAKtoH,SAAS+nH,EAAK,8BAA8B,KAAO,EACxDQ,EAAKvoH,SAAS+nH,EAAK,iCAAiC,KAAO,EAC3DM,EAAS,CAACvlI,EAAG,CAACg8B,EAAEm9B,EAAE5vE,EAAEqX,GAAI1W,EAAE,CAAC8xC,EAAEm9B,EAAIqsE,EAAG,EAAEj8I,EAAEqX,EAAI6kI,EAAG,IAC/CpkF,EAAEpgD,EAAI+xE,GAAauyD,GACnBjiB,EAAO1zH,KAAK,CAAC21I,EAAQlkF,EAAEpgD,KAErBgkI,EAAKplC,QAASx+C,EAAE72D,EAAIi6H,GAAmBwgB,EAAKplC,cAC1C,IAAI50G,EAAI,EAAGA,EAAIq4H,EAAO90H,SAAUvD,EACjCkuE,GAAKmqD,EAAOr4H,GAAG,GAAG+U,EAAEg8B,GAAKm9B,GAAKmqD,EAAOr4H,GAAG,GAAGf,EAAE8xC,GAC5Cp7B,GAAK0iH,EAAOr4H,GAAG,GAAG+U,EAAEzW,GAAKqX,GAAK0iH,EAAOr4H,GAAG,GAAGf,EAAEX,IAC/C83D,EAAEpgD,EAAIqiH,EAAOr4H,GAAG,IAapB,QAXGg6I,EAAK,2BAA6BA,EAAK,0BACzCO,EAAKtoH,SAAS+nH,EAAK,uBAAuB,KAAO,EACjDQ,EAAKvoH,SAAS+nH,EAAK,0BAA0B,KAAO,EACpDM,EAAS,CAACvlI,EAAG,CAACg8B,EAAEm9B,EAAE5vE,EAAEqX,GAAI1W,EAAE,CAAC8xC,EAAEm9B,EAAIqsE,EAAG,EAAEj8I,EAAEqX,EAAI6kI,EAAG,IAC/CnvC,EAAO1mG,KAAK21I,IAIVN,EAAK,6BAA4BU,EAAUzoH,SAAS+nH,EAAK,2BAA4B,KAGjF5jF,EAAEtlB,GACR,IAAK,UAAWslB,EAAEtlB,EAAI,IAAKslB,EAAEl7D,EAAIwlF,GAAas5D,EAAK,kBAAmB,MACtE,IAAK,QAAS5jF,EAAEtlB,EAAI,IAAKslB,EAAEl7D,EAAIgxE,WAAW8tE,EAAKtoJ,OAAQ,MACvD,IAAK,aAAc0kE,EAAEtlB,EAAI,IAAKslB,EAAEl7D,EAAIgxE,WAAW8tE,EAAKtoJ,OAAQ,MAC5D,IAAK,WAAY0kE,EAAEtlB,EAAI,IAAKslB,EAAEl7D,EAAIgxE,WAAW8tE,EAAKtoJ,OAAQ,MAC1D,IAAK,OAAQ0kE,EAAEtlB,EAAI,IAAKslB,EAAEl7D,EAAIiiF,GAAU68D,EAAK,eACxC/vI,EAAKs/E,YAAanzB,EAAEtlB,EAAI,IAAKslB,EAAEl7D,EAAI2hF,GAAQzmB,EAAEl7D,IACjDk7D,EAAEkpB,EAAI,SAAU,MACjB,IAAK,OAAQlpB,EAAEtlB,EAAI,IAAKslB,EAAEl7D,EAAI6hF,GAAai9D,EAAK,eAAe,MAAO,MACtE,IAAK,SAAU5jF,EAAEtlB,EAAI,IAAKslB,EAAEl7D,EAAIgxE,WAAW8tE,EAAK,SAAU,MAC1D,QACC,GAAW,WAAR5jF,EAAEtlB,GAA0B,SAARslB,EAAEtlB,GAAiBslB,EAAEtlB,EAGrC,MAAM,IAAIntC,MAAM,0BAA4ByyD,EAAEtlB,GAFpDslB,EAAEtlB,EAAI,IACqB,MAAxBkpG,EAAK,kBAA2BC,EAAQr6D,GAAYo6D,EAAK,iBAAkBG,EAAQ,SAGnF,CAWN,GAVAY,GAAS,EACE,MAAR3kF,EAAEtlB,IACJslB,EAAEl7D,EAAI++I,GAAS,GACZE,EAAM52I,SAAQ6yD,EAAE8X,EAAIisE,GACvBY,EAAqB,GAAZb,GAEPS,EAAKznD,SAAQ98B,EAAE/0D,EAAIs5I,GACnBxqD,EAAS5sF,OAAS,IAAK6yD,EAAE93D,EAAI6xF,EAAUA,EAAW,IAClD8pD,IAA2B,IAAlBhwI,EAAKkuG,WAAoB/hD,EAAEjiD,EAAI8lI,GACxCc,IAAU3kF,EAAEtlB,EAAI,WAAYslB,EAAEl7D,KAC7B6/I,GAAU9wI,EAAKq/E,eACbr/E,EAAKglG,WAAahlG,EAAKglG,WAAa/gC,GACxC,IAAI,IAAIgtE,EAAM,EAAGA,EAAMT,IAAWS,EAAK,CAEtC,GADAR,EAAUzoH,SAAS+nH,EAAK,4BAA4B,IAAK,IACtD/vI,EAAK6+E,MAAO,CACVC,EAAG7a,EAAIgtE,KAAMnyD,EAAG7a,EAAIgtE,GAAO,IAC/BnyD,EAAG7a,EAAIgtE,GAAKvlI,GAAY,GAAPulI,EAAW9kF,EAAIknB,GAAIlnB,GACpC,QAAQskF,EAAU,EAAG3xD,EAAG7a,EAAIgtE,GAAKvlI,EAAI+kI,GAAWp9D,GAAIlnB,OAC9C,CACN2yB,EAAG3C,GAAY,CAACr1C,EAAEm9B,EAAIgtE,EAAI58I,EAAEqX,KAAOygD,EACnC,QAAQskF,EAAU,EAAG3xD,EAAG3C,GAAY,CAACr1C,EAAEm9B,EAAIgtE,EAAI58I,EAAEqX,EAAI+kI,KAAap9D,GAAIlnB,GAEpE8vB,EAAMjnF,EAAEX,GAAKqX,IAAGuwE,EAAMjnF,EAAEX,EAAIqX,GAIlC+kI,EAAUzoH,SAAS+nH,EAAK,4BAA4B,IAAK,IACzDrkI,GAAK+kI,EAAQ,EAAGA,EAAU,EAC1BtkF,EAAI,GACJ6jF,EAAQ,GAAIE,EAAQ,GAErBQ,EAAO,GACP,MAGD,IAAK,WACL,IAAK,mBAAoB,IAAK,SAC9B,IAAK,cAAe,IAAK,KACzB,IAAK,UACL,IAAK,SACL,IAAK,kBACJ,GAAW,MAAR3mD,EAAG,IAAU,IAAI/vF,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,KAAM,cAAc/vF,MAC5B,MAAjC+vF,EAAG,GAAGhiF,OAAOgiF,EAAG,GAAGzwF,OAAO,IAAYpG,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,IACjE,MAED,IAAK,aACJ,GAAW,MAARA,EAAG,GAAS,CACd,IAAI/vF,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,KAAM,cAAc/vF,EACrDwwC,EAAQ3D,EAAImpG,EACTE,EAAM52I,SAAQkxC,EAAQy5B,EAAIisE,GAC7B1lG,EAAQ3/C,EAAI+lJ,EACZ1qD,EAASxrF,KAAK8vC,OAE0B,MAAjCu/C,EAAG,GAAGhiF,OAAOgiF,EAAG,GAAGzwF,OAAO,IAAapG,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,IAClE6mD,EAAU,GAAIC,EAAa,EAC3Bb,EAAQ,GAAIC,EAAW,EAAGC,EAAQ,GAClC,MAED,IAAK,UACO,MAARnmD,EAAG,GAAY6mD,EAAU/xI,EAAIsL,MAAM0mI,EAAW9mD,EAAG/4F,OAC/C6/I,EAAa9mD,EAAG/4F,MAAQ+4F,EAAG,GAAGzwF,OACnC,MAGD,IAAK,OAAQ,IAAK,MAClB,IAAK,WACL,IAAK,kBACL,IAAK,0BACL,IAAK,wBACL,IAAK,wBACL,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,QACL,IAAK,oBACL,IAAK,aACL,IAAK,OACL,IAAK,YACL,IAAK,kBACL,IAAK,QACJ,GAAW,MAARywF,EAAG,IAAU,IAAI/vF,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,KAAM,cAAc/vF,MAC5B,MAAjC+vF,EAAG,GAAGhiF,OAAOgiF,EAAG,GAAGzwF,OAAO,IAAYpG,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,IACjEimD,EAAQ,GAAIC,EAAW,EAAGC,EAAQ,GAClC,MAED,IAAK,oBACJ,MACD,IAAK,kBACJ,MACD,IAAK,iBACJ,MACD,IAAK,eACL,IAAK,mBACL,IAAK,aACL,IAAK,aACJ,GAAW,MAARnmD,EAAG,IAEL,GADAqmD,EAAkBN,EAAM3nJ,MAAQuzH,GAC5B1hH,EAAI9G,EAAMyP,OAAO,KAAKonF,EAAG,GAAI,KAAM,cAAc/vF,MACX,MAAjC+vF,EAAG,GAAGhiF,OAAOgiF,EAAG,GAAGzwF,OAAO,KACnCoiH,EAAK,GACLo0B,EAAQ76D,GAAY8U,EAAG,IAAI,GAC3B72F,EAAMwH,KAAK,CAACqvF,EAAG,IAAI,KAClB,MAEH,IAAK,SAAU,MACf,IAAK,YAAa,MAClB,IAAK,mBAAoB,MACzB,IAAK,gBAAiB,MAEtB,IAAK,gBACL,IAAK,cAAe,MACpB,IAAK,QACJ,MACD,IAAK,MAAO,MACZ,IAAK,YAAa,MAElB,IAAK,uBAAwB,MAC7B,IAAK,mBAAoB,MACzB,IAAK,0BAA2B,MAChC,IAAK,uBAAwB,MAC7B,IAAK,wBAAyB,MAE9B,IAAK,SACJ,OAAO72F,EAAMA,EAAMoG,OAAO,GAAG,IAC5B,IAAK,aACL,IAAK,aACJ47E,EAAMD,GAAY8U,EAAG,IAAI,GACzB2xB,GAAM8zB,EAAezlD,EAAG,IAAgB,SAAZ7U,EAAIhoF,MAAe,EAAE,GAAI,MACrD,MAEH,IAAK,WAAY,MAEjB,IAAK,MACL,IAAK,QACL,IAAK,OACL,IAAK,MACL,IAAK,cACL,IAAK,eACL,IAAK,UACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,QACJ,OAAOgG,EAAMA,EAAMoG,OAAO,GAAG,IAC5B,IAAK,aACL,IAAK,aACJ47E,EAAMD,GAAY8U,EAAG,IAAI,GACzB2xB,GAAM8zB,EAAezlD,EAAG,IAAgB,SAAZ7U,EAAIhoF,MAAe,EAAE,GAAI,MACrD,MAEH,IAAK,gBAAiB,MACtB,IAAK,UAAW,MAChB,IAAK,aAAc,MACnB,IAAK,OACJ,GAAuB,OAApB68F,EAAG,GAAG5/E,OAAO,GAAa,MACxB,GAAW,MAAR4/E,EAAG,GAAU,OAAO72F,EAAMA,EAAMoG,OAAO,GAAG,IACjD,IAAK,eACL,IAAK,aACL,IAAK,aACJoiH,GAAM78G,EAAIsL,MAAMw5H,EAAM55C,EAAG/4F,OACzB,WAEG2yI,EAAO55C,EAAG/4F,MAAQ+4F,EAAG,GAAGzwF,OAC7B,MAED,IAAK,cACJ47E,EAAMD,GAAY8U,EAAG,IAAI,GACzB4mD,EAAOlhB,GAAcv6C,EAAI,uBACzB,IAAIg8D,EAAS,CAAE1xC,KAAKtqB,EAAI/sF,KAAM8rI,IAAI0c,EAAK,GAAK,IAAMA,EAAK,IACpDI,IAASG,EAAOld,MAAQv1C,EAAWnlF,QACtC+uF,EAAG0rC,MAAMr5H,KAAKw2I,GACd,MAED,IAAK,eAAgB,MACrB,IAAK,kBAAmB,MACxB,IAAK,gBAAiB,MAEtB,IAAK,OAAQ,IAAK,OAAQ,MAE1B,IAAK,QAAS,MACd,IAAK,eAAgB,MACrB,IAAK,oBAAqB,MAC1B,IAAK,aAAc,MAEnB,IAAK,qBAAsB,MAC3B,IAAK,uBAAwB,MAC7B,IAAK,gBAAiB,MAEtB,IAAK,YAAa,MAElB,IAAK,qBAAsB,MAC3B,IAAK,uBAAwB,MAC7B,IAAK,oBAAqB,MAC1B,IAAK,cAAe,MACpB,IAAK,eAAgB,MACrB,IAAK,mBAAoB,MACzB,IAAK,OAAQ,MACb,IAAK,UAAW,MAChB,IAAK,cAAe,MAEpB,IAAK,MAAO,MACZ,IAAK,aAAc,MACnB,IAAK,OAAQ,MACb,IAAK,IAAK,IAAK,MACd,GAAW,MAARnnD,EAAG,IAAcgmD,GAASA,EAAK,gBAGzBF,EAAW56D,GAAY8U,EAAG,IAAI,GAAQkmD,EAAWlmD,EAAG/4F,MAAQ+4F,EAAG,GAAGzwF,WAHvB,CACnD,IAAI63I,EAAM7B,EAAazwI,EAAIsL,MAAM8lI,EAASlmD,EAAG/4F,OAAQ6+I,GACrDG,GAASA,EAAM12I,OAAS,EAAI02I,EAAQ,KAAO,IAAMmB,EAAI,GAEtD,MACD,IAAK,IAAK,MAEV,IAAK,iBACJ,GAAW,MAARpnD,EAAG,GAAU,MAChB,IACC4mD,EAAOlhB,GAAcx6C,GAAY8U,EAAG,IAAI,yBACxCrL,EAAOiyD,EAAK,IAAI,eAAiB,CAAE9nJ,IAAI8nJ,EAAK,IAC3C,MAAM37I,KACR,MAED,IAAK,OAAQ,MAEb,IAAK,SAAU,MACf,IAAK,QAAS,IAAK,KAAM,MACzB,IAAK,OAAQ,MACb,IAAK,cAAe,MAGpB,IAAK,eAAgB,MACrB,IAAK,WAAY,MAEjB,IAAK,YAAa,MAClB,IAAK,sBAAuB,MAC5B,IAAK,qBAAsB,MAC3B,IAAK,eAAgB,MACrB,IAAK,gBAAiB,MACtB,IAAK,kBAAmB,MACxB,IAAK,SAAU,MACf,IAAK,aAAc,MACnB,IAAK,YAAa,MAClB,IAAK,mBAAoB,MAEzB,IAAK,0BAA2B,MAChC,IAAK,0BAA2B,MAChC,IAAK,wBAAyB,MAG9B,IAAK,mBACL,IAAK,kBACL,IAAK,kBACL,IAAK,eACL,IAAK,kBACL,IAAK,eACL,IAAK,uBACL,IAAK,aACL,IAAK,iBACL,IAAK,oBACL,IAAK,gBACL,IAAK,cACL,IAAK,qBACL,IAAK,iBACL,IAAK,2BACL,IAAK,cACL,IAAK,kBACL,IAAK,UACL,IAAK,YACL,IAAK,gBACL,IAAK,aACJ,MAED,IAAK,iBACJ,MAED,IAAK,kBACL,IAAK,gBACL,IAAK,aACL,IAAK,YACL,IAAK,qBACL,IAAK,eACL,IAAK,mBACL,IAAK,iBACJ,MAGD,IAAK,cACJ,MAGD,IAAK,cAAe,MACpB,IAAK,aAAc,MACnB,IAAK,OAAQ,MAGb,IAAK,oBAAqB,MAC1B,IAAK,YAAa,MAClB,IAAK,YAAa,MAClB,IAAK,oBAAqB,MAG1B,IAAK,mBACL,IAAK,oBACL,IAAK,iBACL,IAAK,mBACL,IAAK,mBACL,IAAK,uBACL,IAAK,sBACL,IAAK,qBACL,IAAK,oBACL,IAAK,0BACL,IAAK,uBACL,IAAK,yBACL,IAAK,6BACL,IAAK,oBACL,IAAK,mBACL,IAAK,0BACJ,MAGD,IAAK,OACJ,MAGD,IAAK,uBACL,IAAK,sBACL,IAAK,WACL,IAAK,aACJ,MAED,IAAK,aAAc,MACnB,IAAK,WAAY,MAEjB,IAAK,IACJ,GAAY,MAAT+0F,EAAG,GAAW,CAEhB,GADA2mD,EAAOz7D,GAAY8U,EAAG,IAAI,IACtB2mD,EAAKt6I,KAAM,MACfs6I,EAAKznD,OAASynD,EAAKt6I,YAAas6I,EAAKt6I,KACT,KAAzBs6I,EAAKznD,OAAOlhF,OAAO,IAAa2oI,EAAKznD,OAAOrvF,QAAQ,MAAQ,IAC9D+2I,EAAOlhB,GAAcihB,EAAKznD,OAAO9+E,MAAM,IACvCumI,EAAKznD,OAAS,IAAM0nD,EAAK,GAAK,IAAMA,EAAK,IAG3C,MAGD,IAAK,mBAAoB,MACzB,IAAK,yBAA0B,MAC/B,IAAK,+BAAgC,MACrC,QAAS,OAAO5mD,EAAG,IAClB,IAAK,MACL,IAAK,WACL,IAAK,SACL,IAAK,OACL,IAAK,YACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,QACL,IAAK,OACL,IAAK,KACL,IAAK,KACJ,MACD,QAAS,GAAG/pF,EAAKy3E,IAAK,MAAM,IAAI/9E,MAAMqwF,IAGxC,IAAI9/E,EAAM,CACTy0E,OAAQA,EACRD,WAAYA,EACZw0C,SAAU5qC,GAGX,OADGroF,EAAKwlI,mBAAmBv7H,EAAIy0E,OACxBz0E,GAniBe,GAuiBxB,SAASmnI,GAAUhgG,EAAKpxC,GACvBA,EAAOA,GAAQ,GACf,IAAIqxI,IAAQp9D,GAAe7iC,EAAK,cAC7BigG,GAAKvnD,GAAe3V,GAAW/iC,EAAK,yBAA0BpxC,GACjE,IAAIuO,EAAU8lE,GAAUjjC,EAAK,eAC7B,IAAI7iC,EAAS,MAAM,IAAI7U,MAAM,2BAA6B23I,EAAM,MAAQ,OAAQ,SAChF,IAAI95C,EAAK83C,GAAkBgC,EAAM9iI,EAAUmoE,GAASnoE,GAAUvO,GAE9D,OADGi0E,GAAe7iC,EAAK,cAAammD,EAAGnM,MAAQP,GAAiB1W,GAAW/iC,EAAK,cACzEmmD,EAER,SAAS0tC,GAAWt2I,EAAMqR,GACzB,OAAOqvI,GAAkB1gJ,EAAMqR,GAIhC,IAAIsxI,GAAmB,WACtB,IAAI9pE,EAAU,2BAA6BoQ,GAAW,CACrD,eAAkB,mDAClB,cAAkB,kDAClB,cAAkB,kDAClB,aAAkB,iDAClB,aAAkB,oDAClB,WAAkB,8DAClB,cAAkB,+BAClB,WAAkB,mCAClB,eAAkB,sDAClB,YAAkB,2DAClB,WAAkB,+CAClB,iBAAkB,QACd,6BACL,OAAO,WACN,OAAOhD,GAAapN,GAhBC,GAmBnB+pE,GAAoB,WAEvB,IAAIC,EAAe,SAASz8H,GAC3B,OAAOihE,GAAUjhE,GACf7d,QAAQ,QAAQ,SAASqnE,GAAI,MAAO,mBAAmBA,EAAGjlE,OAAO,SACjEpC,QAAQ,MAAO,eACfA,QAAQ,MAAO,sBACfA,QAAQ,KAAM,aAAaA,QAAQ,KAAM,cAGxCu6I,EAAgB,mCAChBC,EAAmB,0CACnBtQ,EAAW,SAAStiD,EAAIyY,EAAIxhG,GAE/B,IAAIkO,EAAI,GACRA,EAAEvJ,KAAK,kCAAoCs7E,GAAUuhB,EAAG9Y,WAAW1oF,IAAM,QACzE,IAAIkuE,EAAE,EAAEv4D,EAAE,EAAGuwE,EAAQ4B,GAAaiB,EAAG,SACjC+2C,EAAO/2C,EAAG,YAAc,GAAI0nD,EAAK,EACjC3nD,EAAQrzF,MAAMC,QAAQqzF,GAC1B,IAAI7a,EAAI,EAAGA,EAAIgY,EAAMnxE,EAAEg8B,IAAKm9B,EAAGhgE,EAAEvJ,KAAK,iDACtC,KAAMupE,GAAKgY,EAAMjnF,EAAE8xC,IAAKm9B,EAAG,CAE1B,IADAhgE,EAAEvJ,KAAK,+BACHgR,EAAE,EAAGA,EAAIuwE,EAAMnxE,EAAEzW,IAAKqX,EAAGzH,EAAEvJ,KAAK+2I,GACpC,KAAM/lI,GAAKuwE,EAAMjnF,EAAEX,IAAKqX,EAAG,CAC1B,IAAI89B,GAAO,EAAOm/B,EAAK,GAAIqnE,EAAQ,GACnC,IAAIxJ,EAAK,EAAGA,GAAM3Q,EAAKv8H,SAAUktI,EAChC,KAAG3Q,EAAK2Q,GAAI17H,EAAEzW,EAAIqX,MACfmqH,EAAK2Q,GAAI17H,EAAEg8B,EAAIm9B,MACf4xD,EAAK2Q,GAAIxxI,EAAEX,EAAIqX,MACfmqH,EAAK2Q,GAAIxxI,EAAE8xC,EAAIm9B,GAAlB,CACG4xD,EAAK2Q,GAAI17H,EAAEzW,GAAKqX,GAAKmqH,EAAK2Q,GAAI17H,EAAEg8B,GAAKm9B,IAAGz6B,GAAO,GAClDm/B,EAAG,gCAAmCktD,EAAK2Q,GAAIxxI,EAAEX,EAAIwhI,EAAK2Q,GAAI17H,EAAEzW,EAAI,EACpEs0E,EAAG,6BAAmCktD,EAAK2Q,GAAIxxI,EAAE8xC,EAAI+uF,EAAK2Q,GAAI17H,EAAEg8B,EAAI,EACpE,MAED,GAAG0C,EAAQvlC,EAAEvJ,KAAKg3I,OAAlB,CACA,IAAI7oJ,EAAMszF,GAAY,CAACr1C,EAAEm9B,EAAG5vE,EAAEqX,IAAKkwE,EAAOiD,GAASC,EAAG7a,IAAI,IAAIv4D,GAAIozE,EAAGj2F,GACrE,GAAG+yF,GAAQA,EAAKtmF,IACfqzE,EAAG,iBAAmBqN,GAAUw5C,GAAmB5zC,EAAKtmF,IACrDsmF,EAAK7vE,GACJ6vE,EAAK7vE,EAAE5B,MAAM,EAAGthB,EAAIyQ,SAAWzQ,GAAK,CACtC,IAAI8oJ,EAAQ9zD,GAAajC,EAAK7vE,GAC9B48D,EAAG,uCAA0CgpE,EAAM38I,EAAEX,EAAIs9I,EAAM7mI,EAAEzW,EAAI,EACrEs0E,EAAG,oCAA0CgpE,EAAM38I,EAAE8xC,EAAI6qG,EAAM7mI,EAAEg8B,EAAI,EAIxE,GAAI80C,EAAJ,CACA,OAAOA,EAAK/0C,GACX,IAAK,IACJmpG,EAASp0D,EAAK3qF,EAAI,OAAS,QAC3B03E,EAAG,qBAAuB,UAC1BA,EAAG,wBAA2BiT,EAAK3qF,EAAI,OAAS,QAChD,MACD,IAAK,IACJ++I,EAASp0D,EAAK1xE,GAAGpL,OAAO88E,EAAK3qF,GAAG,GAChC03E,EAAG,qBAAuB,QAC1BA,EAAG,gBAAmBiT,EAAK3qF,GAAG,EAC9B,MACD,IAAK,IAAK,IAAK,MACd++I,EAAQp0D,EAAK3qF,EACb03E,EAAG,qBAAuB,SAC1B,MACD,IAAK,IACJqnE,EAASp0D,EAAK1xE,GAAIgpE,GAAU0I,EAAK3qF,GAAG8mF,cACpCpP,EAAG,qBAAuB,OAC1BA,EAAG,qBAAwBuK,GAAU0I,EAAK3qF,GAAG8mF,cAC7CpP,EAAG,oBAAsB,MACzB,MAED,QAAS1kE,EAAEvJ,KAAK+2I,GAAgB,SAEjC,IAAIG,EAASJ,EAAaxB,GAC1B,GAAGp0D,EAAKxkF,GAAKwkF,EAAKxkF,EAAE6xF,OAAQ,CAC3B,IAAI4oD,EAAOj2D,EAAKxkF,EAAE6xF,OAAQ4oD,EAAyB,KAAlBA,EAAK9pI,OAAO,GAAY,IAAM2nH,GAAcmiB,EAAK1nI,MAAM,IAAM0nI,EAC9FD,EAAS/5D,GAAU,SAAU+5D,EAAQ,CAAC,aAAcC,IAErD5tI,EAAEvJ,KAAK,aAAem9E,GAAU,mBAAoBA,GAAU,SAAU+5D,EAAQ,IAAKjpE,GAAM,WA9B/E1kE,EAAEvJ,KAAK+2I,IAgCpBxtI,EAAEvJ,KAAK,gCAGR,OADAuJ,EAAEvJ,KAAK,0BACAuJ,EAAEtJ,KAAK,KAGXm3I,EAA6B,SAAS7tI,GACzCA,EAAEvJ,KAAK,gCACPuJ,EAAEvJ,KAAK,0EACPuJ,EAAEvJ,KAAK,4CACPuJ,EAAEvJ,KAAK,qCACPuJ,EAAEvJ,KAAK,0CACPuJ,EAAEvJ,KAAK,qCACPuJ,EAAEvJ,KAAK,uBACPuJ,EAAEvJ,KAAK,4BAEPuJ,EAAEvJ,KAAK,2DACPuJ,EAAEvJ,KAAK,kFACPuJ,EAAEvJ,KAAK,sBAEPuJ,EAAEvJ,KAAK,+HACPuJ,EAAEvJ,KAAK,kCAGR,OAAO,SAAa68F,EAAIv3F,GACvB,IAAIiE,EAAI,CAAC2wE,IAELnmC,EAAOmpC,GAAW,CACrB,eAAsB,mDACtB,cAAsB,kDACtB,cAAsB,kDACtB,aAAsB,iDACtB,aAAsB,oDACtB,WAAsB,8DACtB,cAAsB,+BACtB,WAAsB,mCACtB,aAAsB,iDACtB,eAAsB,sDACtB,qBAAsB,yDACtB,YAAsB,2DACtB,cAAsB,kDACtB,aAAsB,iDACtB,aAAsB,qCACtB,aAAsB,iDACtB,eAAsB,mDACtB,YAAsB,oCACtB,aAAsB,oCACtB,aAAsB,kCACtB,YAAsB,oCACtB,eAAsB,gCACtB,YAAsB,mCACtB,YAAsB,4CACtB,cAAsB,8CACtB,YAAsB,oCACtB,WAAsB,+CACtB,cAAsB,+BACtB,cAAsB,sCACtB,iBAAsB,mCACtB,gBAAsB,kCACtB,gBAAsB,uEACtB,cAAsB,uEACtB,cAAsB,mEACtB,cAAsB,qEACtB,cAAsB,kCACtB,iBAAsB,QAGnBm6D,EAAOn6D,GAAW,CACrB,eAAmB,mDACnB,kBAAmB,mDAGA,QAAjB53E,EAAKioF,SAAoBhkF,EAAEvJ,KAAK,mBAAqB+zC,EAAOsjG,EAAO,OACjE9tI,EAAEvJ,KAAK,2BAA6B+zC,EAAQ,OACjDqjG,EAA2B7tI,GAC3BA,EAAEvJ,KAAK,qBACPuJ,EAAEvJ,KAAK,8BACP,IAAI,IAAI3E,EAAI,EAAGA,GAAKwhG,EAAG9Y,WAAWnlF,SAAUvD,EAAGkO,EAAEvJ,KAAK0mI,EAAS7pC,EAAG7Y,OAAO6Y,EAAG9Y,WAAW1oF,IAAKwhG,EAAIxhG,EAAGiK,IAKnG,OAJAiE,EAAEvJ,KAAK,+BACPuJ,EAAEvJ,KAAK,sBACa,QAAjBsF,EAAKioF,SAAoBhkF,EAAEvJ,KAAK,sBAC9BuJ,EAAEvJ,KAAK,8BACLuJ,EAAEtJ,KAAK,KAjKQ,GAqKxB,SAASq3I,GAAUz6C,EAAIv3F,GACtB,GAAoB,QAAjBA,EAAKioF,SAAoB,OAAOspD,GAAkBh6C,EAAIv3F,GAE1D,IAAIoxC,EAAMojC,KACLl/E,EAAI,GAEJ+0F,EAAW,GACXI,EAAM,GAiCV,OA9BAn1F,EAAI,WACJi/E,GAAanjC,EAAK97C,EAAG,kDAGrBA,EAAI,cACJi/E,GAAanjC,EAAK97C,EAAGi8I,GAAkBh6C,EAAIv3F,IAC3CqqF,EAAS3vF,KAAK,CAACpF,EAAG,aAClBm1F,EAAI/vF,KAAK,CAACpF,EAAG,gBAGbA,EAAI,aACJi/E,GAAanjC,EAAK97C,EAAGg8I,GAAiB/5C,EAAIv3F,IAC1CqqF,EAAS3vF,KAAK,CAACpF,EAAG,aAClBm1F,EAAI/vF,KAAK,CAACpF,EAAG,eAGbA,EAAI,WACJi/E,GAAanjC,EAAK97C,EAAGo1F,MACrBL,EAAS3vF,KAAK,CAACpF,EAAG,aAClBm1F,EAAI/vF,KAAK,CAACpF,EAAG,iBAGbA,EAAI,eACJi/E,GAAanjC,EAAK97C,EAAGk1F,GAAUC,IAC/BJ,EAAS3vF,KAAK,CAACpF,EAAG,wBAGlBA,EAAI,wBACJi/E,GAAanjC,EAAK97C,EAAG80F,GAAeC,IAE7Bj5C,EAGR,SAAS6gG,GAAkB16C,EAAIhZ,GAC9B,IAAIA,EAAO,OAAO,EAClB,IAAIl9E,EAAMk2F,EAAG9Y,WAAW7kF,QAAQ2kF,GAChC,IAAW,GAARl9E,EAAW,MAAM,IAAI3H,MAAM,oBAAsB6kF,GACpD,OAAOl9E,EAGR,SAAS6wI,GAAchqI,GACtB,OAAO,SAAmBqvF,EAAItzF,GAC7B,IAAI5C,EAAM4wI,GAAkB16C,EAAItzF,EAAEs6E,OAClC,OAAOr2E,EAAQg+F,WAAW3O,EAAG7Y,OAAO6Y,EAAG9Y,WAAWp9E,IAAO4C,EAAGszF,IAI9D,IAAI46C,GAAgBD,GAAc9O,IAC9BgP,GAAgBF,GAAc,CAAChsC,WAAWmsC,KAC1CC,GAAgBJ,GAA8B,qBAAT/rC,GAAuBA,GAAO,IACnEosC,GAAgBL,GAA6B,qBAAR/lC,GAAsBA,GAAM,IACjEqmC,GAAgBN,GAA6B,qBAAR7kC,GAAsBA,GAAM,IACjEolC,GAAgBP,GAA6B,qBAAR/5B,GAAsBA,GAAM,IACjEu6B,GAAgBR,GAAc,CAAChsC,WAAWysC,KAC1CC,GAAgBV,GAA6B,qBAARhuC,GAAsBA,GAAM,IACjE2uC,GAAgBX,GAA6B,qBAARrlC,GAAsBA,GAAM,IAErE,SAASimC,GAAc3kH,GACtB,OAAO,SAAkBnuB,GACxB,IAAI,IAAIjK,EAAI,EAAGA,GAAKo4B,EAAS70B,SAAUvD,EAAG,CACzC,IAAIzB,EAAI65B,EAASp4B,QACC5F,IAAf6P,EAAK1L,EAAE,MAAmB0L,EAAK1L,EAAE,IAAMA,EAAE,IAChC,MAATA,EAAE,KAAY0L,EAAK1L,EAAE,IAAM0K,OAAOgB,EAAK1L,EAAE,QAK/C,IAAIqxI,GAAgBmN,GAAc,CACjC,CAAC,UAAU,GACX,CAAC,YAAY,GACb,CAAC,eAAe,GAChB,CAAC,cAAc,GACf,CAAC,YAAY,GACb,CAAC,aAAa,GAEd,CAAC,cAAc,GACf,CAAC,YAAa,EAAG,KAEjB,CAAC,YAAY,GACb,CAAC,cAAc,GACf,CAAC,aAAa,GACd,CAAC,aAAa,GACd,CAAC,WAAW,GAEZ,CAAC,WAAW,IACZ,CAAC,OAAO,KAILpF,GAAiBoF,GAAc,CAClC,CAAC,aAAa,GAEd,CAAC,WAAW,GAEZ,CAAC,WAAY,QAEb,CAAC,eAAe,GAEhB,CAAC,OAAO,KAET,SAASC,GAAexwI,GACvB,OAAG6lF,GAAKwnC,GAAGh2H,QAAQ2I,IAAM,EAAU,QAChC6lF,GAAKg0C,IAAM75H,GAAK6lF,GAAKg0C,GAAW,QAChCh0C,GAAK88B,IAAM3iH,GAAK6lF,GAAK88B,GAAW,SAChC98B,GAAK+8B,IAAM5iH,GAAK6lF,GAAK+8B,GAAW,QAC3B5iH,GAAKA,EAAEjJ,OAAUiJ,EAAI,QAE9B,SAASywI,GAAkBC,EAAQz0D,GAClC,IAAIy0D,EAAQ,OAAO,EACnB,IACCA,EAASz0D,EAAO9yF,KAAI,SAAcwe,GAAkC,OAAzBA,EAAE/gB,KAAI+gB,EAAE/gB,GAAK+gB,EAAEs0H,UAAiB,CAACt0H,EAAE/hB,KAAM8qJ,EAAO,OAAO/oI,EAAE/gB,IAAI8/F,OAAQ8pD,GAAeE,EAAO,OAAO/oI,EAAE/gB,IAAI6/F,UAClJ,MAAMh0F,IAAK,OAAO,KACpB,OAAQi+I,GAA4B,IAAlBA,EAAO35I,OAAsB25I,EAAP,KAGzC,SAASC,GAAiB9hG,EAAK5+B,EAAM2gI,EAAU50D,EAAOl9E,EAAK+xI,EAAW50D,EAAQ60D,EAAOrzI,EAAMu3F,EAAI1Q,EAAQ9lF,GACtG,IACCqyI,EAAU70D,GAAOuK,GAAWzU,GAAUjjC,EAAK+hG,GAAU,GAAO3gI,GAC5D,IACIosE,EADAjwF,EAAOwlF,GAAW/iC,EAAK5+B,GAE3B,OAAO6gI,GACN,IAAK,QAAUz0D,EAAM6hD,GAAS9xI,EAAM6jB,EAAMnR,EAAKrB,EAAMozI,EAAU70D,GAAQgZ,EAAI1Q,EAAQ9lF,GAAS,MAC5F,IAAK,QACJ,GADc69E,EAAM8hD,GAAS/xI,EAAM6jB,EAAMnR,EAAKrB,EAAMozI,EAAU70D,GAAQgZ,EAAI1Q,EAAQ9lF,IAC9E69E,IAAQA,EAAI,WAAY,MAC5B,IAAI00D,EAAQ5+D,GAAakK,EAAI,WAAWqK,OAAQz2E,GAC5C+gI,EAAS1qD,GAAcyqD,GACvBE,EAAOvxB,GAAc5tC,GAAUjjC,EAAKkiG,GAAO,GAAOxqD,GAAWzU,GAAUjjC,EAAKmiG,GAAQ,GAAOD,IAC3FG,EAAS/+D,GAAa8+D,EAAMF,GAC5BI,EAAS7qD,GAAc4qD,GAC3B70D,EAAMm9C,GAAY1nD,GAAUjjC,EAAKqiG,GAAQ,GAAOA,EAAQzzI,EAAM8oF,GAAWzU,GAAUjjC,EAAKsiG,GAAQ,GAAOD,GAASl8C,EAAI3Y,GACpH,MACD,IAAK,QAAUA,EAAM+hD,GAAShyI,EAAM6jB,EAAMnR,EAAKrB,EAAMozI,EAAU70D,GAAQgZ,EAAI1Q,EAAQ9lF,GAAS,MAC5F,IAAK,SAAU69E,EAAMgiD,GAASjyI,EAAM6jB,EAAMnR,EAAKrB,EAAMozI,EAAU70D,GAAQgZ,EAAI1Q,EAAQ9lF,GAAS,MAC5F,QAAS,MAAM,IAAIrH,MAAM,2BAA6B25I,GAEvD70D,EAAOD,GAASK,EAGhB,IAAIsH,EAAW,GACZktD,GAAaA,EAAU70D,IAAQpgF,EAAKi1I,EAAU70D,IAAQp9E,SAAQ,SAASoB,GACzE,GAAG6wI,EAAU70D,GAAOh8E,GAAGymF,MAAQZ,GAAKy7B,KAAM,CACzC,IAAIyvB,EAAQ5+D,GAAa0+D,EAAU70D,GAAOh8E,GAAG0mF,OAAQz2E,GAErD,GADA0zE,EAAW86C,GAAW7sD,GAAW/iC,EAAKkiG,GAAO,GAAOA,EAAOtzI,IACvDkmF,IAAaA,EAAS5sF,OAAQ,OAClC4pH,GAAsBtkC,EAAKsH,OAG5B,MAAMlxF,IAAK,GAAGgL,EAAKy3E,IAAK,MAAMziF,IAGjC,SAAS2+I,GAAkB50I,GAAK,MAAsB,KAAfA,EAAEgJ,OAAO,GAAYhJ,EAAEoL,MAAM,GAAKpL,EAEzE,SAASwmE,GAAUn0B,EAAKpxC,GAMvB,GALA45D,EAASD,GACT35D,EAAOA,GAAQ,GACf2lI,GAAc3lI,GAGXi0E,GAAe7iC,EAAK,yBAA0B,OAAOggG,GAAUhgG,EAAKpxC,GAEvE,GAAGi0E,GAAe7iC,EAAK,kBAAmB,OAAOggG,GAAUhgG,EAAKpxC,GAEhE,GAAGi0E,GAAe7iC,EAAK,sBAAuB,MAAM,IAAI13C,MAAM,4BAE9D,IAGI8kF,EAAQo1D,EAHR3iD,EAAU3c,GAAWljC,GACrB/G,EAAM88C,GAAU9S,GAAUjjC,EAAK,wBAC/B00C,GAAO,EAMX,GAJ4B,IAAzBz7C,EAAIs7C,UAAUrsF,SAChBs6I,EAAU,kBACPz/D,GAAW/iC,EAAIwiG,GAAS,IAAOvpG,EAAIs7C,UAAUjrF,KAAKk5I,IAE1B,IAAzBvpG,EAAIs7C,UAAUrsF,OAAc,CAE9B,GADAs6I,EAAU,mBACNz/D,GAAW/iC,EAAIwiG,GAAQ,GAAO,MAAM,IAAIl6I,MAAM,2BAClD2wC,EAAIs7C,UAAUjrF,KAAKk5I,GACnB9tD,GAAO,EAEyB,OAA9Bz7C,EAAIs7C,UAAU,GAAGx7E,OAAO,KAAa27E,GAAO,GAE/C,IAAIe,EAAS,GACT9lF,EAAS,GACb,IAAIf,EAAKwlI,aAAexlI,EAAKylI,UAAW,CAEvC,GADAx/C,GAAO,GACJ57C,EAAIq9C,IAAK,IAAMzB,GAAK86C,GAAU5sD,GAAW/iC,EAAKuiG,GAAkBtpG,EAAIq9C,MAAOr9C,EAAIq9C,IAAK1nF,GAAS,MAAMhL,IAAK,GAAGgL,EAAKy3E,IAAK,MAAMziF,GAE3HgL,EAAKk8F,YAAc7xD,EAAIw8C,OAAOvtF,SAAQutF,EAASi6C,GAAYzsD,GAAUjjC,EAAK/G,EAAIw8C,OAAO,GAAG3vF,QAAQ,MAAM,KAAK,IAAO,GAAGmzC,EAAIw8C,OAAO,GAAI7mF,IAEpIqqC,EAAIn9C,QAAO6T,EAAS8/H,GAAU1sD,GAAW/iC,EAAKuiG,GAAkBtpG,EAAIn9C,QAASm9C,EAAIn9C,MAAO25F,EAAQ7mF,IAG9EqqC,EAAIo8C,MAAM/6F,KAAI,SAASmoJ,GAC5C,IACC,IAAIrtD,EAAOsC,GAAWzU,GAAUjjC,EAAKy3C,GAAc8qD,GAAkBE,KAASA,GAC9E,OAAO3S,GAAY/sD,GAAW/iC,EAAKuiG,GAAkBE,IAAQrtD,EAAMqtD,EAAM7zI,GACxE,MAAMhL,SAGT,IAAIuiG,EAAKipC,GAASrsD,GAAW/iC,EAAKuiG,GAAkBtpG,EAAIs7C,UAAU,KAAMt7C,EAAIs7C,UAAU,GAAI3lF,GAEtFlN,EAAQ,GAAIghJ,EAAW,GAExBzpG,EAAIq8C,UAAUptF,SAChBw6I,EAAW3/D,GAAW/iC,EAAKuiG,GAAkBtpG,EAAIq8C,UAAU,KAAK,GAC7DotD,IAAUhhJ,EAAQ+3F,GAAiBipD,IACX,IAAxBzpG,EAAIs8C,SAASrtF,SACfw6I,EAAW3/D,GAAW/iC,EAAKuiG,GAAkBtpG,EAAIs8C,SAAS,KAAK,GAC5DmtD,GAAU5nD,GAAgB4nD,EAAUhhJ,EAAOkN,KAIhD,IAAI4mF,EAAY,GACZ5mF,EAAKwlI,aAAcxlI,EAAKylI,WACE,IAAzBp7F,EAAIu8C,UAAUttF,SACjBw6I,EAAWz/D,GAAUjjC,EAAKuiG,GAAkBtpG,EAAIu8C,UAAU,KAAK,GAC5DktD,IAAUltD,EAAYiG,GAAiBinD,EAAU9zI,KAItD,IAAIiK,EAAM,GACV,IAAGjK,EAAKwlI,YAAcxlI,EAAKylI,aACvBluC,EAAG7Y,OAAQF,EAAS+Y,EAAG7Y,OAAOhzF,KAAI,SAAeqT,GAAI,OAAOA,EAAE5W,QACzD2K,EAAM+4F,YAAc/4F,EAAM2rF,WAAWnlF,OAAS,IAAGklF,EAAO1rF,EAAM2rF,YACnEz+E,EAAKylI,YAAax7H,EAAImhF,MAAQt4F,EAAOmX,EAAIokF,UAAYzH,GACrD5mF,EAAKwlI,YAAgC,qBAAXhnD,IAAwBv0E,EAAIw0E,WAAaD,GACnEx+E,EAAKwlI,WAAav7H,EAAIw0E,WAAaz+E,EAAKylI,WAAW,OAAOx7H,EAE9Du0E,EAAS,GAET,IAAIu1D,EAAO,GACR/zI,EAAKg0I,UAAY3pG,EAAIo9C,YAAWssD,EAAK9S,GAAS9sD,GAAW/iC,EAAKuiG,GAAkBtpG,EAAIo9C,YAAYp9C,EAAIo9C,UAAUznF,IAEjH,IAEIwS,EAAM2gI,EAFNp9I,EAAE,EACFq9I,EAAY,GAIXa,EAAW18C,EAAG7Y,OAClB5rF,EAAM+4F,WAAaooD,EAAS36I,OAC5BxG,EAAM2rF,WAAa,GACnB,IAAI,IAAIvoF,EAAI,EAAGA,GAAK+9I,EAAS36I,SAAUpD,EACtCpD,EAAM2rF,WAAWvoF,GAAK+9I,EAAS/9I,GAAG/N,KAIpC,IAAI+rJ,EAAQpuD,EAAO,MAAQ,MACvBquD,EAAU9pG,EAAIs7C,UAAU,GAAG32C,YAAY,KACvColG,GAAc/pG,EAAIs7C,UAAU,GAAGx7E,MAAM,EAAGgqI,EAAQ,GAAK,SAAW9pG,EAAIs7C,UAAU,GAAGx7E,MAAMgqI,EAAQ,GAAK,SAASj9I,QAAQ,MAAM,IAC3H+8E,GAAe7iC,EAAKgjG,KAAaA,EAAa,qBAAuBF,EAAQ,SACjF,IAAIjB,EAASnqD,GAAWzU,GAAUjjC,EAAKgjG,GAAY,GAAOA,GACvDnB,IAAQA,EAASD,GAAkBC,EAAQ17C,EAAG7Y,SAGjD,IAAI21D,EAASlgE,GAAW/iC,EAAI,2BAA0B,GAAO,EAAE,EAC/DkjG,EAAQ,IAAIv+I,EAAI,EAAGA,GAAKjD,EAAM+4F,aAAc91F,EAAG,CAC9C,IAAIs9I,EAAQ,QAWZ,GAVGJ,GAAUA,EAAOl9I,IACnByc,EAAO,MAASygI,EAAOl9I,GAAG,GAAImB,QAAQ,YAAa,IAC/C+8E,GAAe7iC,EAAK5+B,KAAOA,EAAOygI,EAAOl9I,GAAG,IAC5Ck+E,GAAe7iC,EAAK5+B,KAAOA,EAAO4hI,EAAWl9I,QAAQ,aAAa,IAAM+7I,EAAOl9I,GAAG,IACtFs9I,EAAQJ,EAAOl9I,GAAG,KAElByc,EAAO,uBAAuBzc,EAAE,EAAEs+I,GAAO,IAAMH,EAC/C1hI,EAAOA,EAAKtb,QAAQ,WAAW,WAEhCi8I,EAAW3gI,EAAKtb,QAAQ,qBAAsB,oBAC3C8I,GAAuB,MAAfA,EAAKw+E,OAAgB,cAAcx+E,EAAKw+E,QAClD,IAAK,SAAU,GAAGzoF,GAAKiK,EAAKw+E,OAAQ,SAAS81D,EAAQ,MACrD,IAAK,SAAU,GAAGxhJ,EAAM2rF,WAAW1oF,GAAGo7C,eAAiBnxC,EAAKw+E,OAAOrtC,cAAe,SAASmjG,EAAQ,MACnG,QAAS,GAAG9oJ,MAAMC,SAAWD,MAAMC,QAAQuU,EAAKw+E,QAAS,CAExD,IADA,IAAI+1D,GAAU,EACNC,EAAM,EAAGA,GAAOx0I,EAAKw+E,OAAOllF,SAAUk7I,EACf,iBAApBx0I,EAAKw+E,OAAOg2D,IAAoBx0I,EAAKw+E,OAAOg2D,IAAQz+I,IAAGw+I,EAAQ,GAC3C,iBAApBv0I,EAAKw+E,OAAOg2D,IAAoBx0I,EAAKw+E,OAAOg2D,GAAKrjG,eAAiBr+C,EAAM2rF,WAAW1oF,GAAGo7C,gBAAeojG,EAAU,GAE1H,IAAIA,EAAS,SAASD,GAGxBpB,GAAiB9hG,EAAK5+B,EAAM2gI,EAAUrgJ,EAAM2rF,WAAW1oF,GAAIA,EAAGq9I,EAAW50D,EAAQ60D,EAAOrzI,EAAMu3F,EAAI1Q,EAAQ9lF,GAwB3G,OArBAkJ,EAAM,CACL89H,UAAW19F,EACX4oF,SAAU17B,EACVnM,MAAOt4F,EACPu7F,UAAWzH,EACX6tD,KAAMV,EACNr1D,OAAQF,EACRC,WAAY3rF,EAAM2rF,WAClBk2C,QAAS1uC,GACTyuD,OAAQ3zI,EACRy/G,OAAQ35B,EACRltB,IAAKA,EAAI8I,aAEPziE,GAAQA,EAAK+rI,YACf9hI,EAAI9L,KAAO8yF,EACXhnF,EAAI4V,MAAQuxB,EAAIvxB,OAEd7f,GAAQA,EAAK8rI,UACZzhG,EAAI08C,IAAIztF,OAAS,EAAG2Q,EAAI8oH,OAAS5+C,GAAW/iC,EAAIuiG,GAAkBtpG,EAAI08C,IAAI,KAAI,GACzE18C,EAAIlc,UAAYkc,EAAIlc,SAASwmH,MAAQnwB,KAAQv6G,EAAI8oH,OAAS5+C,GAAW/iC,EAAK,qBAAoB,KAEhGnnC,EAIR,SAAS2qI,GAAc1rE,EAAKW,GAC3B,IAAI7pE,EAAO6pE,GAAS,GAChBv0E,EAAI,WAAY3G,EAAOm1E,EAAIvhD,KAAK2mD,EAAK5zE,GACzC,IAEyB,GADzBA,EAAI,uBACJ3G,EAAOm1E,EAAIvhD,KAAK2mD,EAAK5zE,IAAQ3G,IAASA,EAAK4f,QAAS,MAAM,IAAI7U,MAAM,mCAAqCpE,GAKhF,GAJPk+G,GAA2B7kH,EAAK4f,SAGlDjZ,EAAI,4BACJ3G,EAAOm1E,EAAIvhD,KAAK2mD,EAAK5zE,IAAQ3G,IAASA,EAAK4f,QAAS,MAAM,IAAI7U,MAAM,mCAAqCpE,GACzG,IAAIu/I,EAAMjhC,GAAmBjlH,EAAK4f,SAClC,GAAkB,IAAfsmI,EAAIv7I,QAAwC,IAAxBu7I,EAAI,GAAGlhC,MAAMr6G,QAAsC,IAAtBu7I,EAAI,GAAGlhC,MAAM,GAAG9sE,GAA2B,8BAAhBguG,EAAI,GAAG1sJ,MAA8D,qBAAtB0sJ,EAAI,GAAGlhC,MAAM,GAAG1iH,EAC7I,MAAM,IAAIyI,MAAM,+BAAiCpE,GAIzB,GADzBA,EAAI,uDACJ3G,EAAOm1E,EAAIvhD,KAAK2mD,EAAK5zE,IAAQ3G,IAASA,EAAK4f,QAAS,MAAM,IAAI7U,MAAM,mCAAqCpE,GACzG,IAAIw/I,EAAOjhC,GAA0BllH,EAAK4f,SAC1C,GAAkB,GAAfumI,EAAKx7I,QAA0B,6BAAXw7I,EAAK,GAC3B,MAAM,IAAIp7I,MAAM,+BAAiCpE,GAIzB,GADzBA,EAAI,gEACJ3G,EAAOm1E,EAAIvhD,KAAK2mD,EAAK5zE,IAAQ3G,IAASA,EAAK4f,QAAS,MAAM,IAAI7U,MAAM,mCAAqCpE,GAC3Fy+G,GAAcplH,EAAK4f,SAC/B,MAAMvZ,KAGiB,GADzBM,EAAI,kBACJ3G,EAAOm1E,EAAIvhD,KAAK2mD,EAAK5zE,IAAQ3G,IAASA,EAAK4f,QAAS,MAAM,IAAI7U,MAAM,mCAAqCpE,GACzG,IAAIy/I,EAAQngC,GAAqBjmH,EAAK4f,SAIb,GADzBjZ,EAAI,oBACJ3G,EAAOm1E,EAAIvhD,KAAK2mD,EAAK5zE,IAAQ3G,IAASA,EAAK4f,QAAS,MAAM,IAAI7U,MAAM,mCAAqCpE,GAG1G,GAAe,GAAZy/I,EAAM,IAAuC,qBAAlBC,cAA+B,OAAOA,cAAcD,EAAM,GAAIpmJ,EAAK4f,QAASvO,EAAKygB,UAAY,GAAIzgB,GAE/H,GAAe,GAAZ+0I,EAAM,IAAuC,qBAAlBE,cAA+B,OAAOA,cAAcF,EAAM,GAAIpmJ,EAAK4f,QAASvO,EAAKygB,UAAY,GAAIzgB,GAC9H,MAAM,IAAItG,MAAM,8BAGjB,SAASqwE,GAAUwtB,EAAIv3F,GAEtB,GADAoiH,GAAW,KACS,OAAjBpiH,EAAKioF,SAAmB,OAAO+pD,GAAUz6C,EAAIv3F,GAC7Cu3F,IAAOA,EAAG59B,MACZ49B,EAAG59B,IAAMA,EAAI8I,aAEX80B,GAAMA,EAAG59B,MACXC,EAASD,GAAMA,EAAI+I,WAAW60B,EAAG59B,KAEjC35D,EAAKuwH,OAAS79C,GAAU6kB,EAAG59B,KAAM35D,EAAKuwH,OAAOh5B,EAAG59B,IAAI,QAAU,EAC9D35D,EAAKwwH,IAAMj5B,EAAG59B,KAEf35D,EAAKwmF,KAAO,GAAIxmF,EAAKizI,OAAS,GAC9BjzI,EAAK20H,QAAU,GAAI30H,EAAK20H,QAAQt8B,MAAQ,EAAGr4F,EAAK20H,QAAQr8B,OAAS,EAC9Du3B,GAAiB7vH,EAAK40H,WAAa,IAAI9E,KACnC9vH,EAAK40H,WAAa,GAAI50H,EAAK40H,WAAWsgB,IAAM,UAAWl1I,EAAK40H,WAAWsgB,KAC9E,IAAIhB,EAAyB,QAAjBl0I,EAAKioF,SAAqB,MAAQ,MAC1CktD,EAAStwB,GAAQjrH,QAAQoG,EAAKioF,WAAa,EAC3Ctf,EAAK4d,KACTmnD,GAAe1tI,EAAOA,GAAQ,IAC/B,IAAIoxC,EAAMojC,KACLl/E,EAAI,GAAIo0F,EAAM,EAalB,GAXA1pF,EAAKs8G,QAAU,GACfgU,GAAetwH,EAAKs8G,QAAS,GAAI,CAACiU,OAAO,CAAC,QAAU,KAEhDh5B,EAAGnM,QAAOmM,EAAGnM,MAAQ,IAEzB91F,EAAI,oBACJi/E,GAAanjC,EAAK97C,EAAG61F,GAAiBoM,EAAGnM,MAAOprF,IAChD2oE,EAAG+d,UAAUhsF,KAAKpF,GAClBm0F,GAASzpF,EAAKwmF,KAAM,EAAGlxF,EAAG8yF,GAAKuC,YAEhCr1F,EAAI,mBACAiiG,EAAGnM,OAASmM,EAAGnM,MAAM3M,iBACnB,GAAI8Y,EAAG07B,UAAa17B,EAAG07B,SAASv0C,OAChC,CAEJ,IADA,IAAI02D,EAAM,GACFC,EAAK,EAAGA,EAAK99C,EAAG9Y,WAAWnlF,SAAU+7I,EACF,IAAtC99C,EAAG07B,SAASv0C,OAAO22D,IAAK,IAAIvX,QAAasX,EAAI16I,KAAK68F,EAAG9Y,WAAW42D,IACrE99C,EAAGnM,MAAM3M,WAAa22D,OALsB79C,EAAGnM,MAAM3M,WAAa8Y,EAAG9Y,WAmBtE,IAZA8Y,EAAGnM,MAAMS,WAAa0L,EAAGnM,MAAM3M,WAAWnlF,OAC1Ci7E,GAAanjC,EAAK97C,EAAGk3F,GAAgB+K,EAAGnM,MAAOprF,IAC/C2oE,EAAGge,SAASjsF,KAAKpF,GACjBm0F,GAASzpF,EAAKwmF,KAAM,EAAGlxF,EAAG8yF,GAAKmD,WAE5BgM,EAAGlJ,YAAckJ,EAAGnM,OAASjtF,EAAKo5F,EAAGlJ,WAAW,IAAI/0F,OAAS,IAC/DhE,EAAI,sBACJi/E,GAAanjC,EAAK97C,EAAG03F,GAAiBuK,EAAGlJ,UAAWruF,IACpD2oE,EAAGie,UAAUlsF,KAAKpF,GAClBm0F,GAASzpF,EAAKwmF,KAAM,EAAGlxF,EAAG8yF,GAAKuE,aAG5BjD,EAAI,EAAEA,GAAO6N,EAAG9Y,WAAWnlF,SAAUowF,EAAK,CAC7C,IAAI4rD,EAAS,CAAC,MAAM,IAChBx2D,EAAKyY,EAAG7Y,OAAO6Y,EAAG9Y,WAAWiL,EAAI,IACjC6rD,GAASz2D,GAAM,IAAI,UAAY,QACnC,OAAOy2D,GACP,IAAK,QAEL,QACCjgJ,EAAI,sBAAwBo0F,EAAM,IAAMwqD,EACxC3/D,GAAanjC,EAAK97C,EAAG8rI,GAAS13C,EAAI,EAAGp0F,EAAG0K,EAAMu3F,EAAI+9C,IAClD3sE,EAAG6V,OAAO9jF,KAAKpF,GACfm0F,GAASzpF,EAAKizI,QAAS,EAAG,mBAAqBvpD,EAAM,IAAMwqD,EAAO9rD,GAAKwnC,GAAG,IAG3E,GAAG9wC,EAAI,CACN,IAAIoH,EAAWpH,EAAG,aACd02D,GAAW,EACf,GAAGtvD,GAAYA,EAAS5sF,OAAS,EAAG,CACnC,IAAIw9F,EAAK,cAAgBpN,EAAM,IAAMwqD,EACrC3/D,GAAanjC,EAAK0lD,EAAIyqC,GAAWr7C,EAAU4Q,EAAI92F,IAC/C2oE,EAAGud,SAASxrF,KAAKo8F,GACjBrN,GAAS6rD,GAAS,EAAG,cAAgB5rD,EAAM,IAAMwqD,EAAO9rD,GAAKy7B,MAC7D2xB,GAAW,EAET12D,EAAG,YACF02D,GAAUjhE,GAAanjC,EAAK,yBAA2B,EAAQ,OAAQixE,GAAmB34B,EAAK5K,EAAG,sBAE/FA,EAAG,oBACHA,EAAG,WAGRw2D,EAAO,OAAOG,MAAMlhE,GAAanjC,EAAKy3C,GAAcvzF,GAAIg0F,GAAWgsD,IAyCvE,OAtCmB,MAAhBt1I,EAAK20H,SAAmB30H,EAAK20H,QAAQr7H,OAAS,IAChDhE,EAAI,oBAAsB4+I,EAC1B3/D,GAAanjC,EAAK97C,EAAGgsI,GAAUthI,EAAK20H,QAASr/H,EAAG0K,IAChD2oE,EAAGsd,KAAKvrF,KAAKpF,GACbm0F,GAASzpF,EAAKizI,QAAS,EAAG,iBAAmBiB,EAAO9rD,GAAKoqB,MAG1Dl9G,EAAI,eAAiB4+I,EACrB3/D,GAAanjC,EAAK97C,EAAG6rI,GAAS5pC,EAAIjiG,EAAG0K,IACrC2oE,EAAGgd,UAAUjrF,KAAKpF,GAClBm0F,GAASzpF,EAAKwmF,KAAM,EAAGlxF,EAAG8yF,GAAKC,IAI/B/yF,EAAI,sBACJi/E,GAAanjC,EAAK97C,EAAGirH,GAAYhpB,EAAGipB,OAAQxgH,IAC5C2oE,EAAGke,OAAOnsF,KAAKpF,GACfm0F,GAASzpF,EAAKizI,QAAS,EAAG,mBAAoB7qD,GAAKu3B,OAInDrqH,EAAI,aAAe4+I,EACnB3/D,GAAanjC,EAAK97C,EAAG+rI,GAAU9pC,EAAIjiG,EAAG0K,IACtC2oE,EAAG5nE,OAAOrG,KAAKpF,GACfm0F,GAASzpF,EAAKizI,QAAS,EAAG,UAAYiB,EAAO9rD,GAAKo1B,KAE/CjmB,EAAGw7B,QAAUoiB,IACf7/I,EAAI,oBACJi/E,GAAanjC,EAAK97C,EAAGiiG,EAAGw7B,QACxBpqD,EAAGoe,IAAIrsF,KAAKpF,GACZm0F,GAASzpF,EAAKizI,QAAS,EAAG,iBAAkB7qD,GAAKQ,MAGlDrU,GAAanjC,EAAK,sBAAuB22C,GAASpf,EAAI3oE,IACtDu0E,GAAanjC,EAAK,cAAek4C,GAAWtpF,EAAKwmF,OACjDjS,GAAanjC,EAAK,qBAAuB8iG,EAAQ,QAAS5qD,GAAWtpF,EAAKizI,gBAEnEjzI,EAAKuwH,cAAevwH,EAAKwwH,IACzBp/E,EAER,SAASm9D,GAAUj5G,EAAE2O,GACpB,IAAIlF,EAAI,GACR,QAAQkF,GAAG,IAAItZ,MAAQ,UACtB,IAAK,SAAU,MAAO,CAAC2K,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAC3C,IAAK,SAAUyJ,EAAI+5D,EAAOhtD,OAAOxW,EAAE6U,MAAM,EAAE,KAAM,MACjD,IAAK,SAAUpL,EAAIzJ,EAAG,MACtB,IAAK,QAAU,MAAO,CAACA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAC3C,QAAS,MAAM,IAAIoE,MAAM,sBAAwBuK,GAAKA,EAAEtZ,MAAQ,cAEjE,MAAO,CAACoU,EAAExF,WAAW,GAAIwF,EAAExF,WAAW,GAAIwF,EAAExF,WAAW,GAAIwF,EAAExF,WAAW,IAGzE,SAASm8I,GAASxsE,EAAKlpE,GACtB,OAAG8jE,EAAIvhD,KAAK2mD,EAAK,oBAA4B0rE,GAAc1rE,EAAKlpE,GACzD2rI,GAAaziE,EAAKlpE,GAG1B,SAAS21I,GAAShnJ,EAAMqR,GACxB,IAAIoxC,EAAK98C,EAAI3F,EACRsV,EAAIjE,GAAM,GAGd,OAFIiE,EAAEtZ,OAAMsZ,EAAEtZ,KAAQoe,GAAWC,EAAOzE,SAAS5V,GAAS,SAAW,UACrEyiD,EAAMqjC,GAASngF,EAAG2P,GACXshE,GAAUn0B,EAAKntC,GAGvB,SAAS2xI,GAAejnJ,EAAMsV,GAC7B,IAAIlO,EAAI,EACR68G,EAAM,MAAM78G,EAAIpH,EAAK2K,OAAQ,OAAO3K,EAAK4K,WAAWxD,IACnD,KAAK,GAAM,KAAK,GAAM,KAAK,KAAQA,EAAG,MACtC,KAAK,GAAM,OAAO2vI,GAAW/2I,EAAKwb,MAAMpU,GAAGkO,GAC3C,QAAS,MAAM2uG,EAEhB,OAAOvF,GAAIrH,YAAYr3G,EAAMsV,GAG9B,SAAS4xI,GAAmBlnJ,EAAMsV,GACjC,IAAIpF,EAAM,GAAI0vC,EAAQggE,GAAU5/G,EAAMsV,GACtC,OAAOA,EAAEtZ,MACR,IAAK,SAAUkU,EAAMi6D,EAAOhtD,OAAOnd,GAAO,MAC1C,IAAK,SAAUkQ,EAAMlQ,EAAM,MAC3B,IAAK,SAAUkQ,EAAMlQ,EAAKsT,SAAS,UAAW,MAC9C,IAAK,QAASpD,EAAMu0E,GAAOzkF,GAAO,MAClC,QAAS,MAAM,IAAI+K,MAAM,qBAAuBuK,EAAEtZ,MAGnD,OADe,KAAZ4jD,EAAM,IAA0B,KAAZA,EAAM,IAA0B,KAAZA,EAAM,KAAY1vC,EAAM63E,GAAS73E,IACrE+2I,GAAe/2I,EAAKoF,GAG5B,SAAS6xI,GAAWnnJ,EAAMsV,GACzB,IAAI3P,EAAI3F,EAIR,MAHa,UAAVsV,EAAEtZ,OAAkB2J,EAAIwkE,EAAOhtD,OAAOxX,IACzCA,EAAIsT,QAAQ8E,MAAMZ,OAAO,KAAMxX,EAAE6V,MAAM,GAAI,OAC3ClG,EAAEtZ,KAAO,SACFirJ,GAAethJ,EAAG2P,GAG1B,SAAS8xI,GAAQpnJ,GAChB,OAAQA,EAAKqU,MAAM,gBAAyB0uE,GAAU/iF,GAAjBA,EAGtC,SAASqnJ,GAASrnJ,EAAM2F,EAAG2P,EAAGpF,GAC7B,OAAGA,GAAOoF,EAAEtZ,KAAO,SAAiB0iH,GAAIrH,YAAYr3G,EAAMsV,IACnDopG,GAAIrH,YAAY1xG,EAAG2P,GAG3B,SAASgyI,GAAStnJ,EAAMqR,GAEvB,GADAq4D,IAC0B,qBAAhBrmB,aAA+BrjD,aAAgBqjD,YAAa,OAAOikG,GAAS,IAAI98I,WAAWxK,GAAOqR,GAC5G,IAAI1L,EAAI3F,EAAM4T,EAAI,CAAC,EAAE,EAAE,EAAE,GAAI1D,GAAM,EAC/BoF,EAAIjE,GAAM,GAOd,GANGiE,EAAEi4F,aAAcj4F,EAAEkqG,QAAS,EAAMlqG,EAAEo7E,YAAa,GACnDswC,GAAW,GACR1rH,EAAEq+D,SAAQqtD,GAASrtD,OAASr+D,EAAEq+D,QAC7Br+D,EAAEtZ,OAAMsZ,EAAEtZ,KAAQoe,GAAWC,EAAOzE,SAAS5V,GAAS,SAAW,UACxD,QAAVsV,EAAEtZ,OAAkBsZ,EAAEtZ,KAAOoe,EAAU,SAAW,SAAUzU,EAAI69E,EAAYxjF,IAClE,UAAVsV,EAAEtZ,OAAoBkU,GAAM,EAAMoF,EAAEtZ,KAAO,SAAUsZ,EAAEohG,SAAW,MAAO/wG,EAAIyhJ,GAAQpnJ,IAC3E,SAAVsV,EAAEtZ,MAAyC,qBAAfwO,YAA8BxK,aAAgBwK,YAAqC,qBAAhB64C,YAA6B,CAE9H,IAAIkkG,EAAG,IAAIlkG,YAAY,GAAImkG,EAAG,IAAIh9I,WAAW+8I,GAE7C,GAFkDC,EAAGjB,IAAI,OAErDiB,EAAGjB,IAAgC,OAA1BjxI,EAAEovE,GAAIpvE,GAAIA,EAAEtZ,KAAK,QAAgBsrJ,GAAS18E,EAAKjlE,GAAI2P,GAEjE,QAAQ1B,EAAIgsG,GAAUj6G,EAAG2P,IAAI,IAC5B,KAAK,IAAM,OAAOyxI,GAAS5xE,EAAIpO,KAAKphE,EAAG2P,GAAIA,GAC3C,KAAK,EAAM,GAAG1B,EAAE,IAAM,EAAM,OAAOopI,GAAar3I,EAAG2P,GAAI,MACvD,KAAK,GAAM,OAAOyhI,GAAWpxI,EAAG2P,GAChC,KAAK,GAAM,GAAY,KAAT1B,EAAE,GAAa,OAAOmsG,GAAWp6G,EAAG2P,GAAI,MACtD,KAAK,GAAM,GAAY,KAAT1B,EAAE,IAAwB,KAATA,EAAE,IAAwB,KAATA,EAAE,GAAa,OAAO4pG,GAAInG,YAAY1xG,EAAG2P,GAAI,MAC7F,KAAK,GAAM,OAAiB,KAAT1B,EAAE,IAAeA,EAAE,GAAK,GAAQA,EAAE,GAAK,EAAQozI,GAASrhJ,EAAG2P,GAAK+xI,GAASrnJ,EAAM2F,EAAG2P,EAAGpF,GACxG,KAAK,IAAM,OAAgB,KAAT0D,EAAE,GAAcmjI,GAAWpxI,EAAG2P,GAAK+xI,GAASrnJ,EAAM2F,EAAG2P,EAAGpF,GAC1E,KAAK,IAAM,GAAY,MAAT0D,EAAE,GAAe,OAAOuzI,GAAWxhJ,EAAG2P,GAAM,MAC1D,KAAK,EAAM,GAAY,IAAT1B,EAAE,IAAeA,EAAE,IAAM,GAAiB,IAATA,EAAE,GAAa,OAAOqsG,GAAI5I,YAAY1xG,EAAG2P,GAAI,MAC5F,KAAK,EAAM,KAAK,IAAM,KAAK,IAAM,KAAK,IAAM,OAAOigG,GAAI8B,YAAY1xG,EAAG2P,GACtE,KAAK,IAAM,GAAY,KAAT1B,EAAE,IAAwB,MAATA,EAAE,IAAwB,MAATA,EAAE,GAAa,OAAO41G,GAAInS,YAAY1xG,EAAG2P,GAAI,MAC7F,KAAK,GAAM,KAAK,GAAM,KAAK,GAAM,OAAO4xI,GAAmBvhJ,EAAG2P,GAE/D,OAAG1B,EAAE,IAAM,IAAMA,EAAE,IAAM,GAAW2hG,GAAI8B,YAAY1xG,EAAG2P,GAChD+xI,GAASrnJ,EAAM2F,EAAG2P,EAAGpF,GAG7B,SAASmqE,GAAa74B,EAAUnwC,GAC/B,IAAIiE,EAAIjE,GAAM,GACd,OADkBiE,EAAEtZ,KAAO,OACpBsrJ,GAAS9lG,EAAUlsC,GAE3B,SAASmyI,GAAcltE,EAAKjlE,GAC3B,OAAOA,EAAEtZ,MACR,IAAK,SAAU,IAAK,SAAU,MAC9B,IAAK,SAAU,IAAK,QAASsZ,EAAEtZ,KAAO,GAAI,MAC1C,IAAK,OAAQ,OAAO6mF,EAASvtE,EAAEuD,KAAMs8D,EAAI1N,MAAM8S,EAAK,CAACv+E,KAAKoe,EAAU,SAAW,MAC/E,IAAK,SAAU,MAAM,IAAIrP,MAAM,qCAAuCuK,EAAEgkF,SAAW,WACnF,QAAS,MAAM,IAAIvuF,MAAM,qBAAuBuK,EAAEtZ,MAEnD,OAAOm5E,EAAI1N,MAAM8S,EAAKjlE,GAGvB,SAASoyI,GAAe9+C,EAAIv3F,GAC3B,IAAIiE,EAAIjE,GAAM,GACVq1E,EAAItL,GAAUwtB,EAAItzF,GAClBqyI,EAAQ,GAEZ,GADGryI,EAAEsmC,cAAa+rG,EAAM/rG,YAAc,WACnCtmC,EAAEwc,SAAU61H,EAAM3rJ,KAAOoe,EAAU,aAAe,cAChD,OAAO9E,EAAEtZ,MACb,IAAK,SAAU2rJ,EAAM3rJ,KAAO,SAAU,MACtC,IAAK,SAAU2rJ,EAAM3rJ,KAAO,SAAU,MACtC,IAAK,SAAU,MAAM,IAAI+O,MAAM,qCAAuCuK,EAAEgkF,SAAW,WACnF,IAAK,SACL,IAAK,OAAQquD,EAAM3rJ,KAAOoe,EAAU,aAAe,SAAU,MAC7D,QAAS,MAAM,IAAIrP,MAAM,qBAAuBuK,EAAEtZ,MAEnD,IAAIsf,EAAMorE,EAAExO,UAAY/C,EAAI1N,MAAMif,EAAG,CAACvL,SAAS,MAAOn/E,KAAM,CAAC,WAAc,SAAU,OAAU,UAAU2rJ,EAAM3rJ,OAAS2rJ,EAAM3rJ,OAAS0qF,EAAE/rF,SAASgtJ,GAElJ,OAAGryI,EAAEwc,UAAqC,qBAAlB81H,cAAsCH,GAAcG,cAActsI,EAAKhG,EAAEwc,UAAWxc,GAE9F,SAAXA,EAAEtZ,KAAwB6mF,EAASvtE,EAAEuD,KAAMyC,GAC7B,UAAVhG,EAAEtZ,KAAmB+rF,GAASzsE,GAAOA,EAG7C,SAASusI,GAAej/C,EAAIv3F,GAC3B,IAAIiE,EAAIjE,GAAM,GACVkpE,EAAM8iE,GAAaz0C,EAAItzF,GAC3B,OAAOmyI,GAAcltE,EAAKjlE,GAG3B,SAASwyI,GAAkBxsI,EAAKjK,EAAM02I,GACjCA,IAAKA,EAAM,IACf,IAAIzyI,EAAIyyI,EAAMzsI,EACd,OAAOjK,EAAKrV,MACX,IAAK,SAAU,OAAOmuE,EAAOrtD,OAAOimE,GAAUztE,IAC9C,IAAK,SAAU,OAAOytE,GAAUztE,GAChC,IAAK,SAAU,OAAOgG,EACtB,IAAK,OAAQ,OAAOunE,EAASxxE,EAAKwH,KAAMvD,EAAG,QAC3C,IAAK,SACJ,OAAG8E,EAAgBE,EAAYhF,EAAG,QACtBwyI,GAAkBxyI,EAAG,CAACtZ,KAAK,WAAWwY,MAAM,IAAIzX,KAAI,SAAS2I,GAAK,OAAOA,EAAEkF,WAAW,MAGpG,MAAM,IAAIG,MAAM,qBAAuBsG,EAAKrV,MAG7C,SAASgsJ,GAAgB1sI,EAAKjK,GAC7B,OAAOA,EAAKrV,MACX,IAAK,SAAU,OAAOmuE,EAAOrtD,OAAOxB,GACpC,IAAK,SAAU,OAAOA,EACtB,IAAK,SAAU,OAAOA,EACtB,IAAK,OAAQ,OAAOunE,EAASxxE,EAAKwH,KAAMyC,EAAK,UAC7C,IAAK,SACJ,OAAGlB,EAAgBE,EAAYgB,EAAK,UACxBA,EAAI9G,MAAM,IAAIzX,KAAI,SAAS2I,GAAK,OAAOA,EAAEkF,WAAW,MAGlE,MAAM,IAAIG,MAAM,qBAAuBsG,EAAKrV,MAI7C,SAASisJ,GAAkB3sI,EAAKjK,GAC/B,OAAOA,EAAKrV,MACX,IAAK,SACL,IAAK,SACL,IAAK,SAGJ,IAFA,IAAI44E,EAAO,GAEHxtE,EAAI,EAAGA,EAAIkU,EAAI3Q,SAAUvD,EAAGwtE,GAAQzkE,OAAO+J,aAAaoB,EAAIlU,IACpE,MAAoB,UAAbiK,EAAKrV,KAAmBmuE,EAAOrtD,OAAO83D,GAAqB,UAAbvjE,EAAKrV,KAAmB+rF,GAASnT,GAAQA,EAC/F,IAAK,OAAQ,OAAOiO,EAASxxE,EAAKwH,KAAMyC,GACxC,IAAK,SAAU,OAAOA,EACtB,QAAS,MAAM,IAAIvQ,MAAM,qBAAuBsG,EAAKrV,OAIvD,SAASksJ,GAAUt/C,EAAIv3F,GACtBq4D,IACAolE,GAASlmC,GACT,IAAItzF,EAAIjE,GAAM,GAEd,GADGiE,EAAEi4F,aAAcj4F,EAAEkqG,QAAS,EAAMlqG,EAAEo7E,YAAa,GACtC,SAAVp7E,EAAEtZ,KAAiB,CAAEsZ,EAAEtZ,KAAO,SAAU,IAAIsf,EAAO4sI,GAAUt/C,EAAItzF,GAAuB,OAAlBA,EAAEtZ,KAAO,QAAgBwuE,EAAKlvD,GACvG,OAAOhG,EAAEgkF,UAAY,QACpB,IAAK,MACL,IAAK,OAAQ,OAAOwuD,GAAkB7P,GAAWrvC,EAAItzF,GAAIA,GACzD,IAAK,MACL,IAAK,OAAQ,OAAOwyI,GAAkBnE,GAAc/6C,EAAItzF,GAAIA,GAC5D,IAAK,MACL,IAAK,OAAQ,OAAOwyI,GAAkBtE,GAAc56C,EAAItzF,GAAIA,GAC5D,IAAK,MAAO,OAAO0yI,GAAgBjE,GAAcn7C,EAAItzF,GAAIA,GACzD,IAAK,MAAO,OAAOwyI,GAAkBrE,GAAc76C,EAAItzF,GAAIA,EAAG,UAC9D,IAAK,MAAO,OAAOwyI,GAAkBlE,GAAch7C,EAAItzF,GAAIA,GAC3D,IAAK,MAAO,OAAO2yI,GAAkBhE,GAAcr7C,EAAItzF,GAAIA,GAC3D,IAAK,MAAO,OAAOwyI,GAAkBjE,GAAcj7C,EAAItzF,GAAIA,GAC3D,IAAK,MAAO,OAAOwyI,GAAkBhE,GAAcl7C,EAAItzF,GAAIA,GAC3D,IAAK,MAAO,OAAOwyI,GAAkB5D,GAAct7C,EAAItzF,GAAIA,GAC3D,IAAK,OAAQ,OAAOwyI,GAAkBzE,GAAUz6C,EAAItzF,GAAIA,GACxD,IAAK,QAAaA,EAAE83E,OAAM93E,EAAE83E,KAAO,GACnC,IAAK,QAAa93E,EAAE83E,OAAM93E,EAAE83E,KAAO,GACnC,IAAK,QAAiC,OAApB93E,EAAE83E,OAAM93E,EAAE83E,KAAO,GAAU66D,GAAkB1K,GAAe30C,EAAItzF,GAAIA,GACtF,IAAK,QAAaA,EAAE83E,OAAM93E,EAAE83E,KAAO,GACnC,IAAK,QACL,IAAK,MACL,IAAK,MAA+B,OAApB93E,EAAE83E,OAAM93E,EAAE83E,KAAO,GAAUy6D,GAAej/C,EAAItzF,GAC9D,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,MAAO,OAAOoyI,GAAe9+C,EAAItzF,GACtC,QAAS,MAAM,IAAIvK,MAAO,0BAA4BuK,EAAEgkF,SAAW,MAIrE,SAAS6uD,GAAkB7yI,GAC1B,IAAGA,EAAEgkF,SAAL,CACA,IAAI8uD,EAAM,CACT,IAAO,QACP,IAAO,OACP,IAAO,OACP,WAAc,MACd,QAAW,OAERv1B,EAAMv9G,EAAEuD,KAAK2C,MAAMlG,EAAEuD,KAAKwnC,YAAY,MAAMmC,cAC7CqwE,EAAIx+G,MAAM,gBAAeiB,EAAEgkF,SAAWu5B,EAAIr3G,MAAM,IACnDlG,EAAEgkF,SAAW8uD,EAAI9yI,EAAEgkF,WAAahkF,EAAEgkF,UAGnC,SAASzc,GAAc+rB,EAAIpnD,EAAUnwC,GACpC,IAAIiE,EAAIjE,GAAM,GAGd,OAHkBiE,EAAEtZ,KAAO,OAC3BsZ,EAAEuD,KAAO2oC,EACT2mG,GAAkB7yI,GACX4yI,GAAUt/C,EAAItzF,GAGtB,SAAS+yI,GAAe7mG,EAAUonD,EAAIv3F,EAAMsF,GAC3C,IAAIrB,EAAIjE,GAAM,GAAIiE,EAAEtZ,KAAO,OAC3BsZ,EAAEuD,KAAO2oC,EACT2mG,GAAkB7yI,GAClBA,EAAEtZ,KAAO,SACT,IAAIssJ,EAAM3xI,EACV,OADmB2xI,aAAeC,WAAWD,EAAM,GAC5CpzE,EAAIsN,UAAUhhC,EAAU0mG,GAAUt/C,EAAItzF,GAAIgzI,GAElD,SAASE,GAAc54D,EAAOz3C,EAAGm9B,EAAGunC,EAAM37D,EAAQshD,EAAKtS,EAAO56E,GAC7D,IAAI+6D,EAAKud,GAAWtY,GAChBmzE,EAASnzI,EAAEmzI,OAAQn9F,EAAMh2C,EAAEg2C,MAAQtoD,OAAOkE,UAAUkN,eAAeb,KAAK+B,EAAG,OAC3EozI,GAAU,EACVtnJ,EAAkB,IAAX8/C,EAAgB,GAAK,GAChC,GAAc,IAAXA,EACF,GAAGl+C,OAAOwU,eAAgB,IAAMxU,OAAOwU,eAAepW,EAAK,aAAc,CAACtI,MAAMw8E,EAAGvmE,YAAW,IAAW,MAAM1I,IAAKjF,EAAIunJ,WAAarzE,OAChIl0E,EAAIunJ,WAAarzE,EAEvB,IAAI4a,GAASN,EAAMta,GAAI,IAAK,IAAIv4D,EAAIo7B,EAAEh8B,EAAEzW,EAAGqX,GAAKo7B,EAAE9xC,EAAEX,IAAKqX,EAAG,CAC3D,IAAItK,EAAMy9E,EAAQN,EAAMta,GAAGv4D,GAAK6yE,EAAMitB,EAAK9/F,GAAKszD,GAChD,QAAW7uE,IAARiR,QAA+BjR,IAAViR,EAAIylC,EAA5B,CAKA,IAAI51C,EAAImQ,EAAInQ,EACZ,OAAOmQ,EAAIylC,GACV,IAAK,IAAK,GAAQ,MAAL51C,EAAW,MAAO,SAC/B,IAAK,IAAKA,OAAI,EAAQ,MACtB,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MACxC,QAAS,MAAM,IAAIyI,MAAM,qBAAuB0H,EAAIylC,GAErD,GAAa,MAAVsqD,EAAIzlF,GAAY,CAClB,GAAQ,MAALza,EACF,QAAcd,IAAXinJ,EAAsBrnJ,EAAIohG,EAAIzlF,IAAM0rI,MAClC,KAAGn9F,GAAa,OAANhpD,EACV,SADsBlB,EAAIohG,EAAIzlF,IAAM,UAGzC3b,EAAIohG,EAAIzlF,IAAMuuC,EAAMhpD,EAAIotF,GAAYj9E,EAAInQ,EAAEgT,GAEnC,MAALhT,IAAWomJ,GAAU,QApBzB,CACC,QAAclnJ,IAAXinJ,EAAsB,SACZ,MAAVjmD,EAAIzlF,KAAc3b,EAAIohG,EAAIzlF,IAAM0rI,IAqBrC,MAAO,CAAErnJ,IAAKA,EAAKsnJ,QAASA,GAI7B,SAAS9xC,GAAchnB,EAAOv+E,GAC7B,GAAY,MAATu+E,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAAIn9E,EAAM,CAACylC,EAAE,IAAI51C,EAAE,GAAI4+C,EAAS,EAAGxG,EAAS,EAAG8nD,EAAM,GAAIlgG,EAAE,EAAGswE,EAAG,GAC7Dz6B,EAAI,CAACh8B,EAAE,CAACg8B,EAAE,EAAEzyC,EAAE,GAAGW,EAAE,CAAC8xC,EAAE,EAAEzyC,EAAE,IAC1B4P,EAAIjE,GAAQ,GACZi8E,EAAmB,MAAXh4E,EAAEg4E,MAAgBh4E,EAAEg4E,MAAQsC,EAAM,QAK9C,OAJgB,IAAbt6E,EAAE4rC,OAAcA,EAAS,EACP,MAAb5rC,EAAE4rC,OAAgBA,EAAS,EAC3BrkD,MAAMC,QAAQwY,EAAE4rC,QAASA,EAAS,EACtB,MAAZ5rC,EAAE4rC,SAAgBA,EAAS,UACrBosC,GACb,IAAK,SAAUn1C,EAAIm3C,GAAkBhC,GAAQ,MAC7C,IAAK,SAAUn1C,EAAIm3C,GAAkBM,EAAM,SAAUz3C,EAAEh8B,EAAEg8B,EAAIm1C,EAAO,MACpE,QAASn1C,EAAIm1C,EAEXpsC,EAAS,IAAGxG,EAAS,GACxB,IAAI21B,EAAKud,GAAWz1C,EAAEh8B,EAAEg8B,GACpB0kE,EAAO,GACPvhG,EAAM,GACNstI,EAAO,EAAGC,EAAU,EACpB34D,EAAQrzF,MAAMC,QAAQ8yF,GACtBta,EAAIn9B,EAAEh8B,EAAEg8B,EAAGp7B,EAAI,EAAG+rI,EAAK,EAE3B,IADG54D,IAAUN,EAAMta,KAAIsa,EAAMta,GAAK,IAC9Bv4D,EAAIo7B,EAAEh8B,EAAEzW,EAAGqX,GAAKo7B,EAAE9xC,EAAEX,IAAKqX,EAG5B,OAFA8/F,EAAK9/F,GAAK8wE,GAAW9wE,GACrBtK,EAAMy9E,EAAQN,EAAMta,GAAGv4D,GAAK6yE,EAAMitB,EAAK9/F,GAAKszD,GACrCnvB,GACN,KAAK,EAAGshD,EAAIzlF,GAAKA,EAAIo7B,EAAEh8B,EAAEzW,EAAG,MAC5B,KAAK,EAAG88F,EAAIzlF,GAAK8/F,EAAK9/F,GAAI,MAC1B,KAAK,EAAGylF,EAAIzlF,GAAKzH,EAAE4rC,OAAOnkC,EAAIo7B,EAAEh8B,EAAEzW,GAAI,MACtC,QAIC,IAHU,MAAP+M,IAAaA,EAAM,CAAC8I,EAAG,UAAW28B,EAAG,MACxC06B,EAAKtwE,EAAIotF,GAAYj9E,EAAK,KAAM6C,GAChCuzI,EAAU,EACNC,EAAK,EAAGA,EAAKtmD,EAAI73F,SAAUm+I,EAAOtmD,EAAIsmD,IAAOl2E,IAAIA,EAAKtwE,EAAI,OAASumJ,GACvErmD,EAAIzlF,GAAK61D,EAGZ,IAAK0C,EAAIn9B,EAAEh8B,EAAEg8B,EAAIuC,EAAQ46B,GAAKn9B,EAAE9xC,EAAE8xC,IAAKm9B,EAAG,CACzC,IAAIl0E,EAAMonJ,GAAc54D,EAAOz3C,EAAGm9B,EAAGunC,EAAM37D,EAAQshD,EAAKtS,EAAO56E,KAC3C,IAAhBlU,EAAIsnJ,UAAkC,IAAXxnG,GAA+B,IAAhB5rC,EAAEyzI,UAAwBzzI,EAAEyzI,cAAYztI,EAAIstI,KAAUxnJ,EAAIA,KAGzG,OADAka,EAAI3Q,OAASi+I,EACNttI,EAGR,IAAI0tI,GAAO,KACX,SAASC,GAAar5D,EAAOz3C,EAAGm9B,EAAGunC,EAAMznC,EAAIqtC,EAAIymC,EAAI5zI,GAGpD,IAFA,IAAIozI,GAAU,EACVtnJ,EAAM,GAAI+nJ,EAAM,GAAI94E,EAAKud,GAAWtY,GAChCv4D,EAAIo7B,EAAEh8B,EAAEzW,EAAGqX,GAAKo7B,EAAE9xC,EAAEX,IAAKqX,EAChC,GAAK8/F,EAAK9/F,GAAV,CACA,IAAItK,EAAM6C,EAAE46E,OAASN,EAAMta,IAAI,IAAIv4D,GAAI6yE,EAAMitB,EAAK9/F,GAAKszD,GACvD,GAAU,MAAP59D,EAAa02I,EAAM,QACjB,GAAY,MAAT12I,EAAInQ,EAAW,CACtBomJ,GAAU,EACVS,EAAM,GAAGz5D,GAAYj9E,EAAK,KAAM6C,GAChC,IAAI,IAAIlO,EAAI,EAAGypE,EAAK,EAAGzpE,IAAM+hJ,EAAIx+I,SAAUvD,EAAG,IAAIypE,EAAKs4E,EAAIv+I,WAAWxD,MAAQguE,GAAMvE,IAAO4xC,GAAa,KAAP5xC,EAAW,CAACs4E,EAAM,IAAOA,EAAI5gJ,QAAQygJ,GAAM,MAAQ,IAAM,MAChJ,MAAPG,IAAaA,EAAM,aACJ,MAAT12I,EAAI9L,GAAc8L,EAAI2K,EAGzB+rI,EAAM,IAFZT,GAAU,EACVS,EAAM,IAAM12I,EAAI9L,EAAMwiJ,EAAIl+I,QAAQ,MAAQ,IAAGk+I,EAAM,IAAMA,EAAI5gJ,QAAQygJ,GAAM,MAAQ,MAGpF5nJ,EAAI2K,KAAKo9I,GAEV,OAAmB,IAAhB7zI,EAAEyzI,WAAuBL,EAAgB,KACrCtnJ,EAAI4K,KAAKk9I,GAGjB,SAASxF,GAAa9zD,EAAOv+E,GAC5B,IAAIiK,EAAM,GACNhG,EAAY,MAARjE,EAAe,GAAKA,EAC5B,GAAY,MAATu+E,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAAIz3C,EAAIm3C,GAAkBM,EAAM,SAC5Bs5D,OAAc1nJ,IAAT8T,EAAE4zI,GAAmB5zI,EAAE4zI,GAAK,IAAK9zE,EAAK8zE,EAAGt+I,WAAW,GACzD0yG,OAAc97G,IAAT8T,EAAEgoG,GAAmBhoG,EAAEgoG,GAAK,KAAMmF,EAAKnF,EAAG1yG,WAAW,GAC1Dw+I,EAAW,IAAI/1I,QAAY,KAAJ61I,EAAU,MAAQA,GAAI,MAC7C9nJ,EAAM,GAAIy7G,EAAO,GACrBvnG,EAAE46E,MAAQrzF,MAAMC,QAAQ8yF,GAGxB,IAFA,IAAI6rB,EAAUnmG,EAAE+zI,YAAcz5D,EAAM,UAAY,GAC5C4rB,EAAUlmG,EAAE+zI,YAAcz5D,EAAM,UAAY,GACxC7yE,EAAIo7B,EAAEh8B,EAAEzW,EAAGqX,GAAKo7B,EAAE9xC,EAAEX,IAAKqX,GAAU0+F,EAAQ1+F,IAAI,IAAU,SAAG8/F,EAAK9/F,GAAK8wE,GAAW9wE,IACzF,IAAI,IAAIu4D,EAAIn9B,EAAEh8B,EAAEg8B,EAAGm9B,GAAKn9B,EAAE9xC,EAAE8xC,IAAKm9B,GAC3BkmC,EAAQlmC,IAAI,IAAI+zB,SACrBjoG,EAAM6nJ,GAAar5D,EAAOz3C,EAAGm9B,EAAGunC,EAAMznC,EAAIqtC,EAAIymC,EAAI5zI,GACxC,MAAPlU,IACAkU,EAAEg0I,QAAOloJ,EAAMA,EAAImH,QAAQ6gJ,EAAS,KACvC9tI,EAAIvP,KAAK3K,EAAMk8G,KAGhB,cADOhoG,EAAE46E,MACF50E,EAAItP,KAAK,IAGjB,SAASg4I,GAAap0D,EAAOv+E,GACxBA,IAAMA,EAAO,IAAIA,EAAK63I,GAAK,KAAM73I,EAAKisG,GAAK,KAC/C,IAAInhG,EAAIunI,GAAa9zD,EAAOv+E,GAC5B,GAAqB,oBAAX4H,SAAuC,UAAb5H,EAAKrV,KAAkB,OAAOmgB,EAClE,IAAI7G,EAAI2D,QAAQ8E,MAAMjB,OAAO,KAAMX,EAAG,OACtC,OAAOhM,OAAO+J,aAAa,KAAO/J,OAAO+J,aAAa,KAAO5E,EAG9D,SAASi0I,GAAkB35D,GAC1B,IAAYx/E,EAARusB,EAAI,GAAOlqB,EAAI,GACnB,GAAY,MAATm9E,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAA8D7yE,EAA1Do7B,EAAIm3C,GAAkBM,EAAM,SAAUvf,EAAK,GAAIwsC,EAAO,GACtD2sC,EAAO,GACPt5D,EAAQrzF,MAAMC,QAAQ8yF,GAC1B,IAAI7yE,EAAIo7B,EAAEh8B,EAAEzW,EAAGqX,GAAKo7B,EAAE9xC,EAAEX,IAAKqX,EAAG8/F,EAAK9/F,GAAK8wE,GAAW9wE,GACrD,IAAI,IAAIu4D,EAAIn9B,EAAEh8B,EAAEg8B,EAAGm9B,GAAKn9B,EAAE9xC,EAAE8xC,IAAKm9B,EAEhC,IADAjF,EAAKud,GAAWtY,GACZv4D,EAAIo7B,EAAEh8B,EAAEzW,EAAGqX,GAAKo7B,EAAE9xC,EAAEX,IAAKqX,EAI5B,GAHA4f,EAAIkgF,EAAK9/F,GAAKszD,EACdjgE,EAAI8/E,GAASN,EAAMta,IAAI,IAAIv4D,GAAK6yE,EAAMjzD,GACtClqB,EAAM,QACGjR,IAAN4O,EAAH,CACK,GAAU,MAAPA,EAAEgN,EAAW,CAEpB,GADAuf,EAAIvsB,EAAEgN,GACFhN,EAAEzJ,EAAG,SACT8L,EAAMrC,EAAEzJ,GACc,GAAnBg2B,EAAE1xB,QAAQ,OAAY0xB,EAAIA,EAAI,IAAMA,GAExC,GAAU,MAAPvsB,EAAEzJ,EAAW8L,EAAMrC,EAAEzJ,MACnB,IAAU,KAAPyJ,EAAE8nC,EAAU,SACf,GAAU,KAAP9nC,EAAE8nC,GAAmB,MAAP9nC,EAAE9N,EAAWmQ,EAAM,GAAKrC,EAAE9N,OAC3C,GAAU,KAAP8N,EAAE8nC,EAAUzlC,EAAMrC,EAAE9N,EAAI,OAAS,aACpC,QAAWd,IAAR4O,EAAEmL,EAAiB9I,EAAM,IAAMrC,EAAEmL,MACpC,SAAW/Z,IAAR4O,EAAE9N,EAAiB,SACPmQ,EAAL,KAAPrC,EAAE8nC,EAAgB,IAAM9nC,EAAE9N,EACvB,GAAG8N,EAAE9N,GAChBknJ,EAAKA,EAAK7+I,QAAUgyB,EAAI,IAAMlqB,EAGhC,OAAO+2I,EAGR,SAASC,GAAex5D,EAAKy5D,EAAIr4I,GAChC,IAWI47E,EAXA33E,EAAIjE,GAAQ,GACZqpC,IAAWplC,EAAEq0I,WACbx5D,EAAKF,GAAO,GACZG,EAAK,EAAGC,EAAK,EACjB,GAAGF,GAAkB,MAAZ76E,EAAE5N,OACV,GAAsB,iBAAZ4N,EAAE5N,OAAoB0oF,EAAK96E,EAAE5N,WAClC,CACJ,IAAI4oF,EAA6B,iBAAZh7E,EAAE5N,OAAqBsnF,GAAY15E,EAAE5N,QAAU4N,EAAE5N,OACtE0oF,EAAKE,EAAQn4C,EAAGk4C,EAAKC,EAAQ5qF,EAI/B,IAAI4nF,EAAQ,CAAEnxE,EAAG,CAACzW,EAAE,EAAGyyC,EAAE,GAAI9xC,EAAG,CAACX,EAAE2qF,EAAIl4C,EAAEi4C,EAAKs5D,EAAG/+I,OAAS,EAAI+vC,IAC9D,GAAGy1C,EAAG,QAAS,CACd,IAAII,EAASjB,GAAkBa,EAAG,SAClC7C,EAAMjnF,EAAEX,EAAI5H,KAAK2gC,IAAI6uD,EAAMjnF,EAAEX,EAAG6qF,EAAOlqF,EAAEX,GACzC4nF,EAAMjnF,EAAE8xC,EAAIr6C,KAAK2gC,IAAI6uD,EAAMjnF,EAAE8xC,EAAGo4C,EAAOlqF,EAAE8xC,IAC/B,GAAPi4C,IAAYA,EAAK9C,EAAMjnF,EAAE8xC,EAAI,EAAGm1C,EAAMjnF,EAAE8xC,EAAIi4C,EAAKs5D,EAAG/+I,OAAS,EAAI+vC,GAErE,IAAI8nD,EAAMltF,EAAE4rC,QAAU,GAAInkC,EAAI,EAE9B2sI,EAAGl3I,SAAQ,SAAUo3I,EAAIt0E,GACxB9lE,EAAKo6I,GAAIp3I,SAAQ,SAASzS,IACC,IAAtBgd,EAAEylF,EAAIv3F,QAAQlL,MAAWyiG,EAAIzlF,EAAEylF,EAAI73F,QAAU5K,GACjD,IAAIuC,EAAIsnJ,EAAG7pJ,GACPm4C,EAAI,IACJwuC,EAAI,GACJxsF,EAAMszF,GAAY,CAAC9nF,EAAE2qF,EAAKtzE,EAAEo7B,EAAEi4C,EAAK9a,EAAI56B,IAC3CuyC,EAAOlvE,GAAM8rI,eAAe15D,EAAIj2F,IAC7BoI,GAAkB,kBAANA,GAAoBA,aAAamR,MAGhC,iBAALnR,EAAe41C,EAAI,IACT,kBAAL51C,EAAgB41C,EAAI,IACf,iBAAL51C,EAAe41C,EAAI,IAC1B51C,aAAamR,OACpBykC,EAAI,IACA5iC,EAAEq7E,YAAaz4C,EAAI,IAAK51C,EAAI2hF,GAAQ3hF,IACxCokF,EAAKpxE,EAAEq+D,QAAU3I,EAAI6I,OAAO,KAEzBoZ,GAEHA,EAAK/0C,EAAIA,EAAG+0C,EAAK3qF,EAAIA,SACd2qF,EAAK1xE,SAAU0xE,EAAK3X,EACxBoR,IAAGuG,EAAKvG,EAAIA,IAJNyJ,EAAGj2F,GAAO+yF,EAAO,CAAE/0C,EAAEA,EAAG51C,EAAEA,GAMjCokF,IAAGuG,EAAKvG,EAAIA,IAhBfyJ,EAAGj2F,GAAOoI,QAoBbgrF,EAAMjnF,EAAEX,EAAI5H,KAAK2gC,IAAI6uD,EAAMjnF,EAAEX,EAAG2qF,EAAKmS,EAAI73F,OAAS,GAClD,IAAI6lF,EAAM5C,GAAWwC,GACrB,GAAG11C,EAAQ,IAAI39B,EAAI,EAAGA,EAAIylF,EAAI73F,SAAUoS,EAAGozE,EAAGtC,GAAW9wE,EAAIszE,GAAMG,GAAO,CAACt4C,EAAE,IAAK51C,EAAEkgG,EAAIzlF,IAExF,OADAozE,EAAG,QAAUhB,GAAa7B,GACnB6C,EAER,SAAS25D,GAAcJ,EAAIr4I,GAAQ,OAAOo4I,GAAe,KAAMC,EAAIr4I,GAEnE,IAAI0M,GAAQ,CACX8vE,WAAYA,GACZD,WAAYA,GACZJ,YAAaA,GACb2B,aAAcA,GACdR,WAAYA,GACZJ,WAAYA,GACZQ,WAAYA,GACZC,YAAaA,GACbE,aAAcA,GACdQ,YAAaA,GACbq6D,aAAcR,GACdS,SAAUtG,GACVuG,UAAWrzC,GACXszC,cAAeX,GACfv5D,cAAeA,GACfy5D,eAAgBA,GAChB54D,aAAcA,GACdi5D,cAAeA,GACfK,eAAgBjK,GAChBI,cAAeA,GACfoD,aAAcA,GACdM,aAAcA,GACdptC,cAAeA,GACfipC,cAAepL,GAAMl9B,WACrBgyC,kBAAmBA,GACnBa,0BAA2BxzC,KAG5B,SAAU74F,GAEV,SAASssI,EAAW/0E,GAAmBA,EAAE9iE,SAAQ,SAAStW,GAAI6hB,EAAM+9D,OAAO5/E,EAAE,IAAMA,EAAE,MAErF,SAASouJ,EAAYl6I,EAAGusB,EAAG+pD,GAAK,OAAe,MAARt2E,EAAEusB,GAAavsB,EAAEusB,GAAMvsB,EAAEusB,GAAK+pD,EAGrE,SAAS6jE,EAAiBp6D,EAAI7a,EAAGv4D,GAEhC,GAAe,iBAALu4D,EAAe,CAExB,GAAGz4E,MAAMC,QAAQqzF,GAAK,CACrB,IAAIq6D,EAAKx7D,GAAY1Z,GAErB,OADI6a,EAAGq6D,EAAGryG,KAAIg4C,EAAGq6D,EAAGryG,GAAK,IAClBg4C,EAAGq6D,EAAGryG,GAAGqyG,EAAG9kJ,KAAOyqF,EAAGq6D,EAAGryG,GAAGqyG,EAAG9kJ,GAAK,CAACwyC,EAAE,MAE/C,OAAOi4C,EAAG7a,KAAO6a,EAAG7a,GAAK,CAACp9B,EAAE,MAG7B,OAAgCqyG,EAAiBp6D,EAAI3C,GAAtC,iBAALlY,EAAuDA,EAEzB,CAACn9B,EAAEm9B,EAAE5vE,EAAEqX,GAAG,KAKnD,SAAS0tI,EAAa7hD,EAAI8hD,GACzB,GAAgB,iBAANA,EAAgB,CACzB,GAAGA,GAAM,GAAK9hD,EAAG9Y,WAAWnlF,OAAS+/I,EAAI,OAAOA,EAChD,MAAM,IAAI3/I,MAAM,uBAAyB2/I,GACnC,GAAgB,iBAANA,EAAgB,CAChC,IAAIh4I,EAAMk2F,EAAG9Y,WAAW7kF,QAAQy/I,GAChC,GAAGh4I,GAAO,EAAG,OAAOA,EACpB,MAAM,IAAI3H,MAAM,2BAA6B2/I,EAAK,KAC5C,MAAM,IAAI3/I,MAAM,sBAAwB2/I,EAAK,KAjCrD3sI,EAAM+9D,OAAS/9D,EAAM+9D,QAAU,GAsB/B/9D,EAAM8rI,eAAiBU,EAevBxsI,EAAM4sI,SAAW,WAChB,MAAO,CAAE76D,WAAY,GAAIC,OAAQ,KAIlChyE,EAAM6sI,kBAAoB,SAAShiD,EAAIzY,EAAI32F,GAC1C,IAAIA,EAAM,IAAI,IAAI4N,EAAI,EAAGA,GAAK,QAAUA,EAAG,IAAiD,GAA9CwhG,EAAG9Y,WAAW7kF,QAAQzR,EAAO,QAAU4N,GAAU,MAC/F,IAAI5N,EAAM,MAAM,IAAIuR,MAAM,uBAE1B,GADA0jI,GAAcj1I,GACXovG,EAAG9Y,WAAW7kF,QAAQzR,IAAS,EAAG,MAAM,IAAIuR,MAAM,wBAA0BvR,EAAO,qBAEtFovG,EAAG9Y,WAAW/jF,KAAKvS,GACnBovG,EAAG7Y,OAAOv2F,GAAQ22F,GAInBpyE,EAAM8sI,0BAA4B,SAASjiD,EAAI8hD,EAAII,GAClDR,EAAY1hD,EAAG,WAAW,IAC1B0hD,EAAY1hD,EAAG07B,SAAS,SAAS,IAEjC,IAAI5xH,EAAM+3I,EAAa7hD,EAAI8hD,GAI3B,OAFAJ,EAAY1hD,EAAG07B,SAASv0C,OAAOr9E,EAAK,IAE7Bo4I,GACN,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG,MACxB,QAAS,MAAM,IAAI//I,MAAM,gCAAkC+/I,GAG5DliD,EAAG07B,SAASv0C,OAAOr9E,GAAKy8H,OAAS2b,GAElCT,EAAW,CACV,CAAC,gBAAiB,GAClB,CAAC,eAAgB,GACjB,CAAC,oBAAqB,KAIvBtsI,EAAMgtI,uBAAyB,SAAS99D,EAAMre,GAE7C,OADAqe,EAAKvG,EAAI9X,EACFqe,GAIRlvE,EAAMitI,mBAAqB,SAAS/9D,EAAMrlF,EAAQmX,GAOjD,OANInX,GAGHqlF,EAAKxkF,EAAI,CAAG6xF,OAAQ1yF,GACjBmX,IAASkuE,EAAKxkF,EAAE29F,QAAUrnF,WAHtBkuE,EAAKxkF,EAKNwkF,GAERlvE,EAAMktI,uBAAyB,SAASh+D,EAAMK,EAAOvuE,GAAW,OAAOhB,EAAMitI,mBAAmB/9D,EAAM,IAAMK,EAAOvuE,IAGnHhB,EAAMmtI,iBAAmB,SAASj+D,EAAM7mE,EAAMquG,GACzCxnC,EAAKvnF,IAAGunF,EAAKvnF,EAAI,IACrBunF,EAAKvnF,EAAEqG,KAAK,CAACmsC,EAAE9xB,EAAMlqB,EAAEu4H,GAAQ,aAIhC12G,EAAMotI,wBAA0B,SAASh7D,EAAI7C,EAAO0uB,GAGnD,IAFA,IAAI2oB,EAAsB,iBAATr3C,EAAoBA,EAAQgC,GAAkBhC,GAC3D89D,EAAyB,iBAAT99D,EAAoBA,EAAQ6B,GAAa7B,GACrDhY,EAAIqvD,EAAIxoH,EAAEg8B,EAAGm9B,GAAKqvD,EAAIt+H,EAAE8xC,IAAKm9B,EAAG,IAAI,IAAIv4D,EAAI4nH,EAAIxoH,EAAEzW,EAAGqX,GAAK4nH,EAAIt+H,EAAEX,IAAKqX,EAAG,CAC/E,IAAIkwE,EAAOs9D,EAAiBp6D,EAAI7a,EAAGv4D,GACnCkwE,EAAK/0C,EAAI,IACT+0C,EAAK7vE,EAAIguI,SACFn+D,EAAK3qF,EACTgzE,GAAKqvD,EAAIxoH,EAAEg8B,GAAKp7B,GAAK4nH,EAAIxoH,EAAEzW,IAAGunF,EAAKtmF,EAAIq1G,GAE3C,OAAO7rB,IA9GR,CAkHGpyE,IAEA3D,GAA0C,WAC5C,IAAIixI,EAAW,EAAQ,GAAUA,SAE7BC,EAAmB,SAAS17D,EAAOv+E,GACtC,IAAIkwC,EAAS8pG,IACT/1I,EAAY,MAARjE,EAAe,GAAKA,EAC5B,GAAY,MAATu+E,GAAkC,MAAjBA,EAAM,QAAsC,OAAnBruC,EAAOx1C,KAAK,MAAcw1C,EACvE,IAAIpJ,EAAIm3C,GAAkBM,EAAM,SAC5Bs5D,OAAc1nJ,IAAT8T,EAAE4zI,GAAmB5zI,EAAE4zI,GAAK,IAAK9zE,EAAK8zE,EAAGt+I,WAAW,GACzD0yG,OAAc97G,IAAT8T,EAAEgoG,GAAmBhoG,EAAEgoG,GAAK,KAAMmF,EAAKnF,EAAG1yG,WAAW,GAC1Dw+I,EAAW,IAAI/1I,QAAY,KAAJ61I,EAAU,MAAQA,GAAI,MAC7C9nJ,EAAM,GAAIy7G,EAAO,GACrBvnG,EAAE46E,MAAQrzF,MAAMC,QAAQ8yF,GAGxB,IAFA,IAAI6rB,EAAUnmG,EAAE+zI,YAAcz5D,EAAM,UAAY,GAC5C4rB,EAAUlmG,EAAE+zI,YAAcz5D,EAAM,UAAY,GACxC7yE,EAAIo7B,EAAEh8B,EAAEzW,EAAGqX,GAAKo7B,EAAE9xC,EAAEX,IAAKqX,GAAU0+F,EAAQ1+F,IAAI,IAAU,SAAG8/F,EAAK9/F,GAAK8wE,GAAW9wE,IACzF,IAAIu4D,EAAIn9B,EAAEh8B,EAAEg8B,EACRozG,GAAM,EAeV,OAdAhqG,EAAOiqG,MAAQ,WACd,IAAID,EAAmB,OAAZA,GAAM,EAAahqG,EAAOx1C,KAAK,UAC1C,MAAMupE,GAAKn9B,EAAE9xC,EAAE8xC,EAEd,KADEm9B,IACGkmC,EAAQlmC,EAAE,IAAI,IAAI+zB,SACvBjoG,EAAM6nJ,GAAar5D,EAAOz3C,EAAGm9B,EAAE,EAAGunC,EAAMznC,EAAIqtC,EAAIymC,EAAI5zI,GAC1C,MAAPlU,GAAa,CACZkU,EAAEg0I,QAAOloJ,EAAMA,EAAImH,QAAQ6gJ,EAAS,KACvC7nG,EAAOx1C,KAAK3K,EAAMk8G,GAClB,MAGF,OAAGhoC,EAAIn9B,EAAE9xC,EAAE8xC,EAAUoJ,EAAOx1C,KAAK,WAAjC,GAEMw1C,GAGJkqG,EAAoB,SAASt7D,EAAI9+E,GACpC,IAAIkwC,EAAS8pG,IAET/1I,EAAIjE,GAAQ,GACZ6vC,EAAqB,MAAZ5rC,EAAE4rC,OAAiB5rC,EAAE4rC,OAASuzF,GAAMsL,MAC7C1rC,EAAqB,MAAZ/+F,EAAE++F,OAAiB/+F,EAAE++F,OAASogC,GAAMuL,IACjDz+F,EAAOx1C,KAAKm1C,GACZ,IAAI/I,EAAI+2C,GAAaiB,EAAG,SACxB76E,EAAE46E,MAAQrzF,MAAMC,QAAQqzF,GACxB5uC,EAAOx1C,KAAK0oI,GAAMwL,UAAU9vD,EAAIh4C,EAAG7iC,IACnC,IAAIggE,EAAIn9B,EAAEh8B,EAAEg8B,EACRtsC,GAAM,EAYV,OAXA01C,EAAOiqG,MAAQ,WACd,GAAGl2E,EAAIn9B,EAAE9xC,EAAE8xC,EAEV,OADItsC,IAAOA,GAAM,EAAM01C,EAAOx1C,KAAK,WAAasoG,IACzC9yD,EAAOx1C,KAAK,MAEpB,MAAMupE,GAAKn9B,EAAE9xC,EAAE8xC,EAAG,CACjBoJ,EAAOx1C,KAAK0oI,GAAMqL,KAAK3vD,EAAIh4C,EAAGm9B,EAAGhgE,MAC/BggE,EACF,QAGK/zB,GAGJmqG,EAAoB,SAAS97D,EAAOv+E,GACvC,IAAIkwC,EAAS8pG,EAAS,CAACM,YAAW,IAElC,GAAY,MAAT/7D,GAAkC,MAAjBA,EAAM,QAAsC,OAAnBruC,EAAOx1C,KAAK,MAAcw1C,EACvE,IAAI9uC,EAAM,CAACylC,EAAE,IAAI51C,EAAE,GAAI4+C,EAAS,EAAGxG,EAAS,EAAG8nD,EAAM,GAAIlgG,EAAE,EAAGswE,EAAG,GAC7Dz6B,EAAI,CAACh8B,EAAE,CAACg8B,EAAE,EAAEzyC,EAAE,GAAGW,EAAE,CAAC8xC,EAAE,EAAEzyC,EAAE,IAC1B4P,EAAIjE,GAAQ,GACZi8E,EAAmB,MAAXh4E,EAAEg4E,MAAgBh4E,EAAEg4E,MAAQsC,EAAM,QAI9C,OAHgB,IAAbt6E,EAAE4rC,OAAcA,EAAS,EACP,MAAb5rC,EAAE4rC,OAAgBA,EAAS,EAC3BrkD,MAAMC,QAAQwY,EAAE4rC,UAASA,EAAS,UAC5BosC,GACb,IAAK,SAAUn1C,EAAIm3C,GAAkBhC,GAAQ,MAC7C,IAAK,SAAUn1C,EAAIm3C,GAAkBM,EAAM,SAAUz3C,EAAEh8B,EAAEg8B,EAAIm1C,EAAO,MACpE,QAASn1C,EAAIm1C,EAEXpsC,EAAS,IAAGxG,EAAS,GACxB,IAAI21B,EAAKud,GAAWz1C,EAAEh8B,EAAEg8B,GACpB0kE,EAAO,GACPgsC,EAAU,EACV34D,EAAQrzF,MAAMC,QAAQ8yF,GACtBta,EAAIn9B,EAAEh8B,EAAEg8B,EAAGp7B,EAAI,EAAG+rI,EAAK,EAE3B,IADG54D,IAAUN,EAAMta,KAAIsa,EAAMta,GAAK,IAC9Bv4D,EAAIo7B,EAAEh8B,EAAEzW,EAAGqX,GAAKo7B,EAAE9xC,EAAEX,IAAKqX,EAG5B,OAFA8/F,EAAK9/F,GAAK8wE,GAAW9wE,GACrBtK,EAAMy9E,EAAQN,EAAMta,GAAGv4D,GAAK6yE,EAAMitB,EAAK9/F,GAAKszD,GACrCnvB,GACN,KAAK,EAAGshD,EAAIzlF,GAAKA,EAAIo7B,EAAEh8B,EAAEzW,EAAG,MAC5B,KAAK,EAAG88F,EAAIzlF,GAAK8/F,EAAK9/F,GAAI,MAC1B,KAAK,EAAGylF,EAAIzlF,GAAKzH,EAAE4rC,OAAOnkC,EAAIo7B,EAAEh8B,EAAEzW,GAAI,MACtC,QAIC,IAHU,MAAP+M,IAAaA,EAAM,CAAC8I,EAAG,UAAW28B,EAAG,MACxC06B,EAAKtwE,EAAIotF,GAAYj9E,EAAK,KAAM6C,GAChCuzI,EAAU,EACNC,EAAK,EAAGA,EAAKtmD,EAAI73F,SAAUm+I,EAAOtmD,EAAIsmD,IAAOl2E,IAAIA,EAAKtwE,EAAI,OAASumJ,GACvErmD,EAAIzlF,GAAK61D,EAgBZ,OAbA0C,EAAIn9B,EAAEh8B,EAAEg8B,EAAIuC,EACZ6G,EAAOiqG,MAAQ,WACd,GAAGl2E,EAAIn9B,EAAE9xC,EAAE8xC,EAAG,OAAOoJ,EAAOx1C,KAAK,MACjC,MAAMupE,GAAKn9B,EAAE9xC,EAAE8xC,EAAG,CAEjB,IAAI/2C,EAAMonJ,GAAc54D,EAAOz3C,EAAGm9B,EAAGunC,EAAM37D,EAAQshD,EAAKtS,EAAO56E,GAE/D,KADEggE,GACkB,IAAhBl0E,EAAIsnJ,UAAkC,IAAXxnG,GAA+B,IAAhB5rC,EAAEyzI,UAAwBzzI,EAAEyzI,WAAY,CACrFxnG,EAAOx1C,KAAK3K,EAAIA,KAChB,SAIImgD,GAGRymB,EAAKzmB,OAAS,CACbqqG,QAASF,EACTG,QAASJ,EACTK,OAAQR,GAtHmC,GA0HlB,qBAAjBtO,KAA8Bh1E,EAAKg1E,aAAeA,IAC5Dh1E,EAAK4O,UAAYA,GACjB5O,EAAKjB,KAAOugF,GACZt/E,EAAK+jF,SAAW1xE,GAChBrS,EAAKqS,aAAeA,GACpBrS,EAAKP,MAAQygF,GACblgF,EAAKwa,UAAY3F,GACjB7U,EAAK6U,cAAgBA,GACrB7U,EAAKqgF,eAAiBA,GACtBrgF,EAAKjqD,MAAQA,GACbiqD,EAAKgD,IAAMA,EACO,qBAARmK,IAAqBnN,EAAKmN,IAAMA,GAGPpN,EAAc7vE,K,0FC78pBjD,IAAIC,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACE,MAAM,CAAC,UAAY,aAAa,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,cAAc,EAAE,OAAS,eAAeF,EAAG,aAAa,CAACE,MAAM,CAAC,cAAc,EAAE,KAAO,CAAE,YAAa,qBAAsBF,EAAG,eAAe,CAACG,YAAY,kBAAkB,CAACH,EAAG,QAAQ,CAACE,MAAM,CAAC,cAAc,EAAE,KAAO,YAAY,OAAS,oBAAoBF,EAAG,UAAU,CAACA,EAAG,UAAU,CAACG,YAAY,eAAeD,MAAM,CAAC,KAAO,QAAQ,OAAS,KAAK,CAACF,EAAG,eAAe,CAACA,EAAG,WAAW,CAACG,YAAY,iBAAiBD,MAAM,CAAC,UAAY,GAAG,YAAcN,EAAIQ,GAAG,kCAAkCC,MAAM,CAACC,MAAOV,EAAIW,OAAsB,gBAAEC,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAIW,OAAQ,kBAAmBE,IAAME,WAAW,6BAA6B,GAAGX,EAAG,eAAe,CAACA,EAAG,WAAW,CAACE,MAAM,CAAC,UAAY,GAAG,YAAcN,EAAIQ,GAAG,yBAAyBC,MAAM,CAACC,MAAOV,EAAIW,OAAa,OAAEC,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAIW,OAAQ,SAAUE,IAAME,WAAW,oBAAoB,GAAGX,EAAG,eAAe,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,kBAAkBU,GAAG,CAAC,MAAQhB,EAAIiB,oBAAoB,GAAGb,EAAG,eAAe,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,iBAAiBU,GAAG,CAAC,MAAQhB,EAAIkB,0BAA0B,IAAI,GAAGd,EAAG,UAAU,CAACG,YAAY,eAAee,YAAY,CAAC,MAAQ,SAAShB,MAAM,CAAC,KAAO,QAAQ,OAAS,KAAK,CAACF,EAAG,eAAe,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,WAAWU,GAAG,CAAC,MAAQhB,EAAIyN,OAAO,CAACzN,EAAIwC,GAAGxC,EAAIyC,GAAGzC,EAAIQ,GAAG,oCAAoC,IAAI,GAAGJ,EAAG,WAAW,CAACe,WAAW,CAAC,CAACC,KAAK,UAAUC,QAAQ,YAAYX,MAAOV,EAAW,QAAEe,WAAW,YAAYO,YAAY,CAAC,MAAQ,QAAQhB,MAAM,CAAC,KAAON,EAAIuB,OAAO,CAACnB,EAAG,kBAAkB,CAACE,MAAM,CAAC,KAAO,UAAUqI,YAAY3I,EAAI4I,GAAG,CAAC,CAACzG,IAAI,UAAU0G,GAAG,SAASkD,GAAO,MAAO,CAAC3L,EAAG,UAAU,CAACG,YAAY,oBAAoBD,MAAM,CAAC,KAAO,OAAO,OAAS,KAAKN,EAAIiC,GAAIjC,EAAc,YAAE,SAASkC,EAAK+H,GAAO,OAAO7J,EAAG,eAAe,CAAC+B,IAAI8H,EAAM3J,MAAM,CAAC,MAAQN,EAAIQ,GAAG,iBAAmB0B,KAAQ,CAAC9B,EAAG,OAAO,CAACJ,EAAIwC,GAAGxC,EAAIyC,GAAGsJ,EAAM/C,IAAI9G,YAAc,UAAU9B,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,kBAAkB,MAAQN,EAAIQ,GAAG,oCAAoCJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,YAAY,MAAQN,EAAIQ,GAAG,8BAA8BJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,aAAa,MAAQN,EAAIQ,GAAG,6BAA6BmI,YAAY3I,EAAI4I,GAAG,CAAC,CAACzG,IAAI,UAAU0G,GAAG,SAASC,GAAO,MAAO,CAAC9I,EAAIwC,GAAGxC,EAAIyC,GAAGzC,EAAI0J,GAAG,aAAP1J,CAAqB8I,EAAME,IAAIgD,qBAAqB5L,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,gBAAgB,MAAQN,EAAIQ,GAAG,mCAAmC,GAAGJ,EAAG,YAAY,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,+BAA+B,QAAUR,EAAI6M,kBAAkB,MAAQ,SAAS7L,GAAG,CAAC,iBAAiB,SAASY,GAAQ5B,EAAI6M,kBAAkBjL,KAAU,CAACxB,EAAG,UAAU,CAAC0B,IAAI,OAAOvB,YAAY,aAAaD,MAAM,CAAC,MAAQN,EAAI+B,KAAK,MAAQ/B,EAAIgC,MAAM,OAAS,GAAG,cAAc,UAAU,CAAC5B,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,oBAAoB,KAAO,OAAO,CAACJ,EAAG,WAAW,CAACE,MAAM,CAAC,KAAO,YAAYG,MAAM,CAACC,MAAOV,EAAI+B,KAAO,GAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,KAAMlB,IAAME,WAAW,cAAc,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,oBAAoB,KAAO,OAAO,CAACJ,EAAG,WAAW,CAACkB,YAAY,CAAC,MAAQ,QAAQhB,MAAM,CAAC,KAAO,YAAYG,MAAM,CAACC,MAAOV,EAAI+B,KAAO,GAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,KAAMlB,IAAME,WAAW,cAAc,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,oBAAoB,KAAO,OAAO,CAACJ,EAAG,WAAW,CAACE,MAAM,CAAC,KAAO,YAAYG,MAAM,CAACC,MAAOV,EAAI+B,KAAO,GAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,KAAMlB,IAAME,WAAW,cAAc,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,oBAAoB,KAAO,OAAO,CAACJ,EAAG,WAAW,CAACE,MAAM,CAAC,KAAO,YAAYG,MAAM,CAACC,MAAOV,EAAI+B,KAAO,GAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,KAAMlB,IAAME,WAAW,cAAc,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,oBAAoB,KAAO,OAAO,CAACJ,EAAG,WAAW,CAACE,MAAM,CAAC,KAAO,YAAYG,MAAM,CAACC,MAAOV,EAAI+B,KAAO,GAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,KAAMlB,IAAME,WAAW,cAAc,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,oBAAoB,KAAO,OAAO,CAACJ,EAAG,WAAW,CAACE,MAAM,CAAC,KAAO,YAAYG,MAAM,CAACC,MAAOV,EAAI+B,KAAO,GAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,KAAMlB,IAAME,WAAW,cAAc,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,oBAAoB,KAAO,OAAO,CAACJ,EAAG,WAAW,CAACE,MAAM,CAAC,KAAO,YAAYG,MAAM,CAACC,MAAOV,EAAI+B,KAAO,GAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,KAAMlB,IAAME,WAAW,cAAc,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,oBAAoB,KAAO,OAAO,CAACJ,EAAG,WAAW,CAACE,MAAM,CAAC,KAAO,YAAYG,MAAM,CAACC,MAAOV,EAAI+B,KAAO,GAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,KAAMlB,IAAME,WAAW,cAAc,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,iCAAiC,KAAO,oBAAoB,CAACJ,EAAG,WAAW,CAACK,MAAM,CAACC,MAAOV,EAAI+B,KAAoB,gBAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,kBAAmBlB,IAAME,WAAW,2BAA2B,GAAGX,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,wBAAwB,KAAO,WAAW,CAACJ,EAAG,YAAY,CAACK,MAAM,CAACC,MAAOV,EAAI+B,KAAW,OAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,SAAUlB,IAAME,WAAW,gBAAgBf,EAAIiC,GAAIjC,EAAc,YAAE,SAASkC,GAAM,OAAO9B,EAAG,YAAY,CAAC+B,IAAID,EAAKE,GAAG9B,MAAM,CAAC,MAAQ4B,EAAKd,KAAK,MAAQc,EAAKE,SAAQ,IAAI,GAAGhC,EAAG,eAAe,CAACG,YAAY,eAAeD,MAAM,CAAC,MAAQN,EAAIQ,GAAG,sBAAsB,QAAU,wBAAwB,CAACJ,EAAG,YAAY,CAAC0B,IAAI,SAASvB,YAAY,cAAcD,MAAM,CAAC,OAASN,EAAI4pB,SAAS,gBAAgB5pB,EAAI6pB,aAAa,SAAW,GAAG,MAAQ,EAAE,eAAc,IAAQ,CAACzpB,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,UAAU,KAAO,WAAWgK,KAAK,WAAW,CAACtK,EAAIwC,GAAGxC,EAAIyC,GAAGzC,EAAIQ,GAAG,gCAAgCJ,EAAG,MAAM,CAACG,YAAY,iCAAiCD,MAAM,CAAC,KAAO,OAAOgK,KAAK,OAAO,CAACtK,EAAIwC,GAAGxC,EAAIyC,GAAGzC,EAAIQ,GAAG,sCAAsC,IAAI,GAAGJ,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIQ,GAAG,+BAA+B,KAAO,kBAAkB,CAACJ,EAAG,YAAY,CAACK,MAAM,CAACC,MAAOV,EAAI+B,KAAkB,cAAEnB,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAI+B,KAAM,gBAAiBlB,IAAME,WAAW,yBAAyB,GAAGX,EAAG,eAAe,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,WAAWU,GAAG,CAAC,MAAQ,SAASY,GAAQ,OAAO5B,EAAI+pB,SAAS,WAAW,CAAC/pB,EAAIwC,GAAGxC,EAAIyC,GAAGzC,EAAIQ,GAAG,4BAA4BJ,EAAG,YAAY,CAACY,GAAG,CAAC,MAAQ,SAASY,GAAQ,OAAO5B,EAAImI,UAAU,WAAW,CAACnI,EAAIwC,GAAGxC,EAAIyC,GAAGzC,EAAIQ,GAAG,4BAA4B,IAAI,IAAI,GAAGJ,EAAG,gBAAgB,CAACE,MAAM,CAAC,WAAa,GAAG,OAAS,kCAAkC,aAAa,CAAC,GAAI,GAAI,GAAI,IAAI,eAAeN,EAAIwB,KAAK,YAAYxB,EAAIyB,KAAK,MAAQzB,EAAI0B,OAAOV,GAAG,CAAC,cAAchB,EAAI2B,UAAU,iBAAiB3B,EAAI2B,UAAU,qBAAqB,SAASC,GAAQ5B,EAAIwB,KAAKI,GAAQ,sBAAsB,SAASA,GAAQ5B,EAAIwB,KAAKI,GAAQ,kBAAkB,SAASA,GAAQ5B,EAAIyB,KAAKG,GAAQ,mBAAmB,SAASA,GAAQ5B,EAAIyB,KAAKG,OAAY,IAAI,IAAI,IACj4NkB,EAAkB,G,+BCgHtB,oDACA,8CACA,8CAGA,OACE,KAAF,gBACE,WAAF,gCACE,MAAF,CACI,UAAJ,QAEE,QAAF,GAEE,QAAF,WACI,KAAJ,8CACI,KAAJ,oDACI,KAAJ,YACA,iBACM,KAAN,oBAGE,OACE,MAAJ,CACM,SAAN,EACM,SAAN,GACM,YAAN,EACM,cAAN,OACM,SAAN,KACM,KAAN,EACM,KAAN,GACM,MAAN,KACM,KAAN,GACM,WAAN,GACM,mBAAN,EACM,KAAN,CACQ,gBAAR,GACQ,eAAR,EACQ,GAAR,GACQ,GAAR,GACQ,GAAR,GACQ,GAAR,GACQ,GAAR,GACQ,GAAR,GACQ,GAAR,GACQ,GAAR,GACQ,OAAR,IAEM,MAAN,CACQ,gBAAR,CACU,CAAV,kFAEQ,OAAR,CACU,CAAV,mFAGM,WAAN,CACQ,kBAAR,6DACQ,KAAR,kDAEM,OAAN,CACQ,gBAAR,KACQ,OAAR,MAEM,YAAN,KAGE,QAAF,CACI,wBACE,IAAN,qBACQ,KAAR,eAEM,KAAN,mBAEI,kBACJ,iEACQ,KAAR,OACQ,KAAR,qDAEM,KAAN,aAEI,mBACE,4DACE,MAAR,SACQ,GAAR,0BACU,IAAV,YACU,EAAV,YACY,KAAZ,iBACc,GAAd,YACc,KAAd,uBAKU,KAAV,uDAGA,UACQ,KAAR,wDAII,YACE,GAAN,iBACQ,KAAR,WACQ,IAAR,6BACQ,GAAR,uCAEQ,IAAR,0BACA,sBACY,GAAZ,gCAGQ,oBACE,KAAV,oBACU,KAAV,oBACU,KAAV,aACA,UACU,KAAV,oDACU,KAAV,eAII,OACE,KAAN,sBAEI,aAAJ,GAEM,GADA,QAAN,OACA,0BAEQ,OADA,KAAR,kEACA,EAEM,IAAN,eACM,EAAN,kBACM,EAAN,oDACM,EAAN,wDACM,EAAN,0BACM,EAAN,0BACM,EAAN,0BACM,EAAN,0BACM,EAAN,0BACM,EAAN,0BACM,EAAN,0BACM,EAAN,0BACM,EAAN,kCACM,+CACN,2BACU,KAAV,0DAEU,KAAV,uDAGA,UACW,IAAX,aACA,2BACY,KAAZ,sEACA,2BACY,KAAZ,qDACA,4BACY,KAAZ,uEAII,SAAJ,GACM,KAAN,sBACQ,IAAR,EAIU,OADA,KAAV,iFACA,EAHU,KAAV,yBAOI,UAAJ,GACM,KAAN,0BC9RyP,I,wBCQrPC,EAAY,eACd,EACAhD,EACA+C,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,yECnBf,IAAIhD,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACE,MAAM,CAAC,UAAY,aAAa,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,cAAc,EAAE,OAAS,UAAUF,EAAG,aAAa,CAACE,MAAM,CAAC,cAAc,EAAE,KAAO,CAAE,OAAQ,mBAAoBF,EAAG,eAAe,CAACG,YAAY,kBAAkB,CAACH,EAAG,QAAQ,CAACE,MAAM,CAAC,cAAc,EAAE,KAAO,OAAO,OAAS,kBAAkBF,EAAG,UAAU,CAACA,EAAG,UAAU,CAAC0B,IAAI,SAASvB,YAAY,eAAeD,MAAM,CAAC,MAAQN,EAAIW,OAAO,KAAO,QAAQ,OAAS,KAAK,CAACP,EAAG,eAAe,CAACE,MAAM,CAAC,KAAO,oBAAoB,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,UAAY,GAAG,YAAcN,EAAIQ,GAAG,+BAA+BC,MAAM,CAACC,MAAOV,EAAIW,OAAsB,gBAAEC,SAAS,SAAUC,GAAMb,EAAIc,KAAKd,EAAIW,OAAQ,kBAAmBE,IAAME,WAAW,6BAA6B,GAAGX,EAAG,eAAe,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,kBAAkBU,GAAG,CAAC,MAAQhB,EAAIkI,YAAY,GAAG9H,EAAG,eAAe,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,KAAO,iBAAiBU,GAAG,CAAC,MAAQ,SAASY,GAAQ,OAAO5B,EAAImI,UAAU,UAAS,QAAW,IAAI,GAAG/H,EAAG,WAAW,CAACe,WAAW,CAAC,CAACC,KAAK,UAAUC,QAAQ,YAAYX,MAAOV,EAAW,QAAEe,WAAW,YAAYT,MAAM,CAAC,KAAON,EAAIuB,OAAO,CAACnB,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,QAAQ,MAAQN,EAAIQ,GAAG,sBAAsB,MAAQ,SAASJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,gBAAgB,MAAQN,EAAIQ,GAAG,iCAAiCJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,QAAQ,MAAQN,EAAIQ,GAAG,SAAS,MAAQ,UAAU,IAAI,IAAI,IAAI,IACzgDsC,EAAkB,G,qBC4BtB,oDACA,8CACA,8CAGA,OACE,KAAF,cACE,WAAF,gCAEE,OACE,MAAJ,CACM,YAAN,EACM,SAAN,EACM,KAAN,GACM,OAAN,CACQ,gBAAR,QAIE,QAAF,WACI,KAAJ,8CACI,KAAJ,WAEE,QAAF,CACI,UACJ,kBACQ,KAAR,WACQ,sEACE,KAAV,WACU,KAAV,uBACA,UACU,KAAV,WACU,KAAV,uCAII,UAAJ,KACM,KAAN,uBACA,GACQ,KAAR,aCpEuP,I,YCOnPC,EAAY,eACd,EACAhD,EACA+C,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,kDClBf,IAAIhD,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACE,MAAM,CAAC,UAAY,aAAa,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,cAAc,EAAE,OAAS,eAAeF,EAAG,aAAa,CAACE,MAAM,CAAC,cAAc,EAAE,KAAO,CAAE,YAAa,mBAAoBF,EAAG,eAAe,CAACG,YAAY,kBAAkB,CAACH,EAAG,QAAQ,CAACE,MAAM,CAAC,cAAc,EAAE,KAAO,YAAY,OAAS,kBAAkBF,EAAG,UAAU,CAACA,EAAG,UAAU,CAAC0B,IAAI,SAASvB,YAAY,eAAeD,MAAM,CAAC,MAAQN,EAAIW,OAAO,KAAO,QAAQ,OAAS,KAAK,CAACP,EAAG,eAAe,CAACA,EAAG,YAAY,CAACG,YAAY,qBAAqBS,GAAG,CAAC,MAAQ,SAASY,GAAQ,OAAO5B,EAAIogB,QAAQjQ,QAAQ,CAAEsb,KAAM,2BAA4B,IAAI,GAAGrrB,EAAG,WAAW,CAACe,WAAW,CAAC,CAACC,KAAK,UAAUC,QAAQ,YAAYX,MAAOV,EAAW,QAAEe,WAAW,YAAYT,MAAM,CAAC,KAAON,EAAIuB,OAAO,CAACnB,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,WAAW,MAAQN,EAAIQ,GAAG,0BAA0BJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,SAAS,MAAQN,EAAIQ,GAAG,wBAAwBJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,YAAY,MAAQN,EAAIQ,GAAG,2BAA2BJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,aAAa,MAAQN,EAAIQ,GAAG,4BAA4BJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,WAAW,MAAQN,EAAIQ,GAAG,0BAA0BJ,EAAG,kBAAkB,CAACE,MAAM,CAAC,MAAQ,SAAS,KAAO,kBAAkB,MAAQN,EAAIQ,GAAG,kCAAkC,GAAGJ,EAAG,gBAAgB,CAACE,MAAM,CAAC,WAAa,GAAG,OAAS,kCAAkC,aAAaN,EAAIg6B,UAAU,eAAeh6B,EAAI4L,YAAY,YAAY5L,EAAI6L,SAAS,MAAQ7L,EAAIi6B,UAAUj5B,GAAG,CAAC,cAAchB,EAAIkI,QAAQ,iBAAiBlI,EAAIkI,QAAQ,qBAAqB,SAAStG,GAAQ5B,EAAI4L,YAAYhK,GAAQ,sBAAsB,SAASA,GAAQ5B,EAAI4L,YAAYhK,GAAQ,kBAAkB,SAASA,GAAQ5B,EAAI6L,SAASjK,GAAQ,mBAAmB,SAASA,GAAQ5B,EAAI6L,SAASjK,OAAY,IAAI,IAAI,IACt8DkB,EAAkB,GCmCtB,GACE,KAAF,cACE,OACE,MAAJ,CACM,SAAN,EACM,IAAN,GACM,KAAN,GACM,YAAN,EACM,SAAN,GACM,UAAN,kBACM,SAAN,EACM,OAAN,CACQ,SAAR,MAEM,YAAN,IAGE,UACE,KAAJ,oCACI,KAAJ,wCAGI,KAAJ,8CACI,KAAJ,WAEE,QAAF,CACI,UACE,GAAN,iBACQ,IAAR,mHACQ,KAAR,WACQ,MAAR,qCAGU,GADA,KAAV,8BACA,UACY,IAAZ,+BACA,2BACgB,KAAhB,8CAEgB,KAAhB,6CAEA,iCACgB,KAAhB,uDACA,iCACgB,KAAhB,2DAEgB,KAAhB,2BAIU,KAAV,2BACU,KAAV,aACA,UACU,KAAV,oDACU,KAAV,eAII,UAAJ,KACM,KAAN,uBACA,GACQ,KAAR,aChGuP,I,YCOnPC,EAAY,eACd,EACAhD,EACA+C,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,iHClBf;;;;;;;AAUA,IAAIqgD,EAAS,EAAQ,QACjBwwG,EAAU,EAAQ,QAClBlvJ,EAAU,EAAQ,QAuCtB,SAASmvJ,IACP,IACE,IAAI3gJ,EAAM,IAAId,WAAW,GAEzB,OADAc,EAAI4gJ,UAAY,CAACA,UAAW1hJ,WAAWtD,UAAWq/I,IAAK,WAAc,OAAO,KACvD,KAAdj7I,EAAIi7I,OACiB,oBAAjBj7I,EAAI84C,UACuB,IAAlC94C,EAAI84C,SAAS,EAAG,GAAGl6C,WACvB,MAAO7D,GACP,OAAO,GAIX,SAAS8lJ,IACP,OAAO9xI,EAAO+xI,oBACV,WACA,WAGN,SAASC,EAAcnlI,EAAMvc,GAC3B,GAAIwhJ,IAAexhJ,EACjB,MAAM,IAAI2hJ,WAAW,8BAcvB,OAZIjyI,EAAO+xI,qBAETllI,EAAO,IAAI1c,WAAWG,GACtBuc,EAAKglI,UAAY7xI,EAAOnT,YAGX,OAATggB,IACFA,EAAO,IAAI7M,EAAO1P,IAEpBuc,EAAKvc,OAASA,GAGTuc,EAaT,SAAS7M,EAAQrF,EAAKu3I,EAAkB5hJ,GACtC,IAAK0P,EAAO+xI,uBAAyB/zJ,gBAAgBgiB,GACnD,OAAO,IAAIA,EAAOrF,EAAKu3I,EAAkB5hJ,GAI3C,GAAmB,kBAARqK,EAAkB,CAC3B,GAAgC,kBAArBu3I,EACT,MAAM,IAAIxhJ,MACR,qEAGJ,OAAO6P,EAAYviB,KAAM2c,GAE3B,OAAOwF,EAAKniB,KAAM2c,EAAKu3I,EAAkB5hJ,GAW3C,SAAS6P,EAAM0M,EAAMpuB,EAAOyzJ,EAAkB5hJ,GAC5C,GAAqB,kBAAV7R,EACT,MAAM,IAAIie,UAAU,yCAGtB,MAA2B,qBAAhBssC,aAA+BvqD,aAAiBuqD,YAClDmpG,EAAgBtlI,EAAMpuB,EAAOyzJ,EAAkB5hJ,GAGnC,kBAAV7R,EACF2zJ,EAAWvlI,EAAMpuB,EAAOyzJ,GAG1BG,EAAWxlI,EAAMpuB,GA4B1B,SAAS6zJ,EAAY9yJ,GACnB,GAAoB,kBAATA,EACT,MAAM,IAAIkd,UAAU,oCACf,GAAIld,EAAO,EAChB,MAAM,IAAIyyJ,WAAW,wCAIzB,SAASruG,EAAO/2B,EAAMrtB,EAAMumE,EAAMliB,GAEhC,OADAyuG,EAAW9yJ,GACPA,GAAQ,EACHwyJ,EAAanlI,EAAMrtB,QAEf2H,IAAT4+D,EAIyB,kBAAbliB,EACVmuG,EAAanlI,EAAMrtB,GAAMumE,KAAKA,EAAMliB,GACpCmuG,EAAanlI,EAAMrtB,GAAMumE,KAAKA,GAE7BisF,EAAanlI,EAAMrtB,GAW5B,SAAS+gB,EAAasM,EAAMrtB,GAG1B,GAFA8yJ,EAAW9yJ,GACXqtB,EAAOmlI,EAAanlI,EAAMrtB,EAAO,EAAI,EAAoB,EAAhBkyC,EAAQlyC,KAC5CwgB,EAAO+xI,oBACV,IAAK,IAAIhlJ,EAAI,EAAGA,EAAIvN,IAAQuN,EAC1B8f,EAAK9f,GAAK,EAGd,OAAO8f,EAgBT,SAASulI,EAAYvlI,EAAMy7B,EAAQzE,GAKjC,GAJwB,kBAAbA,GAAsC,KAAbA,IAClCA,EAAW,SAGR7jC,EAAOuyI,WAAW1uG,GACrB,MAAM,IAAInnC,UAAU,8CAGtB,IAAIpM,EAAwC,EAA/BT,EAAWy4C,EAAQzE,GAChCh3B,EAAOmlI,EAAanlI,EAAMvc,GAE1B,IAAIkiJ,EAAS3lI,EAAKugD,MAAM9kB,EAAQzE,GAShC,OAPI2uG,IAAWliJ,IAIbuc,EAAOA,EAAK1L,MAAM,EAAGqxI,IAGhB3lI,EAGT,SAAS4lI,EAAe5lI,EAAM5U,GAC5B,IAAI3H,EAAS2H,EAAM3H,OAAS,EAAI,EAA4B,EAAxBohC,EAAQz5B,EAAM3H,QAClDuc,EAAOmlI,EAAanlI,EAAMvc,GAC1B,IAAK,IAAIvD,EAAI,EAAGA,EAAIuD,EAAQvD,GAAK,EAC/B8f,EAAK9f,GAAgB,IAAXkL,EAAMlL,GAElB,OAAO8f,EAGT,SAASslI,EAAiBtlI,EAAM5U,EAAOy6I,EAAYpiJ,GAGjD,GAFA2H,EAAMpI,WAEF6iJ,EAAa,GAAKz6I,EAAMpI,WAAa6iJ,EACvC,MAAM,IAAIT,WAAW,6BAGvB,GAAIh6I,EAAMpI,WAAa6iJ,GAAcpiJ,GAAU,GAC7C,MAAM,IAAI2hJ,WAAW,6BAmBvB,OAfEh6I,OADiB9Q,IAAfurJ,QAAuCvrJ,IAAXmJ,EACtB,IAAIH,WAAW8H,QACH9Q,IAAXmJ,EACD,IAAIH,WAAW8H,EAAOy6I,GAEtB,IAAIviJ,WAAW8H,EAAOy6I,EAAYpiJ,GAGxC0P,EAAO+xI,qBAETllI,EAAO5U,EACP4U,EAAKglI,UAAY7xI,EAAOnT,WAGxBggB,EAAO4lI,EAAc5lI,EAAM5U,GAEtB4U,EAGT,SAASwlI,EAAYxlI,EAAM3X,GACzB,GAAI8K,EAAOzE,SAASrG,GAAM,CACxB,IAAI7E,EAA4B,EAAtBqhC,EAAQx8B,EAAI5E,QAGtB,OAFAuc,EAAOmlI,EAAanlI,EAAMxc,GAEN,IAAhBwc,EAAKvc,OACAuc,GAGT3X,EAAIsvC,KAAK33B,EAAM,EAAG,EAAGxc,GACdwc,GAGT,GAAI3X,EAAK,CACP,GAA4B,qBAAhB8zC,aACR9zC,EAAI4sC,kBAAkBkH,aAAgB,WAAY9zC,EACpD,MAA0B,kBAAfA,EAAI5E,QAAuBqiJ,GAAMz9I,EAAI5E,QACvC0hJ,EAAanlI,EAAM,GAErB4lI,EAAc5lI,EAAM3X,GAG7B,GAAiB,WAAbA,EAAIvT,MAAqBc,EAAQyS,EAAIvP,MACvC,OAAO8sJ,EAAc5lI,EAAM3X,EAAIvP,MAInC,MAAM,IAAI+W,UAAU,sFAGtB,SAASg1B,EAASphC,GAGhB,GAAIA,GAAUwhJ,IACZ,MAAM,IAAIG,WAAW,0DACaH,IAAa74I,SAAS,IAAM,UAEhE,OAAgB,EAAT3I,EAGT,SAASsiJ,EAAYtiJ,GAInB,OAHKA,GAAUA,IACbA,EAAS,GAEJ0P,EAAO4jC,OAAOtzC,GA+EvB,SAAST,EAAYy4C,EAAQzE,GAC3B,GAAI7jC,EAAOzE,SAAS+sC,GAClB,OAAOA,EAAOh4C,OAEhB,GAA2B,qBAAhB04C,aAA6D,oBAAvBA,YAAY6pG,SACxD7pG,YAAY6pG,OAAOvqG,IAAWA,aAAkBU,aACnD,OAAOV,EAAOz4C,WAEM,kBAAXy4C,IACTA,EAAS,GAAKA,GAGhB,IAAIj4C,EAAMi4C,EAAOh4C,OACjB,GAAY,IAARD,EAAW,OAAO,EAItB,IADA,IAAIyiJ,GAAc,IAEhB,OAAQjvG,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOxzC,EACT,IAAK,OACL,IAAK,QACL,UAAKlJ,EACH,OAAO4rJ,EAAYzqG,GAAQh4C,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAAND,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAO2iJ,EAAc1qG,GAAQh4C,OAC/B,QACE,GAAIwiJ,EAAa,OAAOC,EAAYzqG,GAAQh4C,OAC5CuzC,GAAY,GAAKA,GAAUsE,cAC3B2qG,GAAc,GAMtB,SAASG,EAAcpvG,EAAUtyC,EAAOC,GACtC,IAAIshJ,GAAc,EAclB,SALc3rJ,IAAVoK,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQvT,KAAKsS,OACf,MAAO,GAOT,SAJYnJ,IAARqK,GAAqBA,EAAMxT,KAAKsS,UAClCkB,EAAMxT,KAAKsS,QAGTkB,GAAO,EACT,MAAO,GAOT,GAHAA,KAAS,EACTD,KAAW,EAEPC,GAAOD,EACT,MAAO,GAGJsyC,IAAUA,EAAW,QAE1B,MAAO,EACL,OAAQA,GACN,IAAK,MACH,OAAOqvG,EAASl1J,KAAMuT,EAAOC,GAE/B,IAAK,OACL,IAAK,QACH,OAAO2hJ,EAAUn1J,KAAMuT,EAAOC,GAEhC,IAAK,QACH,OAAO4hJ,EAAWp1J,KAAMuT,EAAOC,GAEjC,IAAK,SACL,IAAK,SACH,OAAO6hJ,EAAYr1J,KAAMuT,EAAOC,GAElC,IAAK,SACH,OAAO8hJ,EAAYt1J,KAAMuT,EAAOC,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO+hJ,EAAav1J,KAAMuT,EAAOC,GAEnC,QACE,GAAIshJ,EAAa,MAAM,IAAIp2I,UAAU,qBAAuBmnC,GAC5DA,GAAYA,EAAW,IAAIsE,cAC3B2qG,GAAc,GAStB,SAASU,EAAMvoJ,EAAGsO,EAAGlL,GACnB,IAAItB,EAAI9B,EAAEsO,GACVtO,EAAEsO,GAAKtO,EAAEoD,GACTpD,EAAEoD,GAAKtB,EAmIT,SAAS0mJ,EAAsB3xG,EAAQ1pC,EAAKs6I,EAAY7uG,EAAUxC,GAEhE,GAAsB,IAAlBS,EAAOxxC,OAAc,OAAQ,EAmBjC,GAhB0B,kBAAfoiJ,GACT7uG,EAAW6uG,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAEhBA,GAAcA,EACV7zG,MAAM6zG,KAERA,EAAarxG,EAAM,EAAKS,EAAOxxC,OAAS,GAItCoiJ,EAAa,IAAGA,EAAa5wG,EAAOxxC,OAASoiJ,GAC7CA,GAAc5wG,EAAOxxC,OAAQ,CAC/B,GAAI+wC,EAAK,OAAQ,EACZqxG,EAAa5wG,EAAOxxC,OAAS,OAC7B,GAAIoiJ,EAAa,EAAG,CACzB,IAAIrxG,EACC,OAAQ,EADJqxG,EAAa,EAUxB,GALmB,kBAARt6I,IACTA,EAAM4H,EAAOG,KAAK/H,EAAKyrC,IAIrB7jC,EAAOzE,SAASnD,GAElB,OAAmB,IAAfA,EAAI9H,QACE,EAEHojJ,EAAa5xG,EAAQ1pC,EAAKs6I,EAAY7uG,EAAUxC,GAClD,GAAmB,kBAARjpC,EAEhB,OADAA,GAAY,IACR4H,EAAO+xI,qBACiC,oBAAjC5hJ,WAAWtD,UAAU+D,QAC1BywC,EACKlxC,WAAWtD,UAAU+D,QAAQsI,KAAK4oC,EAAQ1pC,EAAKs6I,GAE/CviJ,WAAWtD,UAAUm5C,YAAY9sC,KAAK4oC,EAAQ1pC,EAAKs6I,GAGvDgB,EAAa5xG,EAAQ,CAAE1pC,GAAOs6I,EAAY7uG,EAAUxC,GAG7D,MAAM,IAAI3kC,UAAU,wCAGtB,SAASg3I,EAAcziJ,EAAKmH,EAAKs6I,EAAY7uG,EAAUxC,GACrD,IA0BIt0C,EA1BA4mJ,EAAY,EACZC,EAAY3iJ,EAAIX,OAChBujJ,EAAYz7I,EAAI9H,OAEpB,QAAiBnJ,IAAb08C,IACFA,EAAW/tC,OAAO+tC,GAAUsE,cACX,SAAbtE,GAAoC,UAAbA,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAI5yC,EAAIX,OAAS,GAAK8H,EAAI9H,OAAS,EACjC,OAAQ,EAEVqjJ,EAAY,EACZC,GAAa,EACbC,GAAa,EACbnB,GAAc,EAIlB,SAAShmF,EAAMtsD,EAAKrT,GAClB,OAAkB,IAAd4mJ,EACKvzI,EAAIrT,GAEJqT,EAAI0zI,aAAa/mJ,EAAI4mJ,GAKhC,GAAItyG,EAAK,CACP,IAAI0yG,GAAc,EAClB,IAAKhnJ,EAAI2lJ,EAAY3lJ,EAAI6mJ,EAAW7mJ,IAClC,GAAI2/D,EAAKz7D,EAAKlE,KAAO2/D,EAAKt0D,GAAqB,IAAhB27I,EAAoB,EAAIhnJ,EAAIgnJ,IAEzD,IADoB,IAAhBA,IAAmBA,EAAahnJ,GAChCA,EAAIgnJ,EAAa,IAAMF,EAAW,OAAOE,EAAaJ,OAEtC,IAAhBI,IAAmBhnJ,GAAKA,EAAIgnJ,GAChCA,GAAc,OAKlB,IADIrB,EAAamB,EAAYD,IAAWlB,EAAakB,EAAYC,GAC5D9mJ,EAAI2lJ,EAAY3lJ,GAAK,EAAGA,IAAK,CAEhC,IADA,IAAIinJ,GAAQ,EACH9mJ,EAAI,EAAGA,EAAI2mJ,EAAW3mJ,IAC7B,GAAIw/D,EAAKz7D,EAAKlE,EAAIG,KAAOw/D,EAAKt0D,EAAKlL,GAAI,CACrC8mJ,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAOjnJ,EAItB,OAAQ,EAeV,SAASknJ,EAAU7zI,EAAKkoC,EAAQjI,EAAQ/vC,GACtC+vC,EAASrqC,OAAOqqC,IAAW,EAC3B,IAAI6zG,EAAY9zI,EAAI9P,OAAS+vC,EACxB/vC,GAGHA,EAAS0F,OAAO1F,GACZA,EAAS4jJ,IACX5jJ,EAAS4jJ,IAJX5jJ,EAAS4jJ,EASX,IAAIC,EAAS7rG,EAAOh4C,OACpB,GAAI6jJ,EAAS,IAAM,EAAG,MAAM,IAAIz3I,UAAU,sBAEtCpM,EAAS6jJ,EAAS,IACpB7jJ,EAAS6jJ,EAAS,GAEpB,IAAK,IAAIpnJ,EAAI,EAAGA,EAAIuD,IAAUvD,EAAG,CAC/B,IAAIqnJ,EAASp1H,SAASspB,EAAOjuC,OAAW,EAAJtN,EAAO,GAAI,IAC/C,GAAI8xC,MAAMu1G,GAAS,OAAOrnJ,EAC1BqT,EAAIigC,EAAStzC,GAAKqnJ,EAEpB,OAAOrnJ,EAGT,SAASsnJ,EAAWj0I,EAAKkoC,EAAQjI,EAAQ/vC,GACvC,OAAOgkJ,GAAWvB,EAAYzqG,EAAQloC,EAAI9P,OAAS+vC,GAASjgC,EAAKigC,EAAQ/vC,GAG3E,SAASikJ,EAAYn0I,EAAKkoC,EAAQjI,EAAQ/vC,GACxC,OAAOgkJ,GAAWE,EAAalsG,GAASloC,EAAKigC,EAAQ/vC,GAGvD,SAASmkJ,EAAar0I,EAAKkoC,EAAQjI,EAAQ/vC,GACzC,OAAOikJ,EAAWn0I,EAAKkoC,EAAQjI,EAAQ/vC,GAGzC,SAASokJ,EAAat0I,EAAKkoC,EAAQjI,EAAQ/vC,GACzC,OAAOgkJ,GAAWtB,EAAc1qG,GAASloC,EAAKigC,EAAQ/vC,GAGxD,SAASqkJ,EAAWv0I,EAAKkoC,EAAQjI,EAAQ/vC,GACvC,OAAOgkJ,GAAWM,EAAetsG,EAAQloC,EAAI9P,OAAS+vC,GAASjgC,EAAKigC,EAAQ/vC,GAkF9E,SAASgjJ,EAAalzI,EAAK7O,EAAOC,GAChC,OAAc,IAAVD,GAAeC,IAAQ4O,EAAI9P,OACtB6wC,EAAOpxC,cAAcqQ,GAErB+gC,EAAOpxC,cAAcqQ,EAAIe,MAAM5P,EAAOC,IAIjD,SAAS2hJ,EAAW/yI,EAAK7O,EAAOC,GAC9BA,EAAM/N,KAAKsnD,IAAI3qC,EAAI9P,OAAQkB,GAC3B,IAAIxP,EAAM,GAEN+K,EAAIwE,EACR,MAAOxE,EAAIyE,EAAK,CACd,IAQMqjJ,EAAYC,EAAWC,EAAYC,EARrCC,EAAY70I,EAAIrT,GAChBmoJ,EAAY,KACZC,EAAoBF,EAAY,IAAQ,EACvCA,EAAY,IAAQ,EACpBA,EAAY,IAAQ,EACrB,EAEJ,GAAIloJ,EAAIooJ,GAAoB3jJ,EAG1B,OAAQ2jJ,GACN,KAAK,EACCF,EAAY,MACdC,EAAYD,GAEd,MACF,KAAK,EACHJ,EAAaz0I,EAAIrT,EAAI,GACO,OAAV,IAAb8nJ,KACHG,GAA6B,GAAZC,IAAqB,EAAoB,GAAbJ,EACzCG,EAAgB,MAClBE,EAAYF,IAGhB,MACF,KAAK,EACHH,EAAaz0I,EAAIrT,EAAI,GACrB+nJ,EAAY10I,EAAIrT,EAAI,GACQ,OAAV,IAAb8nJ,IAAsD,OAAV,IAAZC,KACnCE,GAA6B,GAAZC,IAAoB,IAAoB,GAAbJ,IAAsB,EAAmB,GAAZC,EACrEE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEE,EAAYF,IAGhB,MACF,KAAK,EACHH,EAAaz0I,EAAIrT,EAAI,GACrB+nJ,EAAY10I,EAAIrT,EAAI,GACpBgoJ,EAAa30I,EAAIrT,EAAI,GACO,OAAV,IAAb8nJ,IAAsD,OAAV,IAAZC,IAAsD,OAAV,IAAbC,KAClEC,GAA6B,GAAZC,IAAoB,IAAqB,GAAbJ,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,EAClGC,EAAgB,OAAUA,EAAgB,UAC5CE,EAAYF,IAMJ,OAAdE,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACblzJ,EAAI0P,KAAKwjJ,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvBlzJ,EAAI0P,KAAKwjJ,GACTnoJ,GAAKooJ,EAGP,OAAOC,EAAsBpzJ,GA98B/BnE,EAAQmiB,OAASA,EACjBniB,EAAQ+0J,WAAaA,EACrB/0J,EAAQw3J,kBAAoB,GA0B5Br1I,EAAO+xI,yBAAqD5qJ,IAA/BqF,EAAOulJ,oBAChCvlJ,EAAOulJ,oBACPH,IAKJ/zJ,EAAQi0J,WAAaA,IAkErB9xI,EAAOs1I,SAAW,KAGlBt1I,EAAOu1I,SAAW,SAAUtkJ,GAE1B,OADAA,EAAI4gJ,UAAY7xI,EAAOnT,UAChBoE,GA2BT+O,EAAOG,KAAO,SAAU1hB,EAAOyzJ,EAAkB5hJ,GAC/C,OAAO6P,EAAK,KAAM1hB,EAAOyzJ,EAAkB5hJ,IAGzC0P,EAAO+xI,sBACT/xI,EAAOnT,UAAUglJ,UAAY1hJ,WAAWtD,UACxCmT,EAAO6xI,UAAY1hJ,WACG,qBAAXgM,QAA0BA,OAAOq5I,SACxCx1I,EAAO7D,OAAOq5I,WAAax1I,GAE7BrX,OAAOwU,eAAe6C,EAAQ7D,OAAOq5I,QAAS,CAC5C/2J,MAAO,KACPmW,cAAc,KAiCpBoL,EAAO4jC,MAAQ,SAAUpkD,EAAMumE,EAAMliB,GACnC,OAAOD,EAAM,KAAMpkD,EAAMumE,EAAMliB,IAiBjC7jC,EAAOO,YAAc,SAAU/gB,GAC7B,OAAO+gB,EAAY,KAAM/gB,IAK3BwgB,EAAOy1I,gBAAkB,SAAUj2J,GACjC,OAAO+gB,EAAY,KAAM/gB,IAiH3BwgB,EAAOzE,SAAW,SAAmBtQ,GACnC,QAAe,MAALA,IAAaA,EAAEyqJ,YAG3B11I,EAAO21I,QAAU,SAAkB9zJ,EAAGoJ,GACpC,IAAK+U,EAAOzE,SAAS1Z,KAAOme,EAAOzE,SAAStQ,GAC1C,MAAM,IAAIyR,UAAU,6BAGtB,GAAI7a,IAAMoJ,EAAG,OAAO,EAKpB,IAHA,IAAI8K,EAAIlU,EAAEyO,OACNgyB,EAAIr3B,EAAEqF,OAEDvD,EAAI,EAAGsD,EAAM5M,KAAKsnD,IAAIh1C,EAAGusB,GAAIv1B,EAAIsD,IAAOtD,EAC/C,GAAIlL,EAAEkL,KAAO9B,EAAE8B,GAAI,CACjBgJ,EAAIlU,EAAEkL,GACNu1B,EAAIr3B,EAAE8B,GACN,MAIJ,OAAIgJ,EAAIusB,GAAW,EACfA,EAAIvsB,EAAU,EACX,GAGTiK,EAAOuyI,WAAa,SAAqB1uG,GACvC,OAAQ/tC,OAAO+tC,GAAUsE,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIbnoC,EAAO2a,OAAS,SAAiBr7B,EAAMgR,GACrC,IAAK7N,EAAQnD,GACX,MAAM,IAAIod,UAAU,+CAGtB,GAAoB,IAAhBpd,EAAKgR,OACP,OAAO0P,EAAO4jC,MAAM,GAGtB,IAAI72C,EACJ,QAAe5F,IAAXmJ,EAEF,IADAA,EAAS,EACJvD,EAAI,EAAGA,EAAIzN,EAAKgR,SAAUvD,EAC7BuD,GAAUhR,EAAKyN,GAAGuD,OAItB,IAAIwxC,EAAS9hC,EAAOO,YAAYjQ,GAC5Bk6C,EAAM,EACV,IAAKz9C,EAAI,EAAGA,EAAIzN,EAAKgR,SAAUvD,EAAG,CAChC,IAAIqT,EAAM9gB,EAAKyN,GACf,IAAKiT,EAAOzE,SAAS6E,GACnB,MAAM,IAAI1D,UAAU,+CAEtB0D,EAAIokC,KAAK1C,EAAQ0I,GACjBA,GAAOpqC,EAAI9P,OAEb,OAAOwxC,GA8CT9hC,EAAOnQ,WAAaA,EA0EpBmQ,EAAOnT,UAAU6oJ,WAAY,EAQ7B11I,EAAOnT,UAAU+oJ,OAAS,WACxB,IAAIvlJ,EAAMrS,KAAKsS,OACf,GAAID,EAAM,IAAM,EACd,MAAM,IAAI4hJ,WAAW,6CAEvB,IAAK,IAAIllJ,EAAI,EAAGA,EAAIsD,EAAKtD,GAAK,EAC5BymJ,EAAKx1J,KAAM+O,EAAGA,EAAI,GAEpB,OAAO/O,MAGTgiB,EAAOnT,UAAUgpJ,OAAS,WACxB,IAAIxlJ,EAAMrS,KAAKsS,OACf,GAAID,EAAM,IAAM,EACd,MAAM,IAAI4hJ,WAAW,6CAEvB,IAAK,IAAIllJ,EAAI,EAAGA,EAAIsD,EAAKtD,GAAK,EAC5BymJ,EAAKx1J,KAAM+O,EAAGA,EAAI,GAClBymJ,EAAKx1J,KAAM+O,EAAI,EAAGA,EAAI,GAExB,OAAO/O,MAGTgiB,EAAOnT,UAAUipJ,OAAS,WACxB,IAAIzlJ,EAAMrS,KAAKsS,OACf,GAAID,EAAM,IAAM,EACd,MAAM,IAAI4hJ,WAAW,6CAEvB,IAAK,IAAIllJ,EAAI,EAAGA,EAAIsD,EAAKtD,GAAK,EAC5BymJ,EAAKx1J,KAAM+O,EAAGA,EAAI,GAClBymJ,EAAKx1J,KAAM+O,EAAI,EAAGA,EAAI,GACtBymJ,EAAKx1J,KAAM+O,EAAI,EAAGA,EAAI,GACtBymJ,EAAKx1J,KAAM+O,EAAI,EAAGA,EAAI,GAExB,OAAO/O,MAGTgiB,EAAOnT,UAAUoM,SAAW,WAC1B,IAAI3I,EAAuB,EAAdtS,KAAKsS,OAClB,OAAe,IAAXA,EAAqB,GACA,IAArBoF,UAAUpF,OAAqB6iJ,EAAUn1J,KAAM,EAAGsS,GAC/C2iJ,EAAaz8I,MAAMxY,KAAM0X,YAGlCsK,EAAOnT,UAAUkpJ,OAAS,SAAiB9qJ,GACzC,IAAK+U,EAAOzE,SAAStQ,GAAI,MAAM,IAAIyR,UAAU,6BAC7C,OAAI1e,OAASiN,GACsB,IAA5B+U,EAAO21I,QAAQ33J,KAAMiN,IAG9B+U,EAAOnT,UAAU8I,QAAU,WACzB,IAAIE,EAAM,GACNuuB,EAAMvmC,EAAQw3J,kBAKlB,OAJIr3J,KAAKsS,OAAS,IAChBuF,EAAM7X,KAAKib,SAAS,MAAO,EAAGmrB,GAAKpqB,MAAM,SAASrI,KAAK,KACnD3T,KAAKsS,OAAS8zB,IAAKvuB,GAAO,UAEzB,WAAaA,EAAM,KAG5BmK,EAAOnT,UAAU8oJ,QAAU,SAAkBpoJ,EAAQgE,EAAOC,EAAKwkJ,EAAWC,GAC1E,IAAKj2I,EAAOzE,SAAShO,GACnB,MAAM,IAAImP,UAAU,6BAgBtB,QAbcvV,IAAVoK,IACFA,EAAQ,QAEEpK,IAARqK,IACFA,EAAMjE,EAASA,EAAO+C,OAAS,QAEfnJ,IAAd6uJ,IACFA,EAAY,QAEE7uJ,IAAZ8uJ,IACFA,EAAUj4J,KAAKsS,QAGbiB,EAAQ,GAAKC,EAAMjE,EAAO+C,QAAU0lJ,EAAY,GAAKC,EAAUj4J,KAAKsS,OACtE,MAAM,IAAI2hJ,WAAW,sBAGvB,GAAI+D,GAAaC,GAAW1kJ,GAASC,EACnC,OAAO,EAET,GAAIwkJ,GAAaC,EACf,OAAQ,EAEV,GAAI1kJ,GAASC,EACX,OAAO,EAQT,GALAD,KAAW,EACXC,KAAS,EACTwkJ,KAAe,EACfC,KAAa,EAETj4J,OAASuP,EAAQ,OAAO,EAS5B,IAPA,IAAIwI,EAAIkgJ,EAAUD,EACd1zH,EAAI9wB,EAAMD,EACVlB,EAAM5M,KAAKsnD,IAAIh1C,EAAGusB,GAElB4zH,EAAWl4J,KAAKmjB,MAAM60I,EAAWC,GACjCE,EAAa5oJ,EAAO4T,MAAM5P,EAAOC,GAE5BzE,EAAI,EAAGA,EAAIsD,IAAOtD,EACzB,GAAImpJ,EAASnpJ,KAAOopJ,EAAWppJ,GAAI,CACjCgJ,EAAImgJ,EAASnpJ,GACbu1B,EAAI6zH,EAAWppJ,GACf,MAIJ,OAAIgJ,EAAIusB,GAAW,EACfA,EAAIvsB,EAAU,EACX,GA6HTiK,EAAOnT,UAAUupJ,SAAW,SAAmBh+I,EAAKs6I,EAAY7uG,GAC9D,OAAoD,IAA7C7lD,KAAK4S,QAAQwH,EAAKs6I,EAAY7uG,IAGvC7jC,EAAOnT,UAAU+D,QAAU,SAAkBwH,EAAKs6I,EAAY7uG,GAC5D,OAAO4vG,EAAqBz1J,KAAMoa,EAAKs6I,EAAY7uG,GAAU,IAG/D7jC,EAAOnT,UAAUm5C,YAAc,SAAsB5tC,EAAKs6I,EAAY7uG,GACpE,OAAO4vG,EAAqBz1J,KAAMoa,EAAKs6I,EAAY7uG,GAAU,IAkD/D7jC,EAAOnT,UAAUugE,MAAQ,SAAgB9kB,EAAQjI,EAAQ/vC,EAAQuzC,GAE/D,QAAe18C,IAAXk5C,EACFwD,EAAW,OACXvzC,EAAStS,KAAKsS,OACd+vC,EAAS,OAEJ,QAAel5C,IAAXmJ,GAA0C,kBAAX+vC,EACxCwD,EAAWxD,EACX/vC,EAAStS,KAAKsS,OACd+vC,EAAS,MAEJ,KAAIkvC,SAASlvC,GAWlB,MAAM,IAAI3vC,MACR,2EAXF2vC,GAAkB,EACdkvC,SAASj/E,IACXA,GAAkB,OACDnJ,IAAb08C,IAAwBA,EAAW,UAEvCA,EAAWvzC,EACXA,OAASnJ,GASb,IAAI+sJ,EAAYl2J,KAAKsS,OAAS+vC,EAG9B,SAFel5C,IAAXmJ,GAAwBA,EAAS4jJ,KAAW5jJ,EAAS4jJ,GAEpD5rG,EAAOh4C,OAAS,IAAMA,EAAS,GAAK+vC,EAAS,IAAOA,EAASriD,KAAKsS,OACrE,MAAM,IAAI2hJ,WAAW,0CAGlBpuG,IAAUA,EAAW,QAG1B,IADA,IAAIivG,GAAc,IAEhB,OAAQjvG,GACN,IAAK,MACH,OAAOowG,EAASj2J,KAAMsqD,EAAQjI,EAAQ/vC,GAExC,IAAK,OACL,IAAK,QACH,OAAO+jJ,EAAUr2J,KAAMsqD,EAAQjI,EAAQ/vC,GAEzC,IAAK,QACH,OAAOikJ,EAAWv2J,KAAMsqD,EAAQjI,EAAQ/vC,GAE1C,IAAK,SACL,IAAK,SACH,OAAOmkJ,EAAYz2J,KAAMsqD,EAAQjI,EAAQ/vC,GAE3C,IAAK,SAEH,OAAOokJ,EAAY12J,KAAMsqD,EAAQjI,EAAQ/vC,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOqkJ,EAAU32J,KAAMsqD,EAAQjI,EAAQ/vC,GAEzC,QACE,GAAIwiJ,EAAa,MAAM,IAAIp2I,UAAU,qBAAuBmnC,GAC5DA,GAAY,GAAKA,GAAUsE,cAC3B2qG,GAAc,IAKtB9yI,EAAOnT,UAAUsvC,OAAS,WACxB,MAAO,CACLx6C,KAAM,SACNgE,KAAMnD,MAAMqK,UAAUsU,MAAMjI,KAAKlb,KAAKq4J,MAAQr4J,KAAM,KAwFxD,IAAIs4J,EAAuB,KAE3B,SAASlB,EAAuBmB,GAC9B,IAAIlmJ,EAAMkmJ,EAAWjmJ,OACrB,GAAID,GAAOimJ,EACT,OAAOxgJ,OAAO+J,aAAarJ,MAAMV,OAAQygJ,GAI3C,IAAIv0J,EAAM,GACN+K,EAAI,EACR,MAAOA,EAAIsD,EACTrO,GAAO8T,OAAO+J,aAAarJ,MACzBV,OACAygJ,EAAWp1I,MAAMpU,EAAGA,GAAKupJ,IAG7B,OAAOt0J,EAGT,SAASoxJ,EAAYhzI,EAAK7O,EAAOC,GAC/B,IAAIgH,EAAM,GACVhH,EAAM/N,KAAKsnD,IAAI3qC,EAAI9P,OAAQkB,GAE3B,IAAK,IAAIzE,EAAIwE,EAAOxE,EAAIyE,IAAOzE,EAC7ByL,GAAO1C,OAAO+J,aAAsB,IAATO,EAAIrT,IAEjC,OAAOyL,EAGT,SAAS66I,EAAajzI,EAAK7O,EAAOC,GAChC,IAAIgH,EAAM,GACVhH,EAAM/N,KAAKsnD,IAAI3qC,EAAI9P,OAAQkB,GAE3B,IAAK,IAAIzE,EAAIwE,EAAOxE,EAAIyE,IAAOzE,EAC7ByL,GAAO1C,OAAO+J,aAAaO,EAAIrT,IAEjC,OAAOyL,EAGT,SAAS06I,EAAU9yI,EAAK7O,EAAOC,GAC7B,IAAInB,EAAM+P,EAAI9P,SAETiB,GAASA,EAAQ,KAAGA,EAAQ,KAC5BC,GAAOA,EAAM,GAAKA,EAAMnB,KAAKmB,EAAMnB,GAGxC,IADA,IAAI4Q,EAAM,GACDlU,EAAIwE,EAAOxE,EAAIyE,IAAOzE,EAC7BkU,GAAOu1I,EAAMp2I,EAAIrT,IAEnB,OAAOkU,EAGT,SAASsyI,EAAcnzI,EAAK7O,EAAOC,GAGjC,IAFA,IAAI+zC,EAAQnlC,EAAIe,MAAM5P,EAAOC,GACzBxP,EAAM,GACD+K,EAAI,EAAGA,EAAIw4C,EAAMj1C,OAAQvD,GAAK,EACrC/K,GAAO8T,OAAO+J,aAAa0lC,EAAMx4C,GAAoB,IAAfw4C,EAAMx4C,EAAI,IAElD,OAAO/K,EA0CT,SAASo+C,EAAaC,EAAQm4E,EAAKloH,GACjC,GAAK+vC,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI4xG,WAAW,sBAC3D,GAAI5xG,EAASm4E,EAAMloH,EAAQ,MAAM,IAAI2hJ,WAAW,yCA+JlD,SAASwE,EAAUr2I,EAAK3hB,EAAO4hD,EAAQm4E,EAAKp0F,EAAK2mB,GAC/C,IAAK/qC,EAAOzE,SAAS6E,GAAM,MAAM,IAAI1D,UAAU,+CAC/C,GAAIje,EAAQ2lC,GAAO3lC,EAAQssD,EAAK,MAAM,IAAIknG,WAAW,qCACrD,GAAI5xG,EAASm4E,EAAMp4G,EAAI9P,OAAQ,MAAM,IAAI2hJ,WAAW,sBAkDtD,SAASyE,EAAmBt2I,EAAK3hB,EAAO4hD,EAAQs2G,GAC1Cl4J,EAAQ,IAAGA,EAAQ,MAASA,EAAQ,GACxC,IAAK,IAAIsO,EAAI,EAAGG,EAAIzJ,KAAKsnD,IAAI3qC,EAAI9P,OAAS+vC,EAAQ,GAAItzC,EAAIG,IAAKH,EAC7DqT,EAAIigC,EAAStzC,IAAMtO,EAAS,KAAS,GAAKk4J,EAAe5pJ,EAAI,EAAIA,MAClC,GAA5B4pJ,EAAe5pJ,EAAI,EAAIA,GA8B9B,SAAS6pJ,EAAmBx2I,EAAK3hB,EAAO4hD,EAAQs2G,GAC1Cl4J,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,IAAK,IAAIsO,EAAI,EAAGG,EAAIzJ,KAAKsnD,IAAI3qC,EAAI9P,OAAS+vC,EAAQ,GAAItzC,EAAIG,IAAKH,EAC7DqT,EAAIigC,EAAStzC,GAAMtO,IAAuC,GAA5Bk4J,EAAe5pJ,EAAI,EAAIA,GAAU,IAmJnE,SAAS8pJ,EAAcz2I,EAAK3hB,EAAO4hD,EAAQm4E,EAAKp0F,EAAK2mB,GACnD,GAAI1K,EAASm4E,EAAMp4G,EAAI9P,OAAQ,MAAM,IAAI2hJ,WAAW,sBACpD,GAAI5xG,EAAS,EAAG,MAAM,IAAI4xG,WAAW,sBAGvC,SAAS6E,EAAY12I,EAAK3hB,EAAO4hD,EAAQs2G,EAAcI,GAKrD,OAJKA,GACHF,EAAaz2I,EAAK3hB,EAAO4hD,EAAQ,EAAG,sBAAyB,sBAE/DsxG,EAAQvkF,MAAMhtD,EAAK3hB,EAAO4hD,EAAQs2G,EAAc,GAAI,GAC7Ct2G,EAAS,EAWlB,SAAS22G,EAAa52I,EAAK3hB,EAAO4hD,EAAQs2G,EAAcI,GAKtD,OAJKA,GACHF,EAAaz2I,EAAK3hB,EAAO4hD,EAAQ,EAAG,uBAA0B,uBAEhEsxG,EAAQvkF,MAAMhtD,EAAK3hB,EAAO4hD,EAAQs2G,EAAc,GAAI,GAC7Ct2G,EAAS,EA/clBrgC,EAAOnT,UAAUsU,MAAQ,SAAgB5P,EAAOC,GAC9C,IAoBIylJ,EApBA5mJ,EAAMrS,KAAKsS,OAqBf,GApBAiB,IAAUA,EACVC,OAAcrK,IAARqK,EAAoBnB,IAAQmB,EAE9BD,EAAQ,GACVA,GAASlB,EACLkB,EAAQ,IAAGA,EAAQ,IACdA,EAAQlB,IACjBkB,EAAQlB,GAGNmB,EAAM,GACRA,GAAOnB,EACHmB,EAAM,IAAGA,EAAM,IACVA,EAAMnB,IACfmB,EAAMnB,GAGJmB,EAAMD,IAAOC,EAAMD,GAGnByO,EAAO+xI,oBACTkF,EAASj5J,KAAK+rD,SAASx4C,EAAOC,GAC9BylJ,EAAOpF,UAAY7xI,EAAOnT,cACrB,CACL,IAAIqqJ,EAAW1lJ,EAAMD,EACrB0lJ,EAAS,IAAIj3I,EAAOk3I,OAAU/vJ,GAC9B,IAAK,IAAI4F,EAAI,EAAGA,EAAImqJ,IAAYnqJ,EAC9BkqJ,EAAOlqJ,GAAK/O,KAAK+O,EAAIwE,GAIzB,OAAO0lJ,GAWTj3I,EAAOnT,UAAUsqJ,WAAa,SAAqB92G,EAAQxwC,EAAYknJ,GACrE12G,GAAkB,EAClBxwC,GAA0B,EACrBknJ,GAAU32G,EAAYC,EAAQxwC,EAAY7R,KAAKsS,QAEpD,IAAI8H,EAAMpa,KAAKqiD,GACX60B,EAAM,EACNnoE,EAAI,EACR,QAASA,EAAI8C,IAAeqlE,GAAO,KACjC98D,GAAOpa,KAAKqiD,EAAStzC,GAAKmoE,EAG5B,OAAO98D,GAGT4H,EAAOnT,UAAUuqJ,WAAa,SAAqB/2G,EAAQxwC,EAAYknJ,GACrE12G,GAAkB,EAClBxwC,GAA0B,EACrBknJ,GACH32G,EAAYC,EAAQxwC,EAAY7R,KAAKsS,QAGvC,IAAI8H,EAAMpa,KAAKqiD,IAAWxwC,GACtBqlE,EAAM,EACV,MAAOrlE,EAAa,IAAMqlE,GAAO,KAC/B98D,GAAOpa,KAAKqiD,IAAWxwC,GAAcqlE,EAGvC,OAAO98D,GAGT4H,EAAOnT,UAAU0/D,UAAY,SAAoBlsB,EAAQ02G,GAEvD,OADKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QACpCtS,KAAKqiD,IAGdrgC,EAAOnT,UAAUwqJ,aAAe,SAAuBh3G,EAAQ02G,GAE7D,OADKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QACpCtS,KAAKqiD,GAAWriD,KAAKqiD,EAAS,IAAM,GAG7CrgC,EAAOnT,UAAUinJ,aAAe,SAAuBzzG,EAAQ02G,GAE7D,OADKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QACnCtS,KAAKqiD,IAAW,EAAKriD,KAAKqiD,EAAS,IAG7CrgC,EAAOnT,UAAUgkF,aAAe,SAAuBxwC,EAAQ02G,GAG7D,OAFKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,SAElCtS,KAAKqiD,GACTriD,KAAKqiD,EAAS,IAAM,EACpBriD,KAAKqiD,EAAS,IAAM,IACD,SAAnBriD,KAAKqiD,EAAS,IAGrBrgC,EAAOnT,UAAUyqJ,aAAe,SAAuBj3G,EAAQ02G,GAG7D,OAFKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QAEpB,SAAftS,KAAKqiD,IACTriD,KAAKqiD,EAAS,IAAM,GACrBriD,KAAKqiD,EAAS,IAAM,EACrBriD,KAAKqiD,EAAS,KAGlBrgC,EAAOnT,UAAU0qJ,UAAY,SAAoBl3G,EAAQxwC,EAAYknJ,GACnE12G,GAAkB,EAClBxwC,GAA0B,EACrBknJ,GAAU32G,EAAYC,EAAQxwC,EAAY7R,KAAKsS,QAEpD,IAAI8H,EAAMpa,KAAKqiD,GACX60B,EAAM,EACNnoE,EAAI,EACR,QAASA,EAAI8C,IAAeqlE,GAAO,KACjC98D,GAAOpa,KAAKqiD,EAAStzC,GAAKmoE,EAM5B,OAJAA,GAAO,IAEH98D,GAAO88D,IAAK98D,GAAO3U,KAAKwhC,IAAI,EAAG,EAAIp1B,IAEhCuI,GAGT4H,EAAOnT,UAAU2qJ,UAAY,SAAoBn3G,EAAQxwC,EAAYknJ,GACnE12G,GAAkB,EAClBxwC,GAA0B,EACrBknJ,GAAU32G,EAAYC,EAAQxwC,EAAY7R,KAAKsS,QAEpD,IAAIvD,EAAI8C,EACJqlE,EAAM,EACN98D,EAAMpa,KAAKqiD,IAAWtzC,GAC1B,MAAOA,EAAI,IAAMmoE,GAAO,KACtB98D,GAAOpa,KAAKqiD,IAAWtzC,GAAKmoE,EAM9B,OAJAA,GAAO,IAEH98D,GAAO88D,IAAK98D,GAAO3U,KAAKwhC,IAAI,EAAG,EAAIp1B,IAEhCuI,GAGT4H,EAAOnT,UAAU4qJ,SAAW,SAAmBp3G,EAAQ02G,GAErD,OADKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QACtB,IAAftS,KAAKqiD,IAC0B,GAA5B,IAAOriD,KAAKqiD,GAAU,GADKriD,KAAKqiD,IAI3CrgC,EAAOnT,UAAU6qJ,YAAc,SAAsBr3G,EAAQ02G,GACtDA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QAC3C,IAAI8H,EAAMpa,KAAKqiD,GAAWriD,KAAKqiD,EAAS,IAAM,EAC9C,OAAc,MAANjoC,EAAsB,WAANA,EAAmBA,GAG7C4H,EAAOnT,UAAU8qJ,YAAc,SAAsBt3G,EAAQ02G,GACtDA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QAC3C,IAAI8H,EAAMpa,KAAKqiD,EAAS,GAAMriD,KAAKqiD,IAAW,EAC9C,OAAc,MAANjoC,EAAsB,WAANA,EAAmBA,GAG7C4H,EAAOnT,UAAU+qJ,YAAc,SAAsBv3G,EAAQ02G,GAG3D,OAFKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QAEnCtS,KAAKqiD,GACVriD,KAAKqiD,EAAS,IAAM,EACpBriD,KAAKqiD,EAAS,IAAM,GACpBriD,KAAKqiD,EAAS,IAAM,IAGzBrgC,EAAOnT,UAAUgrJ,YAAc,SAAsBx3G,EAAQ02G,GAG3D,OAFKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QAEnCtS,KAAKqiD,IAAW,GACrBriD,KAAKqiD,EAAS,IAAM,GACpBriD,KAAKqiD,EAAS,IAAM,EACpBriD,KAAKqiD,EAAS,IAGnBrgC,EAAOnT,UAAUirJ,YAAc,SAAsBz3G,EAAQ02G,GAE3D,OADKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QACpCqhJ,EAAQjlF,KAAK1uE,KAAMqiD,GAAQ,EAAM,GAAI,IAG9CrgC,EAAOnT,UAAUkrJ,YAAc,SAAsB13G,EAAQ02G,GAE3D,OADKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QACpCqhJ,EAAQjlF,KAAK1uE,KAAMqiD,GAAQ,EAAO,GAAI,IAG/CrgC,EAAOnT,UAAUikF,aAAe,SAAuBzwC,EAAQ02G,GAE7D,OADKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QACpCqhJ,EAAQjlF,KAAK1uE,KAAMqiD,GAAQ,EAAM,GAAI,IAG9CrgC,EAAOnT,UAAUmrJ,aAAe,SAAuB33G,EAAQ02G,GAE7D,OADKA,GAAU32G,EAAYC,EAAQ,EAAGriD,KAAKsS,QACpCqhJ,EAAQjlF,KAAK1uE,KAAMqiD,GAAQ,EAAO,GAAI,IAS/CrgC,EAAOnT,UAAUorJ,YAAc,SAAsBx5J,EAAO4hD,EAAQxwC,EAAYknJ,GAI9E,GAHAt4J,GAASA,EACT4hD,GAAkB,EAClBxwC,GAA0B,GACrBknJ,EAAU,CACb,IAAImB,EAAWz0J,KAAKwhC,IAAI,EAAG,EAAIp1B,GAAc,EAC7C4mJ,EAASz4J,KAAMS,EAAO4hD,EAAQxwC,EAAYqoJ,EAAU,GAGtD,IAAIhjF,EAAM,EACNnoE,EAAI,EACR/O,KAAKqiD,GAAkB,IAAR5hD,EACf,QAASsO,EAAI8C,IAAeqlE,GAAO,KACjCl3E,KAAKqiD,EAAStzC,GAAMtO,EAAQy2E,EAAO,IAGrC,OAAO70B,EAASxwC,GAGlBmQ,EAAOnT,UAAUsrJ,YAAc,SAAsB15J,EAAO4hD,EAAQxwC,EAAYknJ,GAI9E,GAHAt4J,GAASA,EACT4hD,GAAkB,EAClBxwC,GAA0B,GACrBknJ,EAAU,CACb,IAAImB,EAAWz0J,KAAKwhC,IAAI,EAAG,EAAIp1B,GAAc,EAC7C4mJ,EAASz4J,KAAMS,EAAO4hD,EAAQxwC,EAAYqoJ,EAAU,GAGtD,IAAInrJ,EAAI8C,EAAa,EACjBqlE,EAAM,EACVl3E,KAAKqiD,EAAStzC,GAAa,IAARtO,EACnB,QAASsO,GAAK,IAAMmoE,GAAO,KACzBl3E,KAAKqiD,EAAStzC,GAAMtO,EAAQy2E,EAAO,IAGrC,OAAO70B,EAASxwC,GAGlBmQ,EAAOnT,UAAUurJ,WAAa,SAAqB35J,EAAO4hD,EAAQ02G,GAMhE,OALAt4J,GAASA,EACT4hD,GAAkB,EACb02G,GAAUN,EAASz4J,KAAMS,EAAO4hD,EAAQ,EAAG,IAAM,GACjDrgC,EAAO+xI,sBAAqBtzJ,EAAQgF,KAAK4vC,MAAM50C,IACpDT,KAAKqiD,GAAmB,IAAR5hD,EACT4hD,EAAS,GAWlBrgC,EAAOnT,UAAUwrJ,cAAgB,SAAwB55J,EAAO4hD,EAAQ02G,GAUtE,OATAt4J,GAASA,EACT4hD,GAAkB,EACb02G,GAAUN,EAASz4J,KAAMS,EAAO4hD,EAAQ,EAAG,MAAQ,GACpDrgC,EAAO+xI,qBACT/zJ,KAAKqiD,GAAmB,IAAR5hD,EAChBT,KAAKqiD,EAAS,GAAM5hD,IAAU,GAE9Bi4J,EAAkB14J,KAAMS,EAAO4hD,GAAQ,GAElCA,EAAS,GAGlBrgC,EAAOnT,UAAUyrJ,cAAgB,SAAwB75J,EAAO4hD,EAAQ02G,GAUtE,OATAt4J,GAASA,EACT4hD,GAAkB,EACb02G,GAAUN,EAASz4J,KAAMS,EAAO4hD,EAAQ,EAAG,MAAQ,GACpDrgC,EAAO+xI,qBACT/zJ,KAAKqiD,GAAW5hD,IAAU,EAC1BT,KAAKqiD,EAAS,GAAc,IAAR5hD,GAEpBi4J,EAAkB14J,KAAMS,EAAO4hD,GAAQ,GAElCA,EAAS,GAUlBrgC,EAAOnT,UAAU0rJ,cAAgB,SAAwB95J,EAAO4hD,EAAQ02G,GAYtE,OAXAt4J,GAASA,EACT4hD,GAAkB,EACb02G,GAAUN,EAASz4J,KAAMS,EAAO4hD,EAAQ,EAAG,WAAY,GACxDrgC,EAAO+xI,qBACT/zJ,KAAKqiD,EAAS,GAAM5hD,IAAU,GAC9BT,KAAKqiD,EAAS,GAAM5hD,IAAU,GAC9BT,KAAKqiD,EAAS,GAAM5hD,IAAU,EAC9BT,KAAKqiD,GAAmB,IAAR5hD,GAEhBm4J,EAAkB54J,KAAMS,EAAO4hD,GAAQ,GAElCA,EAAS,GAGlBrgC,EAAOnT,UAAU2rJ,cAAgB,SAAwB/5J,EAAO4hD,EAAQ02G,GAYtE,OAXAt4J,GAASA,EACT4hD,GAAkB,EACb02G,GAAUN,EAASz4J,KAAMS,EAAO4hD,EAAQ,EAAG,WAAY,GACxDrgC,EAAO+xI,qBACT/zJ,KAAKqiD,GAAW5hD,IAAU,GAC1BT,KAAKqiD,EAAS,GAAM5hD,IAAU,GAC9BT,KAAKqiD,EAAS,GAAM5hD,IAAU,EAC9BT,KAAKqiD,EAAS,GAAc,IAAR5hD,GAEpBm4J,EAAkB54J,KAAMS,EAAO4hD,GAAQ,GAElCA,EAAS,GAGlBrgC,EAAOnT,UAAU4rJ,WAAa,SAAqBh6J,EAAO4hD,EAAQxwC,EAAYknJ,GAG5E,GAFAt4J,GAASA,EACT4hD,GAAkB,GACb02G,EAAU,CACb,IAAIx9F,EAAQ91D,KAAKwhC,IAAI,EAAG,EAAIp1B,EAAa,GAEzC4mJ,EAASz4J,KAAMS,EAAO4hD,EAAQxwC,EAAY0pD,EAAQ,GAAIA,GAGxD,IAAIxsD,EAAI,EACJmoE,EAAM,EACNwjF,EAAM,EACV16J,KAAKqiD,GAAkB,IAAR5hD,EACf,QAASsO,EAAI8C,IAAeqlE,GAAO,KAC7Bz2E,EAAQ,GAAa,IAARi6J,GAAsC,IAAzB16J,KAAKqiD,EAAStzC,EAAI,KAC9C2rJ,EAAM,GAER16J,KAAKqiD,EAAStzC,IAAOtO,EAAQy2E,GAAQ,GAAKwjF,EAAM,IAGlD,OAAOr4G,EAASxwC,GAGlBmQ,EAAOnT,UAAU8rJ,WAAa,SAAqBl6J,EAAO4hD,EAAQxwC,EAAYknJ,GAG5E,GAFAt4J,GAASA,EACT4hD,GAAkB,GACb02G,EAAU,CACb,IAAIx9F,EAAQ91D,KAAKwhC,IAAI,EAAG,EAAIp1B,EAAa,GAEzC4mJ,EAASz4J,KAAMS,EAAO4hD,EAAQxwC,EAAY0pD,EAAQ,GAAIA,GAGxD,IAAIxsD,EAAI8C,EAAa,EACjBqlE,EAAM,EACNwjF,EAAM,EACV16J,KAAKqiD,EAAStzC,GAAa,IAARtO,EACnB,QAASsO,GAAK,IAAMmoE,GAAO,KACrBz2E,EAAQ,GAAa,IAARi6J,GAAsC,IAAzB16J,KAAKqiD,EAAStzC,EAAI,KAC9C2rJ,EAAM,GAER16J,KAAKqiD,EAAStzC,IAAOtO,EAAQy2E,GAAQ,GAAKwjF,EAAM,IAGlD,OAAOr4G,EAASxwC,GAGlBmQ,EAAOnT,UAAU+rJ,UAAY,SAAoBn6J,EAAO4hD,EAAQ02G,GAO9D,OANAt4J,GAASA,EACT4hD,GAAkB,EACb02G,GAAUN,EAASz4J,KAAMS,EAAO4hD,EAAQ,EAAG,KAAO,KAClDrgC,EAAO+xI,sBAAqBtzJ,EAAQgF,KAAK4vC,MAAM50C,IAChDA,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtCT,KAAKqiD,GAAmB,IAAR5hD,EACT4hD,EAAS,GAGlBrgC,EAAOnT,UAAUgsJ,aAAe,SAAuBp6J,EAAO4hD,EAAQ02G,GAUpE,OATAt4J,GAASA,EACT4hD,GAAkB,EACb02G,GAAUN,EAASz4J,KAAMS,EAAO4hD,EAAQ,EAAG,OAAS,OACrDrgC,EAAO+xI,qBACT/zJ,KAAKqiD,GAAmB,IAAR5hD,EAChBT,KAAKqiD,EAAS,GAAM5hD,IAAU,GAE9Bi4J,EAAkB14J,KAAMS,EAAO4hD,GAAQ,GAElCA,EAAS,GAGlBrgC,EAAOnT,UAAUisJ,aAAe,SAAuBr6J,EAAO4hD,EAAQ02G,GAUpE,OATAt4J,GAASA,EACT4hD,GAAkB,EACb02G,GAAUN,EAASz4J,KAAMS,EAAO4hD,EAAQ,EAAG,OAAS,OACrDrgC,EAAO+xI,qBACT/zJ,KAAKqiD,GAAW5hD,IAAU,EAC1BT,KAAKqiD,EAAS,GAAc,IAAR5hD,GAEpBi4J,EAAkB14J,KAAMS,EAAO4hD,GAAQ,GAElCA,EAAS,GAGlBrgC,EAAOnT,UAAUksJ,aAAe,SAAuBt6J,EAAO4hD,EAAQ02G,GAYpE,OAXAt4J,GAASA,EACT4hD,GAAkB,EACb02G,GAAUN,EAASz4J,KAAMS,EAAO4hD,EAAQ,EAAG,YAAa,YACzDrgC,EAAO+xI,qBACT/zJ,KAAKqiD,GAAmB,IAAR5hD,EAChBT,KAAKqiD,EAAS,GAAM5hD,IAAU,EAC9BT,KAAKqiD,EAAS,GAAM5hD,IAAU,GAC9BT,KAAKqiD,EAAS,GAAM5hD,IAAU,IAE9Bm4J,EAAkB54J,KAAMS,EAAO4hD,GAAQ,GAElCA,EAAS,GAGlBrgC,EAAOnT,UAAUmsJ,aAAe,SAAuBv6J,EAAO4hD,EAAQ02G,GAapE,OAZAt4J,GAASA,EACT4hD,GAAkB,EACb02G,GAAUN,EAASz4J,KAAMS,EAAO4hD,EAAQ,EAAG,YAAa,YACzD5hD,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GACxCuhB,EAAO+xI,qBACT/zJ,KAAKqiD,GAAW5hD,IAAU,GAC1BT,KAAKqiD,EAAS,GAAM5hD,IAAU,GAC9BT,KAAKqiD,EAAS,GAAM5hD,IAAU,EAC9BT,KAAKqiD,EAAS,GAAc,IAAR5hD,GAEpBm4J,EAAkB54J,KAAMS,EAAO4hD,GAAQ,GAElCA,EAAS,GAgBlBrgC,EAAOnT,UAAUosJ,aAAe,SAAuBx6J,EAAO4hD,EAAQ02G,GACpE,OAAOD,EAAW94J,KAAMS,EAAO4hD,GAAQ,EAAM02G,IAG/C/2I,EAAOnT,UAAUqsJ,aAAe,SAAuBz6J,EAAO4hD,EAAQ02G,GACpE,OAAOD,EAAW94J,KAAMS,EAAO4hD,GAAQ,EAAO02G,IAWhD/2I,EAAOnT,UAAUssJ,cAAgB,SAAwB16J,EAAO4hD,EAAQ02G,GACtE,OAAOC,EAAYh5J,KAAMS,EAAO4hD,GAAQ,EAAM02G,IAGhD/2I,EAAOnT,UAAUusJ,cAAgB,SAAwB36J,EAAO4hD,EAAQ02G,GACtE,OAAOC,EAAYh5J,KAAMS,EAAO4hD,GAAQ,EAAO02G,IAIjD/2I,EAAOnT,UAAU23C,KAAO,SAAej3C,EAAQ8rJ,EAAa9nJ,EAAOC,GAQjE,GAPKD,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAMxT,KAAKsS,QAC9B+oJ,GAAe9rJ,EAAO+C,SAAQ+oJ,EAAc9rJ,EAAO+C,QAClD+oJ,IAAaA,EAAc,GAC5B7nJ,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,EAAO,OAAO,EAC1B,GAAsB,IAAlBhE,EAAO+C,QAAgC,IAAhBtS,KAAKsS,OAAc,OAAO,EAGrD,GAAI+oJ,EAAc,EAChB,MAAM,IAAIpH,WAAW,6BAEvB,GAAI1gJ,EAAQ,GAAKA,GAASvT,KAAKsS,OAAQ,MAAM,IAAI2hJ,WAAW,6BAC5D,GAAIzgJ,EAAM,EAAG,MAAM,IAAIygJ,WAAW,2BAG9BzgJ,EAAMxT,KAAKsS,SAAQkB,EAAMxT,KAAKsS,QAC9B/C,EAAO+C,OAAS+oJ,EAAc7nJ,EAAMD,IACtCC,EAAMjE,EAAO+C,OAAS+oJ,EAAc9nJ,GAGtC,IACIxE,EADAsD,EAAMmB,EAAMD,EAGhB,GAAIvT,OAASuP,GAAUgE,EAAQ8nJ,GAAeA,EAAc7nJ,EAE1D,IAAKzE,EAAIsD,EAAM,EAAGtD,GAAK,IAAKA,EAC1BQ,EAAOR,EAAIssJ,GAAer7J,KAAK+O,EAAIwE,QAEhC,GAAIlB,EAAM,MAAS2P,EAAO+xI,oBAE/B,IAAKhlJ,EAAI,EAAGA,EAAIsD,IAAOtD,EACrBQ,EAAOR,EAAIssJ,GAAer7J,KAAK+O,EAAIwE,QAGrCpB,WAAWtD,UAAUqN,IAAIhB,KACvB3L,EACAvP,KAAK+rD,SAASx4C,EAAOA,EAAQlB,GAC7BgpJ,GAIJ,OAAOhpJ,GAOT2P,EAAOnT,UAAUk5D,KAAO,SAAe3tD,EAAK7G,EAAOC,EAAKqyC,GAEtD,GAAmB,kBAARzrC,EAAkB,CAS3B,GARqB,kBAAV7G,GACTsyC,EAAWtyC,EACXA,EAAQ,EACRC,EAAMxT,KAAKsS,QACa,kBAARkB,IAChBqyC,EAAWryC,EACXA,EAAMxT,KAAKsS,QAEM,IAAf8H,EAAI9H,OAAc,CACpB,IAAIF,EAAOgI,EAAI7H,WAAW,GACtBH,EAAO,MACTgI,EAAMhI,GAGV,QAAiBjJ,IAAb08C,GAA8C,kBAAbA,EACnC,MAAM,IAAInnC,UAAU,6BAEtB,GAAwB,kBAAbmnC,IAA0B7jC,EAAOuyI,WAAW1uG,GACrD,MAAM,IAAInnC,UAAU,qBAAuBmnC,OAErB,kBAARzrC,IAChBA,GAAY,KAId,GAAI7G,EAAQ,GAAKvT,KAAKsS,OAASiB,GAASvT,KAAKsS,OAASkB,EACpD,MAAM,IAAIygJ,WAAW,sBAGvB,GAAIzgJ,GAAOD,EACT,OAAOvT,KAQT,IAAI+O,EACJ,GANAwE,KAAkB,EAClBC,OAAcrK,IAARqK,EAAoBxT,KAAKsS,OAASkB,IAAQ,EAE3C4G,IAAKA,EAAM,GAGG,kBAARA,EACT,IAAKrL,EAAIwE,EAAOxE,EAAIyE,IAAOzE,EACzB/O,KAAK+O,GAAKqL,MAEP,CACL,IAAImtC,EAAQvlC,EAAOzE,SAASnD,GACxBA,EACA26I,EAAY,IAAI/yI,EAAO5H,EAAKyrC,GAAU5qC,YACtC5I,EAAMk1C,EAAMj1C,OAChB,IAAKvD,EAAI,EAAGA,EAAIyE,EAAMD,IAASxE,EAC7B/O,KAAK+O,EAAIwE,GAASg0C,EAAMx4C,EAAIsD,GAIhC,OAAOrS,MAMT,IAAIs7J,EAAoB,qBAExB,SAASC,EAAa1jJ,GAIpB,GAFAA,EAAM2jJ,EAAW3jJ,GAAK3H,QAAQorJ,EAAmB,IAE7CzjJ,EAAIvF,OAAS,EAAG,MAAO,GAE3B,MAAOuF,EAAIvF,OAAS,IAAM,EACxBuF,GAAY,IAEd,OAAOA,EAGT,SAAS2jJ,EAAY3jJ,GACnB,OAAIA,EAAI08B,KAAa18B,EAAI08B,OAClB18B,EAAI3H,QAAQ,aAAc,IAGnC,SAASsoJ,EAAOj9I,GACd,OAAIA,EAAI,GAAW,IAAMA,EAAEN,SAAS,IAC7BM,EAAEN,SAAS,IAGpB,SAAS85I,EAAazqG,EAAQmxG,GAE5B,IAAIvE,EADJuE,EAAQA,GAAStsF,IAMjB,IAJA,IAAI78D,EAASg4C,EAAOh4C,OAChBopJ,EAAgB,KAChBn0G,EAAQ,GAEHx4C,EAAI,EAAGA,EAAIuD,IAAUvD,EAAG,CAI/B,GAHAmoJ,EAAY5sG,EAAO/3C,WAAWxD,GAG1BmoJ,EAAY,OAAUA,EAAY,MAAQ,CAE5C,IAAKwE,EAAe,CAElB,GAAIxE,EAAY,MAAQ,EAEjBuE,GAAS,IAAM,GAAGl0G,EAAM7zC,KAAK,IAAM,IAAM,KAC9C,SACK,GAAI3E,EAAI,IAAMuD,EAAQ,EAEtBmpJ,GAAS,IAAM,GAAGl0G,EAAM7zC,KAAK,IAAM,IAAM,KAC9C,SAIFgoJ,EAAgBxE,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjBuE,GAAS,IAAM,GAAGl0G,EAAM7zC,KAAK,IAAM,IAAM,KAC9CgoJ,EAAgBxE,EAChB,SAIFA,EAAkE,OAArDwE,EAAgB,OAAU,GAAKxE,EAAY,YAC/CwE,IAEJD,GAAS,IAAM,GAAGl0G,EAAM7zC,KAAK,IAAM,IAAM,KAMhD,GAHAgoJ,EAAgB,KAGZxE,EAAY,IAAM,CACpB,IAAKuE,GAAS,GAAK,EAAG,MACtBl0G,EAAM7zC,KAAKwjJ,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKuE,GAAS,GAAK,EAAG,MACtBl0G,EAAM7zC,KACJwjJ,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAKuE,GAAS,GAAK,EAAG,MACtBl0G,EAAM7zC,KACJwjJ,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAIxkJ,MAAM,sBARhB,IAAK+oJ,GAAS,GAAK,EAAG,MACtBl0G,EAAM7zC,KACJwjJ,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAO3vG,EAGT,SAASivG,EAAc3+I,GAErB,IADA,IAAI8jJ,EAAY,GACP5sJ,EAAI,EAAGA,EAAI8I,EAAIvF,SAAUvD,EAEhC4sJ,EAAUjoJ,KAAyB,IAApBmE,EAAItF,WAAWxD,IAEhC,OAAO4sJ,EAGT,SAAS/E,EAAgB/+I,EAAK4jJ,GAG5B,IAFA,IAAIpuJ,EAAGuuJ,EAAIC,EACPF,EAAY,GACP5sJ,EAAI,EAAGA,EAAI8I,EAAIvF,SAAUvD,EAAG,CACnC,IAAK0sJ,GAAS,GAAK,EAAG,MAEtBpuJ,EAAIwK,EAAItF,WAAWxD,GACnB6sJ,EAAKvuJ,GAAK,EACVwuJ,EAAKxuJ,EAAI,IACTsuJ,EAAUjoJ,KAAKmoJ,GACfF,EAAUjoJ,KAAKkoJ,GAGjB,OAAOD,EAGT,SAAS3G,EAAen9I,GACtB,OAAOsrC,EAAOrxC,YAAYypJ,EAAY1jJ,IAGxC,SAASy+I,GAAYvvJ,EAAK48B,EAAK0e,EAAQ/vC,GACrC,IAAK,IAAIvD,EAAI,EAAGA,EAAIuD,IAAUvD,EAAG,CAC/B,GAAKA,EAAIszC,GAAU1e,EAAIrxB,QAAYvD,GAAKhI,EAAIuL,OAAS,MACrDqxB,EAAI50B,EAAIszC,GAAUt7C,EAAIgI,GAExB,OAAOA,EAGT,SAAS4lJ,GAAOv6I,GACd,OAAOA,IAAQA,K","file":"js/back.8ded5130.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/1.2e59c287.png\";","module.exports = __webpack_public_path__ + \"img/2.e6c81099.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"cloud\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'cloud', 'activation' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"cloud\",\"active\":\"activation\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('activationList.code')},model:{value:(_vm.search.code),callback:function ($$v) {_vm.$set(_vm.search, \"code\", $$v)},expression:\"search.code\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('activationList.order')},model:{value:(_vm.search.order),callback:function ($$v) {_vm.$set(_vm.search, \"order\", $$v)},expression:\"search.order\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list,\"border\":\"\"}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"code\",\"label\":_vm.$t('activationList.code')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"type\",\"label\":_vm.$t('activationList.type')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"state\",\"label\":_vm.$t('activationList.state')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"order\",\"label\":_vm.$t('activationList.order')}})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}),_c('el-dialog',{attrs:{\"title\":_vm.$t('activationList.generateOrder'),\"visible\":_vm.showGenerateOrderDialog,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.showGenerateOrderDialog=$event}}},[_c('el-form',{ref:\"form\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"inline\":\"\",\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.sourceApp'),\"prop\":\"source_app\"}},[_c('el-select',{model:{value:(_vm.form.source_app),callback:function ($$v) {_vm.$set(_vm.form, \"source_app\", $$v)},expression:\"form.source_app\"}},_vm._l((_vm.firmIdList),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.count'),\"prop\":\"count\"}},[_c('el-input',{model:{value:(_vm.form.count),callback:function ($$v) {_vm.$set(_vm.form, \"count\", $$v)},expression:\"form.count\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.type'),\"prop\":\"type\"}},[_c('el-select',{model:{value:(_vm.form.type),callback:function ($$v) {_vm.$set(_vm.form, \"type\", $$v)},expression:\"form.type\"}},_vm._l((_vm.activationTypeOption),function(item){return _c('el-option',{key:item.activation,attrs:{\"label\":item.activation,\"value\":item.activation}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.price'),\"prop\":\"price\"}},[_c('el-input',{model:{value:(_vm.form.price),callback:function ($$v) {_vm.$set(_vm.form, \"price\", $$v)},expression:\"form.price\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.currency'),\"prop\":\"currency\"}},[_c('el-select',{model:{value:(_vm.form.currency),callback:function ($$v) {_vm.$set(_vm.form, \"currency\", $$v)},expression:\"form.currency\"}},[_c('el-option',{key:\"CNY\",attrs:{\"label\":\"CNY\",\"value\":\"CNY\"}}),_c('el-option',{key:\"USD\",attrs:{\"label\":\"USD\",\"value\":\"USD\"}})],1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.generateLoading},on:{\"click\":_vm.generate}},[_vm._v(_vm._s(_vm.$t('activationList.generate'))+\"\\n \")]),_c('el-button',{on:{\"click\":function($event){_vm.showGenerateOrderDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('activationList.downloadOrder'),\"visible\":_vm.showDownloadOrderDialog,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.showDownloadOrderDialog=$event}}},[_c('el-form',{attrs:{\"inline\":\"\",\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.order')}},[_c('el-select',{model:{value:(_vm.orderId),callback:function ($$v) {_vm.orderId=$$v},expression:\"orderId\"}},_vm._l((_vm.activationOrderListOption),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.id,\"value\":item.id}})}),1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.downLoading},on:{\"click\":_vm.download}},[_vm._v(_vm._s(_vm.$t('download')))]),_c('el-button',{on:{\"click\":function($event){_vm.showDownloadOrderDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Activation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Activation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Activation.vue?vue&type=template&id=aab32a9a&scoped=true&\"\nimport script from \"./Activation.vue?vue&type=script&lang=js&\"\nexport * from \"./Activation.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"aab32a9a\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./P2PCode.vue?vue&type=style&index=0&id=645fd09e&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"test\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'test', 'test_device' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"test\",\"active\":\"test_device\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-card',{staticStyle:{\"height\":\"95%\"}},[_c('el-row',[_c('el-col',[_c('div',{staticStyle:{\"float\":\"left\",\"font-size\":\"30px\",\"margin-bottom\":\"20px\"}},[_vm._v(\"设备测试\")])])],1),_c('el-row',[_c('el-col',[_c('el-button',{staticStyle:{\"float\":\"left\",\"margin-bottom\":\"20px\"},attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.test('HZ')}}},[_vm._v(\"杭州\")]),_c('el-button',{staticStyle:{\"float\":\"left\",\"margin-bottom\":\"20px\"},attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.test('EU')}}},[_vm._v(\"欧洲\")]),_c('el-button',{staticStyle:{\"float\":\"left\",\"margin-bottom\":\"20px\"},attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.test('US')}}},[_vm._v(\"美国\")]),_c('el-button',{staticStyle:{\"float\":\"left\",\"margin-bottom\":\"20px\"},attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.test('ALL')}}},[_vm._v(\"全球\")])],1)],1),_c('el-row',[_c('el-col',[_c('div',{staticStyle:{\"float\":\"left\"}},[_vm._v(\"测试时,如果要多次测试,请确保收到了之前测试的结果邮件后再点击按钮\")])])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./TestDevice.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./TestDevice.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TestDevice.vue?vue&type=template&id=58ce8866&scoped=true&\"\nimport script from \"./TestDevice.vue?vue&type=script&lang=js&\"\nexport * from \"./TestDevice.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58ce8866\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"cloud\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'cloud', 'oss_charts' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"cloud\",\"active\":\"oss_charts\"}}),_c('iframe',{attrs:{\"src\":\"https://product.meari.com.cn/nginx-request/charts_oss.html\",\"width\":\"100%\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./OssCharts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./OssCharts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OssCharts.vue?vue&type=template&id=1fc84f1a&scoped=true&\"\nimport script from \"./OssCharts.vue?vue&type=script&lang=js&\"\nexport * from \"./OssCharts.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OssCharts.vue?vue&type=style&index=0&id=1fc84f1a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fc84f1a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"customerService\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'customerService', 'guestAnalyse' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"customerService\",\"active\":\"guestAnalyse\"}}),_c('el-main',[_vm._v(\"\\n 客诉分析\\n \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GuestAnaly.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GuestAnaly.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GuestAnaly.vue?vue&type=template&id=4f10f6ea&scoped=true&\"\nimport script from \"./GuestAnaly.vue?vue&type=script&lang=js&\"\nexport * from \"./GuestAnaly.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f10f6ea\",\n null\n \n)\n\nexport default component.exports","export default function cloneValue(value) {\r\n if (Array.isArray(value)) {\r\n return value.map(cloneValue)\r\n } else if (value && typeof value === 'object') {\r\n var res = {};\r\n for (var key in value) {\r\n res[key] = cloneValue(value[key]);\r\n }\r\n return res\r\n } else {\r\n return value\r\n }\r\n};\r\n","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Mongo.vue?vue&type=style&index=0&id=1098cf26&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GuestComplaint.vue?vue&type=style&index=0&id=ba91f120&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"monitor\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'monitor', 'p2p_server' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"monitor\",\"active\":\"p2p_server\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_vm._v(\"\\n todo\\n \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./P2PServer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./P2PServer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./P2PServer.vue?vue&type=template&id=25f8b25e&scoped=true&\"\nimport script from \"./P2PServer.vue?vue&type=script&lang=js&\"\nexport * from \"./P2PServer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"25f8b25e\",\n null\n \n)\n\nexport default component.exports","/** 水印添加方法 */\n\nlet setWatermark = (str1, str2) => {\n let id = '1.23452384164.123412415'\n\n if (document.getElementById(id) !== null) {\n document.body.removeChild(document.getElementById(id))\n }\n\n let can = document.createElement('canvas')\n // 设置canvas画布大小\n can.width = 300\n can.height = 200\n\n let cans = can.getContext('2d')\n cans.rotate(-20 * Math.PI / 180) // 水印旋转角度\n cans.font = '15px Vedana'\n cans.fillStyle = '#666666'\n cans.textAlign = 'center'\n cans.textBaseline = 'Middle'\n cans.fillText(str1, can.width / 2, can.height) // 水印在画布的位置x,y轴\n cans.fillText(format_date(str2), can.width / 2, can.height + 22)\n\n let div = document.createElement('div')\n div.id = id\n div.style.pointerEvents = 'none'\n div.style.top = '40px'\n div.style.left = '0px'\n div.style.opacity = '0.15'\n div.style.position = 'fixed'\n div.style.zIndex = '100000'\n div.style.width = '100%'\n div.style.height = '100%'\n div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat'\n document.body.appendChild(div)\n return id\n }\n\n // 添加水印方法\n export const setWaterMark = (str1, str2) => {\n let id = setWatermark(str1, str2)\n if (document.getElementById(id) === null) {\n id = setWatermark(str1, str2)\n }\n }\n\n // 移除水印方法\n export const removeWatermark = () => {\n let id = '1.23452384164.123412415'\n if (document.getElementById(id) !== null) {\n document.body.removeChild(document.getElementById(id))\n }\n }\n","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GrayPublish.vue?vue&type=style&index=0&id=47920234&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PictureDetail.vue?vue&type=style&index=0&id=24a31fd4&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"monitor\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'monitor', 'redis' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"monitor\",\"active\":\"redis\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-date-picker',{attrs:{\"clearable\":false,\"value-format\":\"yyyyMMdd\",\"placeholder\":\"CreateDate\"},model:{value:(_vm.day),callback:function ($$v) {_vm.day=$$v},expression:\"day\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.fetchList}})],1)],1),_c('iframe',{attrs:{\"src\":_vm.src,\"width\":\"100%\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Redis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Redis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Redis.vue?vue&type=template&id=e5fd86d0&scoped=true&\"\nimport script from \"./Redis.vue?vue&type=script&lang=js&\"\nexport * from \"./Redis.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Redis.vue?vue&type=style&index=0&id=e5fd86d0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e5fd86d0\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./FeedbackCharts.vue?vue&type=style&index=0&id=79244354&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'country' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"country\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"CountryCode\"},model:{value:(_vm.search.countryCode),callback:function ($$v) {_vm.$set(_vm.search, \"countryCode\", $$v)},expression:\"search.countryCode\"}})],1),_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"EnglishName\"},model:{value:(_vm.search.englishName),callback:function ($$v) {_vm.$set(_vm.search, \"englishName\", $$v)},expression:\"search.englishName\"}})],1),_c('el-form-item',[_c('el-select',{staticClass:\"search-input-s\",attrs:{\"clearable\":\"\",\"placeholder\":\"Continent\"},model:{value:(_vm.search.continent),callback:function ($$v) {_vm.$set(_vm.search, \"continent\", $$v)},expression:\"search.continent\"}},[_c('el-option',{attrs:{\"value\":\"US\"}},[_vm._v(\"US\")]),_c('el-option',{attrs:{\"value\":\"AS\"}},[_vm._v(\"AS\")]),_c('el-option',{attrs:{\"value\":\"EU\"}},[_vm._v(\"EU\")]),_c('el-option',{attrs:{\"value\":\"CN\"}},[_vm._v(\"CN\")])],1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"mini\"}},[_c('el-table-column',{attrs:{\"prop\":\"countryID\",\"label\":\"CountryID\"}}),_c('el-table-column',{attrs:{\"prop\":\"countryCode\",\"label\":\"CountryCode\"}}),_c('el-table-column',{attrs:{\"prop\":\"englishName\",\"label\":\"EnglishName\"}}),_c('el-table-column',{attrs:{\"prop\":\"continent\",\"label\":\"Continent\"}})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[20, 50, 200],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Country.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Country.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Country.vue?vue&type=template&id=387d79a4&scoped=true&\"\nimport script from \"./Country.vue?vue&type=script&lang=js&\"\nexport * from \"./Country.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"387d79a4\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatUser.vue?vue&type=style&index=0&id=71c84e21&scoped=true&lang=css&\"","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'gray_publish' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"gray_publish\"}}),_c('el-main',[_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-tabs',{attrs:{\"type\":\"card\"},on:{\"tab-click\":_vm.handleChange},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":_vm.$t('license_control'),\"name\":\"license\"}},[_c('el-form',{ref:\"licenseSearch\",staticClass:\"search-input\",attrs:{\"model\":_vm.licenseSearch,\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',{attrs:{\"prop\":\"licenseId\"}},[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceGrayPublish.licenseID')},model:{value:(_vm.licenseSearch.licenseId),callback:function ($$v) {_vm.$set(_vm.licenseSearch, \"licenseId\", $$v)},expression:\"licenseSearch.licenseId\"}})],1),_c('el-form-item',{attrs:{\"prop\":\"targetVersion\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceGrayPublish.versionID')},model:{value:(_vm.licenseSearch.targetVersion),callback:function ($$v) {_vm.$set(_vm.licenseSearch, \"targetVersion\", $$v)},expression:\"licenseSearch.targetVersion\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.getList()}}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.resetForm('licenseSearch',true)}}})],1)],1),(_vm.power_1516)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function (){\n this$1.getVersion(null);\n this$1.show_dialog = true}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceGrayPublish.progressQuery'))+\"\\n \")])],1)],1):_vm._e(),(_vm.power_1515)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function (){\n this$1.getVersion(null);\n this$1.licenseRateConfigDrawer = true}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceGrayPublish.ratioConfig'))+\"\\n \")])],1)],1):_vm._e(),(_vm.power_1556)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function (){\n this$1.getVersion(null);\n this$1.licenseConfigDrawer = true}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceGrayPublish.singleRelease'))+\"\\n \")])],1)],1):_vm._e(),(_vm.power_1557)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function (){\n this$1.getVersion(null);\n this$1.licenseBatchConfigDrawer = true}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceGrayPublish.batchRelease'))+\"\\n \")])],1)],1):_vm._e(),(_vm.power_1559)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.licenseDeleteDrawer = true}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceGrayPublish.sameBatchRemove'))+\"\\n \")])],1)],1):_vm._e(),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list,\"row-key\":\"license\"}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"licenseID\",\"label\":_vm.$t('deviceGrayPublish.licenseID')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"versionID\",\"label\":_vm.$t('deviceGrayPublish.versionID')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-link',{attrs:{\"type\":\"primary\",\"underline\":false},on:{\"click\":function($event){return _vm.changeTabs(scope.row.versionID)}}},[_vm._v(_vm._s(scope.row.versionID)+\"\\n \")])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"isForceUpdate\",\"label\":_vm.$t('deviceGrayPublish.isForceUpdate')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"batchId\",\"label\":_vm.$t('deviceGrayPublish.batchId')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"label\":_vm.$t('appPublish.action')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return (_vm.power_1558)?[_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.remove(scope.row.licenseID)}}})]:undefined}}],null,true)})],1)],1),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('tp_control'),\"name\":\"tp\"}},[_c('el-form',{ref:\"tpSearch\",staticClass:\"search-input\",attrs:{\"model\":_vm.tpSearch,\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',{attrs:{\"prop\":\"tp\"}},[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceGrayPublish.tp')},model:{value:(_vm.tpSearch.tp),callback:function ($$v) {_vm.$set(_vm.tpSearch, \"tp\", $$v)},expression:\"tpSearch.tp\"}})],1),_c('el-form-item',{attrs:{\"prop\":\"targetVersion\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceGrayPublish.versionID')},model:{value:(_vm.tpSearch.targetVersion),callback:function ($$v) {_vm.$set(_vm.tpSearch, \"targetVersion\", $$v)},expression:\"tpSearch.targetVersion\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.getList()}}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.resetForm('tpSearch',true)}}})],1)],1),(_vm.power_1564)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.tpConfigDrawer = true}}},[_vm._v(_vm._s(_vm.$t('deviceGrayPublish.singleRelease'))+\"\\n \")])],1)],1):_vm._e(),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list,\"row-key\":\"tp\"}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"tp\",\"label\":_vm.$t('deviceGrayPublish.tp')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"versionID\",\"label\":_vm.$t('deviceGrayPublish.versionID')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-link',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.changeTabs(scope.row.versionID)}}},[_vm._v(_vm._s(scope.row.versionID))])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"isForceUpdate\",\"label\":_vm.$t('deviceGrayPublish.isForceUpdate')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"batchId\",\"label\":_vm.$t('deviceGrayPublish.batchId')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"label\":_vm.$t('appPublish.action')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return (_vm.power_1565)?[_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.remove(scope.row.tp)}}})]:undefined}}],null,true)})],1)],1),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('firmware_control'),\"name\":\"firmware\"}},[_c('el-form',{ref:\"deviceSearch\",staticClass:\"search-input\",attrs:{\"model\":_vm.deviceSearch,\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',{attrs:{\"prop\":\"fileNamePart\"}},[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceGrayPublish.firmwareName')},model:{value:(_vm.deviceSearch.fileNamePart),callback:function ($$v) {_vm.$set(_vm.deviceSearch, \"fileNamePart\", $$v)},expression:\"deviceSearch.fileNamePart\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.getList()}}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.resetForm('deviceSearch',true)}}})],1)],1),(_vm.power_1554)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.firmwareUploadDrawer = true}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceGrayPublish.firmwareUpload'))+\"\\n \")])],1)],1):_vm._e(),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list,\"row-key\":\"firmware\"}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"fileName\",\"label\":_vm.$t('deviceGrayPublish.firmwareName')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"fileUrl\",\"label\":_vm.$t('deviceGrayPublish.firmwareUrl')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"uploadDate\",\"label\":_vm.$t('deviceGrayPublish.uploadDate')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.uploadDate)))]}}])})],1)],1)],1),_c('el-drawer',{attrs:{\"title\":_vm.$t('deviceGrayPublish.sameBatchRemove'),\"visible\":_vm.licenseDeleteDrawer},on:{\"update:visible\":function($event){_vm.licenseDeleteDrawer=$event},\"closed\":function($event){return _vm.resetForm('batch')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.drawerLoading),expression:\"drawerLoading\"}],ref:\"batch\",attrs:{\"model\":_vm.batch,\"rules\":_vm.rules,\"inline\":\"\",\"label-width\":\"150px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.batchId'),\"prop\":\"batchId\"}},[_c('el-input',{model:{value:(_vm.batch.batchId),callback:function ($$v) {_vm.$set(_vm.batch, \"batchId\", $$v)},expression:\"batch.batchId\"}})],1),_c('el-form-item',[_c('el-button',{staticStyle:{\"margin-left\":\"20px\"},attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.batchRemove()}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceGrayPublish.submit'))+\"\\n \")])],1)],1)],1),_c('el-drawer',{attrs:{\"title\":_vm.$t('deviceGrayPublish.batchRelease'),\"visible\":_vm.licenseBatchConfigDrawer},on:{\"update:visible\":function($event){_vm.licenseBatchConfigDrawer=$event},\"closed\":function($event){return _vm.resetForm('licenseForm')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.drawerLoading),expression:\"drawerLoading\"}],ref:\"licenseForm\",attrs:{\"model\":_vm.licenseForm,\"rules\":_vm.rules,\"label-width\":\"150px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.versionID'),\"prop\":\"targetVersion\"}},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('deviceGrayPublish.versionID'),\"filterable\":\"\",\"clearable\":\"\",\"loading\":_vm.selectLoading,\"remote\":\"\",\"remote-method\":_vm.getVersion},model:{value:(_vm.licenseForm.targetVersion),callback:function ($$v) {_vm.$set(_vm.licenseForm, \"targetVersion\", $$v)},expression:\"licenseForm.targetVersion\"}},_vm._l((_vm.versionOptions),function(option,index){return _c('el-option',{key:option + index,attrs:{\"label\":option,\"value\":option}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.isForceUpdate'),\"label-width\":\"30%\",\"prop\":\"forceUpdate\"}},[_c('el-switch',{model:{value:(_vm.licenseForm.forceUpdate),callback:function ($$v) {_vm.$set(_vm.licenseForm, \"forceUpdate\", $$v)},expression:\"licenseForm.forceUpdate\"}})],1),_c('el-form-item',{staticClass:\"upload_class\"},[_c('el-upload',{ref:\"licenseUpload\",attrs:{\"action\":\"\",\"on-change\":function (v,fl){ return _vm.getFile(v,fl,'excel'); },\"file-list\":_vm.excelFileList,\"auto-upload\":false}},[_c('el-button',{attrs:{\"type\":\"primary\"}},[_vm._v(_vm._s(_vm.$t('deviceGrayPublish.clickUpload')))]),_c('div',{staticClass:\"el-upload__tip text_not_exceed\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(_vm._s(_vm.$t('deviceGrayPublish.uploadTipLicense'))+\"\\n \")])],1),_c('el-button',{style:({marginTop:'10px',width:'98px'}),attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.batchPub()}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('submit'))+\"\\n \")])],1)],1)],1),_c('el-drawer',{attrs:{\"title\":_vm.$t('deviceGrayPublish.singleRelease'),\"visible\":_vm.licenseConfigDrawer},on:{\"update:visible\":function($event){_vm.licenseConfigDrawer=$event},\"closed\":function($event){return _vm.resetForm('singleForm')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.drawerLoading),expression:\"drawerLoading\"}],ref:\"singleForm\",attrs:{\"model\":_vm.singleForm,\"rules\":_vm.rules,\"label-width\":\"150px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.licenseID'),\"prop\":\"licenseId\"}},[_c('el-input',{model:{value:(_vm.singleForm.licenseId),callback:function ($$v) {_vm.$set(_vm.singleForm, \"licenseId\", $$v)},expression:\"singleForm.licenseId\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.versionID'),\"prop\":\"targetVersion\"}},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('deviceGrayPublish.versionID'),\"filterable\":\"\",\"clearable\":\"\",\"loading\":_vm.selectLoading,\"remote\":\"\",\"remote-method\":_vm.getVersion},model:{value:(_vm.singleForm.targetVersion),callback:function ($$v) {_vm.$set(_vm.singleForm, \"targetVersion\", $$v)},expression:\"singleForm.targetVersion\"}},_vm._l((_vm.versionOptions),function(option,index){return _c('el-option',{key:option + index,attrs:{\"label\":option,\"value\":option}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.isForceUpdate'),\"prop\":\"forceUpdate\"}},[_c('el-switch',{model:{value:(_vm.singleForm.forceUpdate),callback:function ($$v) {_vm.$set(_vm.singleForm, \"forceUpdate\", $$v)},expression:\"singleForm.forceUpdate\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.singlePub()}}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('singleForm')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1),_c('el-drawer',{attrs:{\"title\":_vm.$t('deviceGrayPublish.ratioConfig'),\"visible\":_vm.licenseRateConfigDrawer},on:{\"update:visible\":function($event){_vm.licenseRateConfigDrawer=$event},\"closed\":function($event){return _vm.resetForm('rateForm')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.drawerLoading),expression:\"drawerLoading\"}],ref:\"rateForm\",attrs:{\"model\":_vm.rateForm,\"rules\":_vm.rules,\"label-width\":\"150px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.versionID'),\"prop\":\"targetVersion\"}},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('deviceGrayPublish.versionID'),\"filterable\":\"\",\"clearable\":\"\",\"loading\":_vm.selectLoading,\"remote\":\"\",\"remote-method\":_vm.getVersion},on:{\"change\":function($event){_vm.rateForm=Object.assign({}, _vm.rateForm,{total:null,amount:0,rate:0})}},model:{value:(_vm.rateForm.targetVersion),callback:function ($$v) {_vm.$set(_vm.rateForm, \"targetVersion\", $$v)},expression:\"rateForm.targetVersion\"}},_vm._l((_vm.versionOptions),function(option,index){return _c('el-option',{key:option + index,attrs:{\"label\":option,\"value\":option}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.total'),\"prop\":\"total\"}},[(_vm.rateForm.total)?_c('span',[_vm._v(_vm._s(_vm.rateForm.total))]):_c('el-button',{attrs:{\"size\":\"mini\",\"loading\":_vm.buttonLoading},on:{\"click\":_vm.getTotal}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceGrayPublish.getTotal'))+\"\\n \")])],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.ratio'),\"prop\":\"rate\"}},[_c('el-slider',{attrs:{\"disabled\":!_vm.rateForm.total,\"min\":0,\"max\":100,\"step\":0.01,\"format-tooltip\":function (v){return v+'%'}},on:{\"input\":_vm.getAmount},model:{value:(_vm.rateForm.rate),callback:function ($$v) {_vm.$set(_vm.rateForm, \"rate\", $$v)},expression:\"rateForm.rate\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.number'),\"prop\":\"amount\"}},[_c('span',[_vm._v(_vm._s(_vm.rateForm.amount))])]),_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.isForceUpdate'),\"prop\":\"forceUpdate\"}},[_c('el-switch',{model:{value:(_vm.rateForm.forceUpdate),callback:function ($$v) {_vm.$set(_vm.rateForm, \"forceUpdate\", $$v)},expression:\"rateForm.forceUpdate\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.judgeCount('rateForm')}}},[_vm._v(_vm._s(_vm.$t('submit')))])],1)],1)],1),_c('el-drawer',{attrs:{\"title\":_vm.$t('deviceGrayPublish.singleRelease'),\"visible\":_vm.tpConfigDrawer},on:{\"update:visible\":function($event){_vm.tpConfigDrawer=$event},\"closed\":function($event){return _vm.resetForm('singleForm')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.drawerLoading),expression:\"drawerLoading\"}],ref:\"singleForm\",attrs:{\"model\":_vm.singleForm,\"rules\":_vm.rules,\"label-width\":\"150px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.tp'),\"prop\":\"tp\"}},[_c('el-input',{model:{value:(_vm.singleForm.tp),callback:function ($$v) {_vm.$set(_vm.singleForm, \"tp\", $$v)},expression:\"singleForm.tp\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.versionID'),\"prop\":\"targetVersion\"}},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('deviceGrayPublish.versionID'),\"filterable\":\"\",\"clearable\":\"\",\"loading\":_vm.selectLoading,\"remote\":\"\",\"remote-method\":_vm.getVersion},model:{value:(_vm.singleForm.targetVersion),callback:function ($$v) {_vm.$set(_vm.singleForm, \"targetVersion\", $$v)},expression:\"singleForm.targetVersion\"}},_vm._l((_vm.versionOptions),function(option,index){return _c('el-option',{key:option + index,attrs:{\"label\":option,\"value\":option}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.isForceUpdate'),\"prop\":\"forceUpdate\"}},[_c('el-switch',{model:{value:(_vm.singleForm.forceUpdate),callback:function ($$v) {_vm.$set(_vm.singleForm, \"forceUpdate\", $$v)},expression:\"singleForm.forceUpdate\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.singlePub()}}},[_vm._v(_vm._s(_vm.$t('devicePublish.create')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('singleForm')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1),_c('el-drawer',{attrs:{\"title\":_vm.$t('deviceGrayPublish.firmwareUpload'),\"visible\":_vm.firmwareUploadDrawer},on:{\"update:visible\":function($event){_vm.firmwareUploadDrawer=$event},\"closed\":function($event){return _vm.resetForm('deviceForm')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.drawerLoading),expression:\"drawerLoading\"}],ref:\"deviceForm\",staticClass:\"edit-input\",attrs:{\"model\":_vm.deviceForm,\"rules\":_vm.rules,\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('deviceGrayPublish.firmwareUpload')}},[_c('el-upload',{ref:\"offFileUpload\",staticStyle:{\"width\":\"300px\"},attrs:{\"drag\":\"\",\"action\":\"\",\"on-change\":function (v,fl){ return _vm.getFile(v,fl,'device'); },\"file-list\":_vm.fileList,\"auto-upload\":false}},[_c('i',{staticClass:\"el-icon-upload\"}),_c('div',{staticClass:\"el-upload__text\"},[_vm._v(_vm._s(_vm.$t('devicePublish.clickUploadTip')))]),_c('div',{staticClass:\"el-upload__tip\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(_vm._s(_vm.$t('devicePublish.uploadTip')))])])],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.firmwareUpload()}}},[_vm._v(_vm._s(_vm.$t('submit')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('deviceGrayPublish.progressQuery'),\"visible\":_vm.show_dialog},on:{\"update:visible\":function($event){_vm.show_dialog=$event},\"close\":_vm.closeDialog}},[_c('div',{staticClass:\"progress-search\"},[_c('el-select',{attrs:{\"size\":\"small\",\"placeholder\":_vm.$t('deviceGrayPublish.versionID'),\"filterable\":\"\",\"clearable\":\"\",\"loading\":_vm.selectLoading,\"remote\":\"\",\"remote-method\":_vm.getVersion},model:{value:(_vm.progressForm.targetVersion),callback:function ($$v) {_vm.$set(_vm.progressForm, \"targetVersion\", $$v)},expression:\"progressForm.targetVersion\"}},_vm._l((_vm.versionOptions),function(option,index){return _c('el-option',{key:option + index,attrs:{\"label\":option,\"value\":option}})}),1),_c('el-button',{attrs:{\"size\":\"small\",\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.getProgress()}}})],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.dialogLoading),expression:\"dialogLoading\"}],attrs:{\"data\":_vm.progressList,\"size\":\"small\",\"header-cell-style\":{background:'#F9F9F9'}}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"key\",\"label\":\"Key\",\"width\":\"150\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm.getKeyLabel(scope.row.key)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"value\",\"label\":\"Value\"}})],1)],1),(_vm.activeName!=='firmware')?_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 30, 50],\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"total\":_vm.total},on:{\"size-change\":_vm.getList,\"current-change\":_vm.getList,\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"update:pageSize\":function($event){_vm.pageSize=$event},\"update:page-size\":function($event){_vm.pageSize=$event}}}):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GrayPublish.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GrayPublish.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GrayPublish.vue?vue&type=template&id=47920234&scoped=true&\"\nimport script from \"./GrayPublish.vue?vue&type=script&lang=js&\"\nexport * from \"./GrayPublish.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GrayPublish.vue?vue&type=style&index=0&id=47920234&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47920234\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./OssCharts.vue?vue&type=style&index=0&id=1fc84f1a&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'app_publish' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"feedback_charts\"}}),_c('iframe',{attrs:{\"src\":\"http://192.168.1.19/feedback-charts/charts.html\",\"width\":\"100%\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./FeedbackCharts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./FeedbackCharts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FeedbackCharts.vue?vue&type=template&id=79244354&scoped=true&\"\nimport script from \"./FeedbackCharts.vue?vue&type=script&lang=js&\"\nexport * from \"./FeedbackCharts.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FeedbackCharts.vue?vue&type=style&index=0&id=79244354&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"79244354\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"license\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'license', 'p2p_code' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"license\",\"active\":\"p2p_code\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"P2P License\"},model:{value:(_vm.search.p2pLicense),callback:function ($$v) {_vm.$set(_vm.search, \"p2pLicense\", $$v)},expression:\"search.p2pLicense\"}})],1),_c('el-form-item',[_c('el-select',{staticClass:\"search-input-s\",attrs:{\"clearable\":\"\",\"placeholder\":\"State\"},model:{value:(_vm.search.state),callback:function ($$v) {_vm.$set(_vm.search, \"state\", $$v)},expression:\"search.state\"}},[_c('el-option',{attrs:{\"value\":\"0\"}},[_vm._v(\"0\")]),_c('el-option',{attrs:{\"value\":\"1\"}},[_vm._v(\"1\")])],1)],1),_c('el-form-item',[_c('el-date-picker',{attrs:{\"value-format\":\"timestamp\",\"placeholder\":\"CreateDate\"},model:{value:(_vm.search.createDate),callback:function ($$v) {_vm.$set(_vm.search, \"createDate\", $$v)},expression:\"search.createDate\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),(_vm.$store.getters.hasPower(1281))?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-popover',{attrs:{\"trigger\":\"click\",\"placement\":\"left\"}},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',{attrs:{\"label\":\"p2pFlag\"}},[_c('el-input',{staticClass:\"search-input-s\",model:{value:(_vm.upload.p2pFlag),callback:function ($$v) {_vm.$set(_vm.upload, \"p2pFlag\", $$v)},expression:\"upload.p2pFlag\"}})],1),_c('el-form-item',{attrs:{\"label\":\"area\"}},[_c('el-input',{staticClass:\"search-input-s\",model:{value:(_vm.upload.area),callback:function ($$v) {_vm.$set(_vm.upload, \"area\", $$v)},expression:\"upload.area\"}})],1),_c('el-form-item',[_c('el-upload',{attrs:{\"action\":(\"https://product.meari.com.cn/ppscms/license/p2p/put?p2pFlag=\" + (_vm.upload.p2pFlag) + \"&area=\" + (_vm.upload.area)),\"name\":\"p2pFile\",\"accept\":\"application/vnd.ms-excel\"}},[_c('el-button',{attrs:{\"type\":\"primary\",\"icon\":\"el-icon-upload\"}},[_vm._v(\"Upload\")])],1)],1)],1),_c('el-button',{attrs:{\"slot\":\"reference\",\"icon\":\"el-icon-plus\",\"type\":\"primary\"},slot:\"reference\"})],1)],1)],1):_vm._e(),_c('el-table',{attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('el-form',{staticClass:\"table-expand-from\",attrs:{\"size\":\"mini\",\"inline\":\"\"}},_vm._l((props.row),function(item,index){return _c('el-form-item',{key:index,attrs:{\"label\":index}},[_c('el-input',{attrs:{\"readonly\":\"\",\"value\":item}})],1)}),1)]}}])}),_c('el-table-column',{attrs:{\"align\":\"left\",\"prop\":\"p2pLicense\",\"label\":\"P2P License\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"p2pExpirationTime\",\"label\":\"P2P Expiration Time\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"p2pType\",\"label\":\"P2P Type\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"state\",\"label\":\"State\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceP2P\",\"label\":\"Device P2P\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":\"CreateDate\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./P2PCode.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./P2PCode.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./P2PCode.vue?vue&type=template&id=645fd09e&scoped=true&\"\nimport script from \"./P2PCode.vue?vue&type=script&lang=js&\"\nexport * from \"./P2PCode.vue?vue&type=script&lang=js&\"\nimport style0 from \"./P2PCode.vue?vue&type=style&index=0&id=645fd09e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"645fd09e\",\n null\n \n)\n\nexport default component.exports","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"cloud\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'cloud', 'package' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"cloud\",\"active\":\"package\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":true}},[_c('el-form-item',[_c('el-input',{staticStyle:{\"width\":\"150px\"},attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('packageList.activation')},model:{value:(_vm.activation),callback:function ($$v) {_vm.activation=$$v},expression:\"activation\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\",\"circle\":\"\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',{staticStyle:{\"float\":\"right\",\"margin-right\":\"20px\"}},[(_vm.power_1351)?_c('el-button',{attrs:{\"icon\":\"el-icon-plus\"},on:{\"click\":_vm.addPackage}},[_vm._v(_vm._s(_vm.$t('packageList.addPackage'))+\"\\n \")]):_vm._e()],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list,\"stripe\":\"\"},on:{\"cell-mouse-enter\":function (row){this$1.enter_id=row.activation;}}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"name\",\"label\":_vm.$t('packageList.activation')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"storageTime\",\"label\":_vm.$t('packageList.storageTime')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(scope.row.storageTime+_vm.$t(\"packageList.day\")))])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"mealType\",\"label\":_vm.$t('packageList.mealType')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(_vm.$t(\"packageList.\"+scope.row.mealType)))])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"storageType\",\"label\":_vm.$t('packageList.storageType')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(_vm.$t(\"packageList.\"+scope.row.storageType)))])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"serverTime\",\"label\":_vm.$t('packageList.serverTime')}}),(_vm.$store.getters.hasPower(1351))?_c('el-table-column',{attrs:{\"label\":\"操作\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-dropdown',{attrs:{\"placement\":\"bottom\"}},[_c('span',{staticClass:\"el-dropdown-link\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceDetail.edit'))),_c('i',{staticClass:\"el-icon-arrow-down\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(_vm.$store.getters.hasPower(1331))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.openDrawer(scope.row.name)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('activationList.generateOrder'))+\"\\n \")]):_vm._e()],1)],1)]}}],null,false,597802854)}):_vm._e()],1),_c('el-dialog',{attrs:{\"width\":\"600px\",\"title\":\"Edit Account\",\"visible\":_vm.editDialogVisible},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{ref:\"form\",attrs:{\"label-width\":\"120px\",\"rules\":_vm.rules,\"model\":_vm.editRow}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('packageList.activation'),\"prop\":\"name\"}},[_c('el-input',{staticStyle:{\"width\":\"85%\",\"float\":\"left\"},attrs:{\"disabled\":_vm.updateType!=='add'},model:{value:(_vm.editRow.name),callback:function ($$v) {_vm.$set(_vm.editRow, \"name\", $$v)},expression:\"editRow.name\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('packageList.storageTime'),\"prop\":\"storageTime\"}},[_c('el-select',{staticStyle:{\"width\":\"85%\",\"float\":\"left\"},model:{value:(_vm.editRow.storageTime),callback:function ($$v) {_vm.$set(_vm.editRow, \"storageTime\", $$v)},expression:\"editRow.storageTime\"}},_vm._l((_vm.storageTimeOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('packageList.mealType'),\"prop\":\"mealType\"}},[_c('el-select',{staticStyle:{\"width\":\"85%\",\"float\":\"left\"},model:{value:(_vm.editRow.mealType),callback:function ($$v) {_vm.$set(_vm.editRow, \"mealType\", $$v)},expression:\"editRow.mealType\"}},_vm._l((_vm.mealTypeOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('packageList.storageType'),\"prop\":\"storageType\"}},[_c('el-select',{staticStyle:{\"width\":\"85%\",\"float\":\"left\"},model:{value:(_vm.editRow.storageType),callback:function ($$v) {_vm.$set(_vm.editRow, \"storageType\", $$v)},expression:\"editRow.storageType\"}},_vm._l((_vm.storageTypeOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('packageList.serverTime'),\"prop\":\"serverTime\"}},[_c('el-input',{staticStyle:{\"width\":\"85%\",\"float\":\"left\"},model:{value:(_vm.editRow.serverTime),callback:function ($$v) {_vm.$set(_vm.editRow, \"serverTime\", $$v)},expression:\"editRow.serverTime\"}})],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.buttonLoading},on:{\"click\":function($event){return _vm.saveEdit()}}},[_vm._v(_vm._s(_vm.$t('confirm')))]),_c('el-button',{on:{\"click\":function($event){_vm.editDialogVisible = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('activationList.generateOrder'),\"visible\":_vm.showGenerateOrderDialog,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.showGenerateOrderDialog=$event}}},[_c('el-form',{ref:\"form\",staticStyle:{\"width\":\"80%\"},attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.count'),\"prop\":\"num\"}},[_c('el-input',{model:{value:(_vm.form.num),callback:function ($$v) {_vm.$set(_vm.form, \"num\", $$v)},expression:\"form.num\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.type'),\"prop\":\"mealType\"}},[_c('el-input',{attrs:{\"disabled\":\"\"},model:{value:(_vm.form.mealType),callback:function ($$v) {_vm.$set(_vm.form, \"mealType\", $$v)},expression:\"form.mealType\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.createActivation('form')}}},[_vm._v(_vm._s(_vm.$t('activationList.generate')))]),_c('el-button',{on:{\"click\":function($event){_vm.showGenerateOrderDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Package.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Package.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Package.vue?vue&type=template&id=038d5836&scoped=true&\"\nimport script from \"./Package.vue?vue&type=script&lang=js&\"\nexport * from \"./Package.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Package.vue?vue&type=style&index=0&id=038d5836&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"038d5836\",\n null\n \n)\n\nexport default component.exports","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GrayRelease.vue?vue&type=style&index=0&id=09ed8a58&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"customerService\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'customerService', 'guestComplaint' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"customerService\",\"active\":\"guestComplaint\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"mini\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('feedbackInfo.userFeedbackID')},model:{value:(_vm.search.userFeedbackID),callback:function ($$v) {_vm.$set(_vm.search, \"userFeedbackID\", $$v)},expression:\"search.userFeedbackID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('feedbackInfo.userID')},model:{value:(_vm.search.userID),callback:function ($$v) {_vm.$set(_vm.search, \"userID\", $$v)},expression:\"search.userID\"}})],1),(_vm.power_1541)?_c('el-form-item',[_c('el-select',{on:{\"change\":_vm.updateDealPersonOption},model:{value:(_vm.search.department),callback:function ($$v) {_vm.$set(_vm.search, \"department\", $$v)},expression:\"search.department\"}},_vm._l((_vm.departmentOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.name}})}),1)],1):_vm._e(),(_vm.power_1541)?_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('feedbackInfo.dealPerson')},model:{value:(_vm.search.dealPerson),callback:function ($$v) {_vm.$set(_vm.search, \"dealPerson\", $$v)},expression:\"search.dealPerson\"}})],1):_vm._e(),(_vm.power_1541)?_c('el-form-item',[_c('el-select',{model:{value:(_vm.search.isDealed),callback:function ($$v) {_vm.$set(_vm.search, \"isDealed\", $$v)},expression:\"search.isDealed\"}},_vm._l((_vm.isDealedList),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1):_vm._e(),_c('el-form-item',[_c('el-date-picker',{attrs:{\"value-format\":\"timestamp\",\"placeholder\":this.$t('feedbackInfo.createTime')},model:{value:(_vm.search.createTime),callback:function ($$v) {_vm.$set(_vm.search, \"createTime\", $$v)},expression:\"search.createTime\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1),_c('el-form-item',{staticStyle:{\"float\":\"right\",\"margin-right\":\"20px\"}},[(_vm.power_1541)?_c('el-button',{attrs:{\"icon\":\"el-icon-plus\"},on:{\"click\":function($event){_vm.addProblemTypeDialogVisible = true}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('feedbackInfo.addProblemType'))+\"\\n \")]):_vm._e()],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"size\":\"mini\",\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"userFeedbackID\",\"label\":_vm.$t('feedbackInfo.userFeedbackID')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"userID\",\"label\":_vm.$t('feedbackInfo.userID'),\"width\":\"100\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"contentTranfer\",\"label\":_vm.$t('feedbackInfo.contentTranfer')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-folder\"},on:{\"click\":function($event){return _vm.openContent(scope.row)}}})],1)]}}])}),(this.$store.getters.hasPower(1542))?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"mailForward\",\"label\":_vm.$t('feedbackInfo.mailForward')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-message\"},on:{\"click\":function($event){return _vm.openForward(scope.row)}}})],1)]}}],null,false,1128098177)}):_vm._e(),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"isDealed\",\"label\":_vm.$t('feedbackInfo.isDealed')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.isDealed===0)?_c('span',{staticStyle:{\"color\":\"#e30613\"}},[_vm._v(_vm._s(_vm.$t('feedbackInfo.untreated')))]):_c('span',{staticStyle:{\"color\":\"#2fa666\"}},[_vm._v(_vm._s(_vm.$t('feedbackInfo.treated')))])]}}],null,false,2942058700)}):_vm._e(),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"problemType\",\"label\":_vm.$t('feedbackInfo.problemType'),\"show-overflow-tooltip\":\"\"}}),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"department\",\"label\":_vm.$t('feedbackInfo.department')}}):_vm._e(),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"dealPerson\",\"label\":_vm.$t('feedbackInfo.dealPerson')}}):_vm._e(),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"remark\",\"label\":_vm.$t('feedbackInfo.remark')}}):_vm._e(),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createTime\",\"label\":_vm.$t('feedbackInfo.createTime')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createTime)))]}}])}),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"updateTime\",\"label\":_vm.$t('feedbackInfo.updateTime')}}):_vm._e(),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"action\",\"label\":_vm.$t('feedbackInfo.action')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.showEdit(scope.row)}}})]}}],null,false,262026860)}):_vm._e()],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}),_c('el-dialog',{attrs:{\"title\":this.$t('feedbackInfo.editTitle'),\"width\":\"650px\",\"visible\":_vm.editDialogVisible},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{staticClass:\"edit-input\",attrs:{\"model\":_vm.updateValue,\"label-width\":\"130px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.department')}},[_c('el-select',{on:{\"change\":_vm.updateDealPersonOption},model:{value:(_vm.updateValue.department),callback:function ($$v) {_vm.$set(_vm.updateValue, \"department\", $$v)},expression:\"updateValue.department\"}},_vm._l((_vm.departmentOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.name}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.dealPerson')}},[_c('el-select',{model:{value:(_vm.updateValue.dealPerson),callback:function ($$v) {_vm.$set(_vm.updateValue, \"dealPerson\", $$v)},expression:\"updateValue.dealPerson\"}},_vm._l((_vm.dealPersonOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.name}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.isDealed')}},[_c('el-select',{model:{value:(_vm.updateValue.isDealed),callback:function ($$v) {_vm.$set(_vm.updateValue, \"isDealed\", $$v)},expression:\"updateValue.isDealed\"}},_vm._l((_vm.isDealedList),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.problemType')}},[_c('el-select',{model:{value:(_vm.updateValue.problemType),callback:function ($$v) {_vm.$set(_vm.updateValue, \"problemType\", $$v)},expression:\"updateValue.problemType\"}},_vm._l((_vm.problemTypeOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.problemType,\"value\":item.problemType}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.remark')}},[_c('el-col',{attrs:{\"span\":100}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"resize\":\"vertical\",\"autosize\":{ minRows: 2, maxRows: 6},\"placeholder\":this.$t('feedbackInfo.remark')},model:{value:(_vm.updateValue.remark),callback:function ($$v) {_vm.$set(_vm.updateValue, \"remark\", $$v)},expression:\"updateValue.remark\"}})],1)],1)],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"loading\":_vm.updateLoading,\"type\":\"primary\"},on:{\"click\":_vm.update}},[_vm._v(_vm._s(this.$t('system.functionSetting.confirmButton')))]),_c('el-button',{attrs:{\"loading\":_vm.updateLoading},on:{\"click\":function($event){_vm.editDialogVisible = false}}},[_vm._v(_vm._s(this.$t('system.functionSetting.cancel')))])],1)],1),_c('el-dialog',{attrs:{\"title\":this.$t('feedbackInfo.addProblemType'),\"width\":\"650px\",\"visible\":_vm.addProblemTypeDialogVisible},on:{\"update:visible\":function($event){_vm.addProblemTypeDialogVisible=$event}}},[_c('el-form',{staticClass:\"edit-input\",attrs:{\"model\":_vm.updateProblemTypeValue,\"label-width\":\"130px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.problemType')}},[_c('el-input',{attrs:{\"placeholder\":this.$t('feedbackInfo.problemType')},model:{value:(_vm.updateProblemTypeValue.problemType),callback:function ($$v) {_vm.$set(_vm.updateProblemTypeValue, \"problemType\", $$v)},expression:\"updateProblemTypeValue.problemType\"}})],1)],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"loading\":_vm.updateProblemTypeLoading,\"type\":\"primary\"},on:{\"click\":_vm.updateProblemType}},[_vm._v(_vm._s(this.$t('system.functionSetting.confirmButton')))]),_c('el-button',{attrs:{\"loading\":_vm.updateProblemTypeLoading},on:{\"click\":function($event){_vm.addProblemTypeDialogVisible = false}}},[_vm._v(_vm._s(this.$t('system.functionSetting.cancel')))])],1)],1),_c('el-dialog',{attrs:{\"width\":\"640px\",\"visible\":_vm.contentDialogVisible,\"top\":\"5vh\"},on:{\"update:visible\":function($event){_vm.contentDialogVisible=$event}}},[_c('FeedbackContent',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.contentDialogLoading),expression:\"contentDialogLoading\"}],attrs:{\"props\":_vm.contentProps}})],1),_c('el-dialog',{attrs:{\"width\":\"500px\",\"visible\":_vm.forwardDialogVisible},on:{\"update:visible\":function($event){_vm.forwardDialogVisible=$event}}},[_c('el-form',{attrs:{\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"Firms\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},model:{value:(_vm.forwardRow.name),callback:function ($$v) {_vm.$set(_vm.forwardRow, \"name\", $$v)},expression:\"forwardRow.name\"}},_vm._l((_vm.firmEmailGroup),function(item){return _c('el-option',{key:item.name,attrs:{\"label\":item.name,\"value\":item.name}})}),1)],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.shareDialog = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.forward_req()}}},[_vm._v(\"Confirm\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GuestComplaint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GuestComplaint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GuestComplaint.vue?vue&type=template&id=ba91f120&scoped=true&\"\nimport script from \"./GuestComplaint.vue?vue&type=script&lang=js&\"\nexport * from \"./GuestComplaint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GuestComplaint.vue?vue&type=style&index=0&id=ba91f120&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ba91f120\",\n null\n \n)\n\nexport default component.exports","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"monitor\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'monitor', 'business_server' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"monitor\",\"active\":\"business_server\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_vm._v(\"\\n todo\\n \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./BusinessServer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./BusinessServer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BusinessServer.vue?vue&type=template&id=4e86b4ae&scoped=true&\"\nimport script from \"./BusinessServer.vue?vue&type=script&lang=js&\"\nexport * from \"./BusinessServer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4e86b4ae\",\n null\n \n)\n\nexport default component.exports","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'icon' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"icon\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[(_vm.$store.getters.hasPower(1442))?_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\"},on:{\"click\":function($event){return _vm.add()}}})],1)],1):_vm._e(),_c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"mini\",\"stripe\":\"\"},on:{\"cell-mouse-enter\":function (row){this$1.enterId=row.iconId;}}},[_c('el-table-column',{attrs:{\"prop\":\"iconId\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"prop\":\"deviceTypeName\",\"label\":\"DeviceTypeName\"}}),_c('el-table-column',{attrs:{\"label\":\"iconUrl\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('a',{attrs:{\"href\":scope.row.iconUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(scope.row.iconUrl))]),_c('br'),_c('a',{attrs:{\"href\":scope.row.iconGrayUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(scope.row.iconGrayUrl))])]}}])}),_c('el-table-column',{attrs:{\"label\":\"updateTime\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.updateTime)))]}}])}),_c('el-table-column',{attrs:{\"prop\":\"operator\",\"label\":\"operator\"}}),(_vm.$store.getters.hasAnyPowers([1441,1443]))?_c('el-table-column',{attrs:{\"align\":\"left\",\"width\":\"80px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(_vm.enterId===scope.row.iconId)?_c('el-button-group',[(_vm.$store.getters.hasPower(1441))?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.edit(scope.row)}}}):_vm._e()],1):_vm._e()]}}],null,false,2131279202)}):_vm._e()],1)],1),_c('el-dialog',{attrs:{\"title\":\"Add Icon\",\"visible\":_vm.addDialogVisible,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.addDialogVisible=$event}}},[_c('el-form',{ref:\"add_form\",attrs:{\"model\":_vm.addData,\"rules\":_vm.add_rules,\"label-width\":\"200px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"DeviceTypeName\",\"prop\":\"deviceTypeName\"}},[_c('el-input',{model:{value:(_vm.addData.deviceTypeName),callback:function ($$v) {_vm.$set(_vm.addData, \"deviceTypeName\", $$v)},expression:\"addData.deviceTypeName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"icon\",\"prop\":\"icon\"}},[_c('el-input',{attrs:{\"type\":\"file\",\"id\":\"addData_icon\",\"accept\":\"image/png\"},model:{value:(_vm.addData.icon),callback:function ($$v) {_vm.$set(_vm.addData, \"icon\", $$v)},expression:\"addData.icon\"}})],1),_c('el-form-item',{attrs:{\"label\":\"iconGray\",\"prop\":\"iconGray\"}},[_c('el-input',{attrs:{\"type\":\"file\",\"id\":\"addData_iconGray\",\"accept\":\"image/png\"},model:{value:(_vm.addData.iconGray),callback:function ($$v) {_vm.$set(_vm.addData, \"iconGray\", $$v)},expression:\"addData.iconGray\"}})],1)],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.addDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveAdd()}}},[_vm._v(\"Confirm\")])],1)],1),_c('el-dialog',{attrs:{\"title\":\"Edit Icon\",\"visible\":_vm.editDialogVisible,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.formLoading),expression:\"formLoading\"}],ref:\"edit_form\",attrs:{\"model\":_vm.editData,\"label-width\":\"200px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"DeviceTypeName\",\"prop\":\"deviceTypeName\"}},[_c('el-input',{attrs:{\"readonly\":\"\"},model:{value:(_vm.editData.deviceTypeName),callback:function ($$v) {_vm.$set(_vm.editData, \"deviceTypeName\", $$v)},expression:\"editData.deviceTypeName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"icon\",\"prop\":\"icon\"}},[_c('el-input',{attrs:{\"type\":\"file\",\"id\":\"editData_icon\",\"accept\":\"image/png\"},model:{value:(_vm.editData.icon),callback:function ($$v) {_vm.$set(_vm.editData, \"icon\", $$v)},expression:\"editData.icon\"}})],1),_c('el-form-item',{attrs:{\"label\":\"iconGray\",\"prop\":\"iconGray\"}},[_c('el-input',{attrs:{\"type\":\"file\",\"id\":\"editData_iconGray\",\"accept\":\"image/png\"},model:{value:(_vm.editData.iconGray),callback:function ($$v) {_vm.$set(_vm.editData, \"iconGray\", $$v)},expression:\"editData.iconGray\"}})],1)],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.editDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveEdit()}}},[_vm._v(\"Confirm\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Icon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Icon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Icon.vue?vue&type=template&id=24921873&scoped=true&\"\nimport script from \"./Icon.vue?vue&type=script&lang=js&\"\nexport * from \"./Icon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"24921873\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GuestList.vue?vue&type=style&index=0&id=0ca59542&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Awox.vue?vue&type=style&index=0&id=44cbcc72&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Dubbo.vue?vue&type=style&index=0&id=42835d80&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Packing.vue?vue&type=style&index=0&id=5f4336d2&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'upload' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"upload\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"Name\"},model:{value:(_vm.search.fileName),callback:function ($$v) {_vm.$set(_vm.search, \"fileName\", $$v)},expression:\"search.fileName\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),(_vm.$store.getters.hasPower(1411))?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-upload',{attrs:{\"multiple\":\"\",\"action\":\"111\",\"file-list\":_vm.add_files,\"http-request\":_vm.uploadSectionFile}},[_c('el-button',{attrs:{\"type\":\"primary\"}},[_vm._v(\"Add\")])],1)],1)],1):_vm._e(),_c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"mini\"}},[_c('el-table-column',{attrs:{\"prop\":\"fileName\",\"label\":\"Name\"}}),_c('el-table-column',{attrs:{\"prop\":\"fileUrl\",\"label\":\"URL\"}}),_c('el-table-column',{attrs:{\"prop\":\"createDate\",\"label\":\"CreateDate\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])}),_c('el-table-column',{attrs:{\"prop\":\"by\",\"label\":\"BY\"}}),_c('el-table-column',{attrs:{\"align\":\"left\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('a',{staticClass:\"el-button el-button--mini\",attrs:{\"target\":\"_blank\",\"href\":scope.row.fileUrl}},[_c('i',{staticClass:\"el-icon-download\"})]),(_vm.$store.getters.hasPower(1412) || _vm.$store.getters.user_info.id===scope.row.by)?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.dele(scope.row)}}}):_vm._e()],1)]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Upload.vue?vue&type=template&id=26c17776&scoped=true&\"\nimport script from \"./Upload.vue?vue&type=script&lang=js&\"\nexport * from \"./Upload.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26c17776\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"cloud\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'cloud', 'order' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"cloud\",\"active\":\"order\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"OrderNum\"},model:{value:(_vm.search.orderNum),callback:function ($$v) {_vm.$set(_vm.search, \"orderNum\", $$v)},expression:\"search.orderNum\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"DeviceID\"},model:{value:(_vm.search.deviceID),callback:function ($$v) {_vm.$set(_vm.search, \"deviceID\", $$v)},expression:\"search.deviceID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"UserID\"},model:{value:(_vm.search.userID),callback:function ($$v) {_vm.$set(_vm.search, \"userID\", $$v)},expression:\"search.userID\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),(this.power_1314)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.transferDrawer = true}}},[_vm._v(_vm._s(_vm.$t('activationList.crossAccountTransfer'))+\"\\n \")])],1)],1):_vm._e(),(this.power_1311)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.open_cloud_replace}},[_vm._v(_vm._s(_vm.$t('activationList.cloudReplace')))])],1)],1):_vm._e(),(this.power_1312)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.open_code_open}},[_vm._v(_vm._s(_vm.$t('activationList.activationCodeOpen')))])],1)],1):_vm._e(),(this.power_1313)?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.exportDrawer = true}}},[_vm._v(_vm._s(_vm.$t('activationList.exportOrders')))])],1)],1):_vm._e(),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('el-form',{staticClass:\"table-expand-from\",attrs:{\"size\":\"mini\",\"inline\":\"\"}},_vm._l((_vm.detailList),function(item,index){return _c('el-form-item',{key:index,attrs:{\"label\":_vm.$t(item)}},[_c('span',[_vm._v(_vm._s(props.row[item]))])])}),1)]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"orderNum\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceID\",\"label\":\"DEVICE\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"orderStatus\",\"label\":\"STATUS\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":\"CREATE DATE\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"payDate\",\"label\":\"PAY DATE\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.payDate)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"userID\",\"label\":\"USER\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"dealSign\",\"label\":\"DEAL SIGN\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"payType\",\"label\":\"PAY TYPE\"}})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}),_c('el-dialog',{attrs:{\"width\":\"500px\",\"visible\":_vm.cloudReplaceDialog},on:{\"update:visible\":function($event){_vm.cloudReplaceDialog=$event}}},[_c('el-form',{ref:\"cloudReplaceData\",attrs:{\"model\":_vm.cloudReplaceData,\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.oldSn'),\"prop\":\"snOld\"}},[_c('el-input',{model:{value:(_vm.cloudReplaceData.snOld),callback:function ($$v) {_vm.$set(_vm.cloudReplaceData, \"snOld\", $$v)},expression:\"cloudReplaceData.snOld\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.newSn'),\"prop\":\"snNew\"}},[_c('el-input',{model:{value:(_vm.cloudReplaceData.snNew),callback:function ($$v) {_vm.$set(_vm.cloudReplaceData, \"snNew\", $$v)},expression:\"cloudReplaceData.snNew\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.cloud_replace_req}},[_vm._v(_vm._s(_vm.$t('devicePublish.create')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('cloudReplaceData')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1),_c('el-dialog',{attrs:{\"width\":\"500px\",\"visible\":_vm.codeOpenDialog},on:{\"update:visible\":function($event){_vm.codeOpenDialog=$event}}},[_c('el-form',{ref:\"codeOpenData\",attrs:{\"model\":_vm.codeOpenData,\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.sn'),\"prop\":\"sn\"}},[_c('el-input',{model:{value:(_vm.codeOpenData.sn),callback:function ($$v) {_vm.$set(_vm.codeOpenData, \"sn\", $$v)},expression:\"codeOpenData.sn\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.code'),\"prop\":\"code\"}},[_c('el-input',{model:{value:(_vm.codeOpenData.code),callback:function ($$v) {_vm.$set(_vm.codeOpenData, \"code\", $$v)},expression:\"codeOpenData.code\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.code_open_req}},[_vm._v(_vm._s(_vm.$t('devicePublish.create')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('codeOpenData')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1),_c('el-drawer',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"title\":_vm.$t('activationList.exportOrders'),\"visible\":_vm.exportDrawer},on:{\"update:visible\":function($event){_vm.exportDrawer=$event}}},[_c('el-form',{ref:\"exportForm\",attrs:{\"model\":_vm.exportForm,\"rules\":_vm.rules,\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.year'),\"prop\":\"year\"}},[_c('el-date-picker',{attrs:{\"type\":\"year\",\"placeholder\":_vm.$t('activationList.year')},model:{value:(_vm.exportForm.year),callback:function ($$v) {_vm.$set(_vm.exportForm, \"year\", $$v)},expression:\"exportForm.year\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.oemId'),\"prop\":\"oemId\"}},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('activationList.oemId'),\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.exportForm.oemId),callback:function ($$v) {_vm.$set(_vm.exportForm, \"oemId\", $$v)},expression:\"exportForm.oemId\"}},_vm._l((_vm.oemIds),function(item){return _c('el-option',{key:item.oemId,attrs:{\"label\":item.oemName+'('+item.oemId+')'+'('+item.sourceApp+')',\"value\":item.oemId}})}),1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.exportOrder('exportForm')}}},[_vm._v(_vm._s(_vm.$t('activationList.export')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('exportForm')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1),_c('el-drawer',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"title\":_vm.$t('activationList.crossAccountTransfer'),\"visible\":_vm.transferDrawer},on:{\"update:visible\":function($event){_vm.transferDrawer=$event}}},[_c('el-form',{ref:\"transferForm\",attrs:{\"model\":_vm.transferForm,\"rules\":_vm.rules,\"label-width\":\"140px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.sn'),\"prop\":\"sn\"}},[_c('el-input',{model:{value:(_vm.transferForm.sn),callback:function ($$v) {_vm.$set(_vm.transferForm, \"sn\", $$v)},expression:\"transferForm.sn\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.oldAccount'),\"prop\":\"oldAccount\"}},[_c('el-input',{model:{value:(_vm.transferForm.oldAccount),callback:function ($$v) {_vm.$set(_vm.transferForm, \"oldAccount\", $$v)},expression:\"transferForm.oldAccount\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.newAccount'),\"prop\":\"newAccount\"}},[_c('el-input',{model:{value:(_vm.transferForm.newAccount),callback:function ($$v) {_vm.$set(_vm.transferForm, \"newAccount\", $$v)},expression:\"transferForm.newAccount\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.oldSourceApp'),\"prop\":\"oldSourceApp\"}},[_c('el-input',{model:{value:(_vm.transferForm.oldSourceApp),callback:function ($$v) {_vm.$set(_vm.transferForm, \"oldSourceApp\", $$v)},expression:\"transferForm.oldSourceApp\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('activationList.newSourceApp'),\"prop\":\"newSourceApp\"}},[_c('el-input',{model:{value:(_vm.transferForm.newSourceApp),callback:function ($$v) {_vm.$set(_vm.transferForm, \"newSourceApp\", $$v)},expression:\"transferForm.newSourceApp\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.transfer('transferForm')}}},[_vm._v(_vm._s(_vm.$t('activationList.transfer'))+\"\\n \")]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('transferForm')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Order.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Order.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Order.vue?vue&type=template&id=494ce246&scoped=true&\"\nimport script from \"./Order.vue?vue&type=script&lang=js&\"\nexport * from \"./Order.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Order.vue?vue&type=style&index=0&id=494ce246&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"494ce246\",\n null\n \n)\n\nexport default component.exports","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./FeedbackList.vue?vue&type=style&index=0&id=6f74e4ad&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"license\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'license', '3rd_license_conflict_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"license\",\"active\":\"3rd_license_conflict_list\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"LicenseID\"},model:{value:(_vm.search.licenseID),callback:function ($$v) {_vm.$set(_vm.search, \"licenseID\", $$v)},expression:\"search.licenseID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"ServerMac\"},model:{value:(_vm.search.serverMac),callback:function ($$v) {_vm.$set(_vm.search, \"serverMac\", $$v)},expression:\"search.serverMac\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"DeviceMac\"},model:{value:(_vm.search.deviceMac),callback:function ($$v) {_vm.$set(_vm.search, \"deviceMac\", $$v)},expression:\"search.deviceMac\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"snNum\",\"label\":\"LicenseID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"serverMac\",\"label\":\"ServerMac\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceMac\",\"label\":\"DeviceMac\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":\"CreateDate\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ThirdLicenseConflictList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ThirdLicenseConflictList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThirdLicenseConflictList.vue?vue&type=template&id=991e76fe&scoped=true&\"\nimport script from \"./ThirdLicenseConflictList.vue?vue&type=script&lang=js&\"\nexport * from \"./ThirdLicenseConflictList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"991e76fe\",\n null\n \n)\n\nexport default component.exports","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'feedback_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"feedback_list\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"mini\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('feedbackInfo.userFeedbackID')},model:{value:(_vm.search.userFeedbackID),callback:function ($$v) {_vm.$set(_vm.search, \"userFeedbackID\", $$v)},expression:\"search.userFeedbackID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('feedbackInfo.userID')},model:{value:(_vm.search.userID),callback:function ($$v) {_vm.$set(_vm.search, \"userID\", $$v)},expression:\"search.userID\"}})],1),(_vm.power_1541)?_c('el-form-item',[_c('el-select',{on:{\"change\":_vm.updateDealPersonOption},model:{value:(_vm.search.department),callback:function ($$v) {_vm.$set(_vm.search, \"department\", $$v)},expression:\"search.department\"}},_vm._l((_vm.departmentOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.name}})}),1)],1):_vm._e(),(_vm.power_1541)?_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('feedbackInfo.dealPerson')},model:{value:(_vm.search.dealPerson),callback:function ($$v) {_vm.$set(_vm.search, \"dealPerson\", $$v)},expression:\"search.dealPerson\"}})],1):_vm._e(),(_vm.power_1541)?_c('el-form-item',[_c('el-select',{model:{value:(_vm.search.isDealed),callback:function ($$v) {_vm.$set(_vm.search, \"isDealed\", $$v)},expression:\"search.isDealed\"}},_vm._l((_vm.isDealedList),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1):_vm._e(),_c('el-form-item',[_c('el-date-picker',{attrs:{\"value-format\":\"timestamp\",\"placeholder\":this.$t('feedbackInfo.createTime')},model:{value:(_vm.search.createTime),callback:function ($$v) {_vm.$set(_vm.search, \"createTime\", $$v)},expression:\"search.createTime\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1),_c('el-form-item',{staticStyle:{\"float\":\"right\",\"margin-right\":\"20px\"}},[(_vm.power_1541)?_c('el-button',{attrs:{\"icon\":\"el-icon-plus\"},on:{\"click\":function($event){_vm.addProblemTypeDialogVisible = true}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('feedbackInfo.addProblemType'))+\"\\n \")]):_vm._e()],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"size\":\"mini\",\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"userFeedbackID\",\"label\":_vm.$t('feedbackInfo.userFeedbackID')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"userID\",\"label\":_vm.$t('feedbackInfo.userID')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"contentTranfer\",\"label\":_vm.$t('feedbackInfo.contentTranfer')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-document\"},on:{\"click\":function($event){return _vm.openContent(scope.row)}}})],1)]}}])}),(this.$store.getters.hasPower(1542))?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"mailForward\",\"label\":_vm.$t('feedbackInfo.mailForward')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-message\"},on:{\"click\":function($event){return _vm.openForward(scope.row)}}})],1)]}}],null,false,1128098177)}):_vm._e(),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"isDealed\",\"label\":_vm.$t('feedbackInfo.isDealed')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.isDealed===0)?_c('span',{staticStyle:{\"color\":\"#e30613\"}},[_vm._v(_vm._s(_vm.$t('feedbackInfo.untreated')))]):_c('span',{staticStyle:{\"color\":\"#2fa666\"}},[_vm._v(_vm._s(_vm.$t('feedbackInfo.treated')))])]}}],null,false,2942058700)}):_vm._e(),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"problemType\",\"label\":_vm.$t('feedbackInfo.problemType'),\"show-overflow-tooltip\":\"\"}}),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"department\",\"label\":_vm.$t('feedbackInfo.department')}}):_vm._e(),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"dealPerson\",\"label\":_vm.$t('feedbackInfo.dealPerson')}}):_vm._e(),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"remark\",\"label\":_vm.$t('feedbackInfo.remark')}}):_vm._e(),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createTime\",\"label\":_vm.$t('feedbackInfo.createTime')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createTime)))]}}])}),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"updateTime\",\"label\":_vm.$t('feedbackInfo.updateTime')}}):_vm._e(),(_vm.power_1541)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"action\",\"label\":_vm.$t('feedbackInfo.action')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.showEdit(scope.row)}}})]}}],null,false,262026860)}):_vm._e()],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}),_c('el-dialog',{attrs:{\"title\":this.$t('feedbackInfo.editTitle'),\"width\":\"650px\",\"visible\":_vm.editDialogVisible},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{staticClass:\"edit-input\",attrs:{\"model\":_vm.updateValue,\"label-width\":\"130px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.department')}},[_c('el-select',{on:{\"change\":_vm.updateDealPersonOption},model:{value:(_vm.updateValue.department),callback:function ($$v) {_vm.$set(_vm.updateValue, \"department\", $$v)},expression:\"updateValue.department\"}},_vm._l((_vm.departmentOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.name}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.dealPerson')}},[_c('el-select',{model:{value:(_vm.updateValue.dealPerson),callback:function ($$v) {_vm.$set(_vm.updateValue, \"dealPerson\", $$v)},expression:\"updateValue.dealPerson\"}},_vm._l((_vm.dealPersonOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.name}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.isDealed')}},[_c('el-select',{model:{value:(_vm.updateValue.isDealed),callback:function ($$v) {_vm.$set(_vm.updateValue, \"isDealed\", $$v)},expression:\"updateValue.isDealed\"}},_vm._l((_vm.isDealedList),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.problemType')}},[_c('el-select',{model:{value:(_vm.updateValue.problemType),callback:function ($$v) {_vm.$set(_vm.updateValue, \"problemType\", $$v)},expression:\"updateValue.problemType\"}},_vm._l((_vm.problemTypeOptions),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.problemType,\"value\":item.problemType}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.remark')}},[_c('el-col',{attrs:{\"span\":100}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"resize\":\"vertical\",\"autosize\":{ minRows: 2, maxRows: 6},\"placeholder\":this.$t('feedbackInfo.remark')},model:{value:(_vm.updateValue.remark),callback:function ($$v) {_vm.$set(_vm.updateValue, \"remark\", $$v)},expression:\"updateValue.remark\"}})],1)],1)],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"loading\":_vm.updateLoading,\"type\":\"primary\"},on:{\"click\":_vm.update}},[_vm._v(_vm._s(this.$t('system.functionSetting.confirmButton')))]),_c('el-button',{attrs:{\"loading\":_vm.updateLoading},on:{\"click\":function($event){_vm.editDialogVisible = false}}},[_vm._v(_vm._s(this.$t('system.functionSetting.cancel')))])],1)],1),_c('el-dialog',{attrs:{\"title\":this.$t('feedbackInfo.addProblemType'),\"width\":\"650px\",\"visible\":_vm.addProblemTypeDialogVisible},on:{\"update:visible\":function($event){_vm.addProblemTypeDialogVisible=$event}}},[_c('el-form',{staticClass:\"edit-input\",attrs:{\"model\":_vm.updateProblemTypeValue,\"label-width\":\"130px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('feedbackInfo.problemType')}},[_c('el-input',{attrs:{\"placeholder\":this.$t('feedbackInfo.problemType')},model:{value:(_vm.updateProblemTypeValue.problemType),callback:function ($$v) {_vm.$set(_vm.updateProblemTypeValue, \"problemType\", $$v)},expression:\"updateProblemTypeValue.problemType\"}})],1)],1),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"loading\":_vm.updateProblemTypeLoading,\"type\":\"primary\"},on:{\"click\":_vm.updateProblemType}},[_vm._v(_vm._s(this.$t('system.functionSetting.confirmButton')))]),_c('el-button',{attrs:{\"loading\":_vm.updateProblemTypeLoading},on:{\"click\":function($event){_vm.addProblemTypeDialogVisible = false}}},[_vm._v(_vm._s(this.$t('system.functionSetting.cancel')))])],1)],1),_c('el-dialog',{attrs:{\"width\":\"640px\",\"visible\":_vm.contentDialogVisible,\"top\":\"5vh\"},on:{\"update:visible\":function($event){_vm.contentDialogVisible=$event}}},[_c('FeedbackContent',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.contentDialogLoading),expression:\"contentDialogLoading\"}],attrs:{\"props\":_vm.contentProps}})],1),_c('el-dialog',{attrs:{\"width\":\"500px\",\"visible\":_vm.forwardDialogVisible},on:{\"update:visible\":function($event){_vm.forwardDialogVisible=$event}}},[_c('el-form',{attrs:{\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"Firms\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},model:{value:(_vm.forwardRow.name),callback:function ($$v) {_vm.$set(_vm.forwardRow, \"name\", $$v)},expression:\"forwardRow.name\"}},_vm._l((_vm.firmEmailGroup),function(item){return _c('el-option',{key:item.name,attrs:{\"label\":item.name,\"value\":item.name}})}),1)],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.shareDialog = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.forward_req()}}},[_vm._v(\"Confirm\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./FeedbackList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./FeedbackList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FeedbackList.vue?vue&type=template&id=6f74e4ad&scoped=true&\"\nimport script from \"./FeedbackList.vue?vue&type=script&lang=js&\"\nexport * from \"./FeedbackList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FeedbackList.vue?vue&type=style&index=0&id=6f74e4ad&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6f74e4ad\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"mini\",\"stripe\":\"\",\"default-expand-all\":_vm.expand}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('el-row',_vm._l((_vm.col_sort(props.row)),function(c){return (_vm.columns.map(function (key){ return key.toString(); }).indexOf(c)===-1)?_c('el-col',{key:c,attrs:{\"span\":_vm.expand_span}},[_c('pre',{staticStyle:{\"text-align\":\"left\",\"white-space\":\"pre-wrap\",\"word-wrap\":\"break-word\",\"margin-bottom\":\"5px\"}},[_vm._v(_vm._s(c)+\": \"+_vm._s(JSON.stringify(props.row[c],null,2).replace(/, /g,',\\n')))])]):_vm._e()}),1)]}}])}),_vm._l((_vm.columns),function(c){return _c('el-table-column',{key:c.toString(),attrs:{\"label\":c.toString(),\"width\":c.width,\"show-overflow-tooltip\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(typeof c !=='object')?_c('span',[_vm._v(_vm._s(scope.row[c]))]):(c.onClick)?_c('a',{attrs:{\"href\":\"javascript:void(0)\"},on:{\"click\":function($event){c.onClick(c.v(scope.row))}}},[_vm._v(_vm._s(c.v(scope.row)))]):(c.hasDetail&&c.hasDetail(scope.row))?_c('a',{attrs:{\"href\":\"javascript:void(0)\"},on:{\"click\":function($event){return c.showDetail(scope.row)}}},[_vm._v(_vm._s(c.v(scope.row)))]):_c('span',[_vm._v(_vm._s(c.v(scope.row)))])]}}],null,true)})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ServerLogTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ServerLogTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServerLogTable.vue?vue&type=template&id=18047310&scoped=true&\"\nimport script from \"./ServerLogTable.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerLogTable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServerLogTable.vue?vue&type=style&index=0&id=18047310&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18047310\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'dynamic_picture' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"dynamic_picture\"}}),_c('el-main',[_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('div',{staticClass:\"button-box\"},[_c('el-button',{attrs:{\"size\":\"small\",\"icon\":\"el-icon-arrow-left\"},on:{\"click\":function($event){return _vm.$router.history.go(-1)}}}),(_vm.$store.getters.hasPower(1497))?_c('el-button',{staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"type\":\"primary\",\"loading\":_vm.savedLoading},on:{\"click\":function($event){return _vm.submit()}}},[_vm._v(_vm._s(_vm.$t('submit'))+\"\\n \")]):_vm._e()],1),_c('el-form',{ref:\"form\",staticClass:\"form-style\",attrs:{\"model\":_vm.form,\"label-width\":\"200px\",\"label-position\":\"left\"}},_vm._l((_vm.form),function(value,key){return _c('el-form-item',{key:key,attrs:{\"label\":_vm.$t('productList.'+key),\"prop\":key}},[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('el-upload',{attrs:{\"action\":\"\",\"accept\":\".jpg,.png,.gif\",\"on-change\":function (file){ return _vm.uploadFile(file,key); },\"auto-upload\":false,\"show-file-list\":false}},[_c('el-button',{attrs:{\"type\":\"mini\",\"icon\":\"el-icon-upload2\"}},[_vm._v(_vm._s(_vm.$t('uploadImage')))])],1),(value)?_c('div',{staticClass:\"link-tip\",on:{\"click\":function($event){return _vm.getUrl(value)}}},[_vm._v(_vm._s(_vm.$t('imageLink')))]):_vm._e()],1)])}),1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PictureDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PictureDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PictureDetail.vue?vue&type=template&id=24a31fd4&scoped=true&\"\nimport script from \"./PictureDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./PictureDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PictureDetail.vue?vue&type=style&index=0&id=24a31fd4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"24a31fd4\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppPublish.vue?vue&type=style&index=0&id=290ea09d&scoped=true&lang=css&\"","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"test\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'test', 'test_app' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"test\",\"active\":\"test_app\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-card',{staticStyle:{\"height\":\"95%\"}},[_c('el-row',[_c('el-col',[_c('div',{staticStyle:{\"float\":\"left\",\"font-size\":\"30px\",\"margin-bottom\":\"20px\"}},[_vm._v(\"APP测试\")])])],1),_c('el-row',[_c('el-col',[_c('el-button',{staticStyle:{\"float\":\"left\",\"margin-bottom\":\"20px\"},attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.test('HZ')}}},[_vm._v(\"杭州\")]),_c('el-button',{staticStyle:{\"float\":\"left\",\"margin-bottom\":\"20px\"},attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.test('EU')}}},[_vm._v(\"欧洲\")]),_c('el-button',{staticStyle:{\"float\":\"left\",\"margin-bottom\":\"20px\"},attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.test('US')}}},[_vm._v(\"美国\")]),_c('el-button',{staticStyle:{\"float\":\"left\",\"margin-bottom\":\"20px\"},attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.test('ALL')}}},[_vm._v(\"全球\")])],1)],1),_c('el-row',[_c('el-col',[_c('div',{staticStyle:{\"float\":\"left\"}},[_vm._v(\"测试时,如果要多次测试,请确保收到了之前测试的结果邮件后再点击按钮\")])])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./TestApp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./TestApp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TestApp.vue?vue&type=template&id=74295bed&scoped=true&\"\nimport script from \"./TestApp.vue?vue&type=script&lang=js&\"\nexport * from \"./TestApp.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74295bed\",\n null\n \n)\n\nexport default component.exports","/* cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W100 */\nvar cptable = {version:\"1.14.0\"};\ncptable[437] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[620] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖÜ¢Ł¥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[737] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[850] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[852] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[857] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[861] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[865] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[866] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[874] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[895] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ČüéďäĎŤčěĚĹÍľǪÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[932] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚��������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"���������������������������������������������������������������� 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×�÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨¬⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������ʼn♯♭♪†‡¶����◯���\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�������������������������������������������������������������������������������0123456789�������ABCDEFGHIJKLMNOPQRSTUVWXYZ�������abcdefghijklmnopqrstuvwxyz����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[135] = \"����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[224] = \"����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[237] = \"����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"���\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[250] = \"����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[936] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nD[254] = \"����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[254].length; ++j) if(D[254][j].charCodeAt(0) !== 0xFFFD) { e[D[254][j]] = 65024 + j; d[65024 + j] = D[254][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[949] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[₩]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆЪĦ�IJ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[950] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"���������������������������������������������������������������� ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢﹣﹤﹥﹦~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"����������������������������������������������������������������\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳0123456789ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv�\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"����������������������������������������������������������������wxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[201] = \"����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[1250] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1251] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1252] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1253] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1254] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1255] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1256] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1257] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1258] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10000] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10006] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10007] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10008] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€���������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"����������������������������������������������������������������������������������������������������������������������������������������������������������������� 、。・ˉˇ¨〃々―~�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[176] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[10029] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10079] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10081] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\n// eslint-disable-next-line no-undef\nif (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = cptable;\n/* cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ft=javascript: */\n/*jshint newcap: false */\n(function(root, factory) {\n /*jshint ignore:start */\n /*eslint-disable */\n \"use strict\";\n if(typeof cptable === \"undefined\") {\n if(typeof require !== \"undefined\"){\n var cpt = cptable;\n if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = factory(cpt);\n else root.cptable = factory(cpt);\n } else throw new Error(\"cptable not found\");\n } else cptable = factory(cptable);\n /*eslint-enable */\n /*jshint ignore:end */\n}(this, function(cpt){\n \"use strict\";\n /*global module, Buffer */\n var magic = {\n \"1200\":\"utf16le\",\n \"1201\":\"utf16be\",\n \"12000\":\"utf32le\",\n \"12001\":\"utf32be\",\n \"16969\":\"utf64le\",\n \"20127\":\"ascii\",\n \"65000\":\"utf7\",\n \"65001\":\"utf8\"\n };\n\n var sbcs_cache = [874,1250,1251,1252,1253,1254,1255,1256,10000];\n var dbcs_cache = [932,936,949,950];\n var magic_cache = [65001];\n var magic_decode = {};\n var magic_encode = {};\n var cpdcache = {};\n var cpecache = {};\n\n var sfcc = function sfcc(x) { return String.fromCharCode(x); };\n var cca = function cca(x) { return x.charCodeAt(0); };\n\n var has_buf = (typeof Buffer !== 'undefined');\n var Buffer_from = function(){};\n if(has_buf) {\n var nbfs = !Buffer.from;\n if(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n Buffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n // $FlowIgnore\n if(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };\n\n var mdl = 1024, mdb = Buffer.allocUnsafe(mdl);\n var make_EE = function make_EE(E){\n var EE = Buffer.allocUnsafe(65536);\n for(var i = 0; i < 65536;++i) EE[i] = 0;\n var keys = Object.keys(E), len = keys.length;\n for(var ee = 0, e = keys[ee]; ee < len; ++ee) {\n if(!(e = keys[ee])) continue;\n EE[e.charCodeAt(0)] = E[e];\n }\n return EE;\n };\n var sbcs_encode = function make_sbcs_encode(cp) {\n var EE = make_EE(cpt[cp].enc);\n return function sbcs_e(data, ofmt) {\n var len = data.length;\n var out, i=0, j=0, D=0, w=0;\n if(typeof data === 'string') {\n out = Buffer.allocUnsafe(len);\n for(i = 0; i < len; ++i) out[i] = EE[data.charCodeAt(i)];\n } else if(Buffer.isBuffer(data)) {\n out = Buffer.allocUnsafe(2*len);\n j = 0;\n for(i = 0; i < len; ++i) {\n D = data[i];\n if(D < 128) out[j++] = EE[D];\n else if(D < 224) { out[j++] = EE[((D&31)<<6)+(data[i+1]&63)]; ++i; }\n else if(D < 240) { out[j++] = EE[((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63)]; i+=2; }\n else {\n w = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3;\n if(w < 65536) out[j++] = EE[w];\n else { w -= 65536; out[j++] = EE[0xD800 + ((w>>10)&1023)]; out[j++] = EE[0xDC00 + (w&1023)]; }\n }\n }\n out = out.slice(0,j);\n } else {\n out = Buffer.allocUnsafe(len);\n for(i = 0; i < len; ++i) out[i] = EE[data[i].charCodeAt(0)];\n }\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n };\n var sbcs_decode = function make_sbcs_decode(cp) {\n var D = cpt[cp].dec;\n var DD = Buffer.allocUnsafe(131072), d=0, c=\"\";\n for(d=0;d>8;\n }\n return function sbcs_d(data) {\n var len = data.length, i=0, j=0;\n if(2 * len > mdl) { mdl = 2 * len; mdb = Buffer.allocUnsafe(mdl); }\n if(Buffer.isBuffer(data)) {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n } else if(typeof data === \"string\") {\n for(i = 0; i < len; i++) {\n j = 2*data.charCodeAt(i);\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n } else {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n }\n }\n return mdb.slice(0, 2 * len).toString('ucs2');\n };\n };\n var dbcs_encode = function make_dbcs_encode(cp) {\n var E = cpt[cp].enc;\n var EE = Buffer.allocUnsafe(131072);\n for(var i = 0; i < 131072; ++i) EE[i] = 0;\n var keys = Object.keys(E);\n for(var ee = 0, e = keys[ee]; ee < keys.length; ++ee) {\n if(!(e = keys[ee])) continue;\n var f = e.charCodeAt(0);\n EE[2*f] = E[e] & 255; EE[2*f+1] = E[e]>>8;\n }\n return function dbcs_e(data, ofmt) {\n var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, jj=0, k=0, D=0;\n if(typeof data === 'string') {\n for(i = k = 0; i < len; ++i) {\n j = data.charCodeAt(i)*2;\n out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n out = out.slice(0,k);\n } else if(Buffer.isBuffer(data)) {\n for(i = k = 0; i < len; ++i) {\n D = data[i];\n if(D < 128) j = D;\n else if(D < 224) { j = ((D&31)<<6)+(data[i+1]&63); ++i; }\n else if(D < 240) { j = ((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63); i+=2; }\n else { j = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3; }\n if(j<65536) { j*=2; out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; }\n else { jj = j-65536;\n j=2*(0xD800 + ((jj>>10)&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n j=2*(0xDC00 + (jj&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n }\n out = out.slice(0,k);\n } else {\n for(i = k = 0; i < len; i++) {\n j = data[i].charCodeAt(0)*2;\n out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n }\n }\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n };\n var dbcs_decode = function make_dbcs_decode(cp) {\n var D = cpt[cp].dec;\n var DD = Buffer.allocUnsafe(131072), d=0, c, w=0, j=0, i=0;\n for(i = 0; i < 65536; ++i) { DD[2*i] = 0xFF; DD[2*i+1] = 0xFD;}\n for(d = 0; d < D.length; ++d) {\n if(!(c=D[d])) continue;\n w = c.charCodeAt(0);\n j = 2*d;\n DD[j] = w&255; DD[j+1] = w>>8;\n }\n return function dbcs_d(data) {\n var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, k=0;\n if(Buffer.isBuffer(data)) {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n } else if(typeof data === \"string\") {\n for(i = 0; i < len; i++) {\n j = 2*data.charCodeAt(i);\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data.charCodeAt(i)<<8)+data.charCodeAt(i+1)); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n } else {\n for(i = 0; i < len; i++) {\n j = 2*data[i];\n if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n out[k++] = DD[j]; out[k++] = DD[j+1];\n }\n }\n return out.slice(0,k).toString('ucs2');\n };\n };\n magic_decode[65001] = function utf8_d(data) {\n if(typeof data === \"string\") return utf8_d(data.split(\"\").map(cca));\n var len = data.length, w = 0, ww = 0;\n if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }\n var i = 0;\n if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n for(var j = 1, k = 0, D = 0; i < len; i+=j) {\n j = 1; D = data[i];\n if(D < 128) w = D;\n else if(D < 224) { w=(D&31)*64+(data[i+1]&63); j=2; }\n else if(D < 240) { w=((D&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n else { w=(D&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n if(w < 65536) { mdb[k++] = w&255; mdb[k++] = w>>8; }\n else {\n w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n mdb[k++] = ww&255; mdb[k++] = ww>>>8; mdb[k++] = w&255; mdb[k++] = (w>>>8)&255;\n }\n }\n return mdb.slice(0,k).toString('ucs2');\n };\n magic_encode[65001] = function utf8_e(data, ofmt) {\n if(has_buf && Buffer.isBuffer(data)) {\n if(!ofmt || ofmt === 'buf') return data;\n if(ofmt !== 'arr') return data.toString('binary');\n return [].slice.call(data);\n }\n var len = data.length, w = 0, ww = 0, j = 0;\n var direct = typeof data === \"string\";\n if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }\n for(var i = 0; i < len; ++i) {\n w = direct ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) mdb[j++] = w;\n else if(w <= 0x07FF) {\n mdb[j++] = 192 + (w >> 6);\n mdb[j++] = 128 + (w&63);\n } else if(w >= 0xD800 && w <= 0xDFFF) {\n w -= 0xD800; ++i;\n ww = (direct ? data.charCodeAt(i) : data[i].charCodeAt(0)) - 0xDC00 + (w << 10);\n mdb[j++] = 240 + ((ww>>>18) & 0x07);\n mdb[j++] = 144 + ((ww>>>12) & 0x3F);\n mdb[j++] = 128 + ((ww>>>6) & 0x3F);\n mdb[j++] = 128 + (ww & 0x3F);\n } else {\n mdb[j++] = 224 + (w >> 12);\n mdb[j++] = 128 + ((w >> 6)&63);\n mdb[j++] = 128 + (w&63);\n }\n }\n if(!ofmt || ofmt === 'buf') return mdb.slice(0,j);\n if(ofmt !== 'arr') return mdb.slice(0,j).toString('binary');\n return [].slice.call(mdb, 0, j);\n };\n }\n\n var encache = function encache() {\n if(has_buf) {\n if(cpdcache[sbcs_cache[0]]) return;\n var i=0, s=0;\n for(i = 0; i < sbcs_cache.length; ++i) {\n s = sbcs_cache[i];\n if(cpt[s]) {\n cpdcache[s] = sbcs_decode(s);\n cpecache[s] = sbcs_encode(s);\n }\n }\n for(i = 0; i < dbcs_cache.length; ++i) {\n s = dbcs_cache[i];\n if(cpt[s]) {\n cpdcache[s] = dbcs_decode(s);\n cpecache[s] = dbcs_encode(s);\n }\n }\n for(i = 0; i < magic_cache.length; ++i) {\n s = magic_cache[i];\n if(magic_decode[s]) cpdcache[s] = magic_decode[s];\n if(magic_encode[s]) cpecache[s] = magic_encode[s];\n }\n }\n };\n var null_enc = function(data, ofmt) { void ofmt; return \"\"; };\n var cp_decache = function cp_decache(cp) { delete cpdcache[cp]; delete cpecache[cp]; };\n var decache = function decache() {\n if(has_buf) {\n if(!cpdcache[sbcs_cache[0]]) return;\n sbcs_cache.forEach(cp_decache);\n dbcs_cache.forEach(cp_decache);\n magic_cache.forEach(cp_decache);\n }\n last_enc = null_enc; last_cp = 0;\n };\n var cache = {\n encache: encache,\n decache: decache,\n sbcs: sbcs_cache,\n dbcs: dbcs_cache\n };\n\n encache();\n\n var BM = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var SetD = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?\";\n var last_enc = null_enc, last_cp = 0;\n var encode = function encode(cp, data, ofmt) {\n if(cp === last_cp && last_enc) { return last_enc(data, ofmt); }\n if(cpecache[cp]) { last_enc = cpecache[last_cp=cp]; return last_enc(data, ofmt); }\n if(has_buf && Buffer.isBuffer(data)) data = data.toString('utf8');\n var len = data.length;\n var out = has_buf ? Buffer.allocUnsafe(4*len) : [], w=0, i=0, j = 0, ww=0;\n var C = cpt[cp], E, M = \"\";\n var isstr = typeof data === 'string';\n if(C && (E=C.enc)) for(i = 0; i < len; ++i, ++j) {\n w = E[isstr? data.charAt(i) : data[i]];\n if(w > 255) {\n out[j] = w>>8;\n out[++j] = w&255;\n } else out[j] = w&255;\n }\n else if((M=magic[cp])) switch(M) {\n case \"utf8\":\n if(has_buf && isstr) { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i, ++j) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) out[j] = w;\n else if(w <= 0x07FF) {\n out[j] = 192 + (w >> 6);\n out[++j] = 128 + (w&63);\n } else if(w >= 0xD800 && w <= 0xDFFF) {\n w -= 0xD800;\n ww = (isstr ? data.charCodeAt(++i) : data[++i].charCodeAt(0)) - 0xDC00 + (w << 10);\n out[j] = 240 + ((ww>>>18) & 0x07);\n out[++j] = 144 + ((ww>>>12) & 0x3F);\n out[++j] = 128 + ((ww>>>6) & 0x3F);\n out[++j] = 128 + (ww & 0x3F);\n } else {\n out[j] = 224 + (w >> 12);\n out[++j] = 128 + ((w >> 6)&63);\n out[++j] = 128 + (w&63);\n }\n }\n break;\n case \"ascii\":\n if(has_buf && typeof data === \"string\") { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i, ++j) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w <= 0x007F) out[j] = w;\n else throw new Error(\"bad ascii \" + w);\n }\n break;\n case \"utf16le\":\n if(has_buf && typeof data === \"string\") { out = Buffer_from(data, M); j = out.length; break; }\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n out[j++] = w&255;\n out[j++] = w>>8;\n }\n break;\n case \"utf16be\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n out[j++] = w>>8;\n out[j++] = w&255;\n }\n break;\n case \"utf32le\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255; w >>= 8;\n out[j++] = w&255;\n }\n break;\n case \"utf32be\":\n for(i = 0; i < len; ++i) {\n w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n out[j+3] = w&255; w >>= 8;\n out[j+2] = w&255; w >>= 8;\n out[j+1] = w&255; w >>= 8;\n out[j] = w&255;\n j+=4;\n }\n break;\n case \"utf7\":\n for(i = 0; i < len; i++) {\n var c = isstr ? data.charAt(i) : data[i].charAt(0);\n if(c === \"+\") { out[j++] = 0x2b; out[j++] = 0x2d; continue; }\n if(SetD.indexOf(c) > -1) { out[j++] = c.charCodeAt(0); continue; }\n var tt = encode(1201, c);\n out[j++] = 0x2b;\n out[j++] = BM.charCodeAt(tt[0]>>2);\n out[j++] = BM.charCodeAt(((tt[0]&0x03)<<4) + ((tt[1]||0)>>4));\n out[j++] = BM.charCodeAt(((tt[1]&0x0F)<<2) + ((tt[2]||0)>>6));\n out[j++] = 0x2d;\n }\n break;\n default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n }\n else throw new Error(\"Unrecognized CP: \" + cp);\n out = out.slice(0,j);\n if(!has_buf) return (ofmt == 'str') ? (out).map(sfcc).join(\"\") : out;\n if(!ofmt || ofmt === 'buf') return out;\n if(ofmt !== 'arr') return out.toString('binary');\n return [].slice.call(out);\n };\n var decode = function decode(cp, data) {\n var F; if((F=cpdcache[cp])) return F(data);\n if(typeof data === \"string\") return decode(cp, data.split(\"\").map(cca));\n var len = data.length, out = new Array(len), s=\"\", w=0, i=0, j=1, k=0, ww=0;\n var C = cpt[cp], D, M=\"\";\n if(C && (D=C.dec)) {\n for(i = 0; i < len; i+=j) {\n j = 2;\n s = D[(data[i]<<8)+ data[i+1]];\n if(!s) {\n j = 1;\n s = D[data[i]];\n }\n if(!s) throw new Error('Unrecognized code: ' + data[i] + ' ' + data[i+j-1] + ' ' + i + ' ' + j + ' ' + D[data[i]]);\n out[k++] = s;\n }\n }\n else if((M=magic[cp])) switch(M) {\n case \"utf8\":\n if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n for(; i < len; i+=j) {\n j = 1;\n if(data[i] < 128) w = data[i];\n else if(data[i] < 224) { w=(data[i]&31)*64+(data[i+1]&63); j=2; }\n else if(data[i] < 240) { w=((data[i]&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n else { w=(data[i]&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n if(w < 65536) { out[k++] = String.fromCharCode(w); }\n else {\n w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n out[k++] = String.fromCharCode(ww); out[k++] = String.fromCharCode(w);\n }\n }\n break;\n case \"ascii\":\n if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n for(i = 0; i < len; i++) out[i] = String.fromCharCode(data[i]);\n k = len; break;\n case \"utf16le\":\n if(len >= 2 && data[0] == 0xFF) if(data[1] == 0xFE) i = 2;\n if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n j = 2;\n for(; i+1 < len; i+=j) {\n out[k++] = String.fromCharCode((data[i+1]<<8) + data[i]);\n }\n break;\n case \"utf16be\":\n if(len >= 2 && data[0] == 0xFE) if(data[1] == 0xFF) i = 2;\n j = 2;\n for(; i+1 < len; i+=j) {\n out[k++] = String.fromCharCode((data[i]<<8) + data[i+1]);\n }\n break;\n case \"utf32le\":\n if(len >= 4 && data[0] == 0xFF) if(data[1] == 0xFE && data[2] === 0 && data[3] === 0) i = 4;\n j = 4;\n for(; i < len; i+=j) {\n w = (data[i+3]<<24) + (data[i+2]<<16) + (data[i+1]<<8) + (data[i]);\n if(w > 0xFFFF) {\n w -= 0x10000;\n out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n }\n else out[k++] = String.fromCharCode(w);\n }\n break;\n case \"utf32be\":\n if(len >= 4 && data[3] == 0xFF) if(data[2] == 0xFE && data[1] === 0 && data[0] === 0) i = 4;\n j = 4;\n for(; i < len; i+=j) {\n w = (data[i]<<24) + (data[i+1]<<16) + (data[i+2]<<8) + (data[i+3]);\n if(w > 0xFFFF) {\n w -= 0x10000;\n out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n }\n else out[k++] = String.fromCharCode(w);\n }\n break;\n case \"utf7\":\n if(len >= 4 && data[0] == 0x2B && data[1] == 0x2F && data[2] == 0x76) {\n if(len >= 5 && data[3] == 0x38 && data[4] == 0x2D) i = 5;\n else if(data[3] == 0x38 || data[3] == 0x39 || data[3] == 0x2B || data[3] == 0x2F) i = 4;\n }\n for(; i < len; i+=j) {\n if(data[i] !== 0x2b) { j=1; out[k++] = String.fromCharCode(data[i]); continue; }\n j=1;\n if(data[i+1] === 0x2d) { j = 2; out[k++] = \"+\"; continue; }\n // eslint-disable-next-line no-useless-escape\n while(String.fromCharCode(data[i+j]).match(/[A-Za-z0-9+\\/]/)) j++;\n var dash = 0;\n if(data[i+j] === 0x2d) { ++j; dash=1; }\n var tt = [];\n var o64 = \"\";\n var c1=0, c2=0, c3=0;\n var e1=0, e2=0, e3=0, e4=0;\n for(var l = 1; l < j - dash;) {\n e1 = BM.indexOf(String.fromCharCode(data[i+l++]));\n e2 = BM.indexOf(String.fromCharCode(data[i+l++]));\n c1 = e1 << 2 | e2 >> 4;\n tt.push(c1);\n e3 = BM.indexOf(String.fromCharCode(data[i+l++]));\n if(e3 === -1) break;\n c2 = (e2 & 15) << 4 | e3 >> 2;\n tt.push(c2);\n e4 = BM.indexOf(String.fromCharCode(data[i+l++]));\n if(e4 === -1) break;\n c3 = (e3 & 3) << 6 | e4;\n if(e4 < 64) tt.push(c3);\n }\n o64 = decode(1201, tt);\n for(l = 0; l < o64.length; ++l) out[k++] = o64.charAt(l);\n }\n break;\n default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n }\n else throw new Error(\"Unrecognized CP: \" + cp);\n return out.slice(0,k).join(\"\");\n };\n var hascp = function hascp(cp) { return !!(cpt[cp] || magic[cp]); };\n cpt.utils = { decode: decode, encode: encode, hascp: hascp, magic: magic, cache:cache };\n return cpt;\n}));\n","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatAppFeedback.vue?vue&type=style&index=0&id=5af0372e&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"cloud\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'cloud', 'income' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"cloud\",\"active\":\"income\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('div',{staticClass:\" ivu-card-bordered ivu-card\",staticStyle:{\"width\":\"100%\",\"height\":\"98%\",\"border\":\"1px solid #DCDFE6\",\"background-color\":\"#fdfdfd\"}},[_c('div',{staticStyle:{\"overflow\":\"hidden\",\"font-size\":\"30px\",\"font-weight\":\"bold\",\"height\":\"8%\",\"padding\":\"20px 20px\"}},[_c('span',{staticStyle:{\"float\":\"left\"}},[_vm._v(_vm._s(_vm.$t('incomeInfo.title')))])]),_c('div',{staticStyle:{\"overflow\":\"hidden\",\"height\":\"6%\"}},[(_vm.showType=='year')?_c('el-date-picker',{staticStyle:{\"width\":\"200px\",\"float\":\"right\",\"margin-right\":\"40px\"},attrs:{\"type\":\"year\",\"format\":\"yyyy\",\"placeholder\":this.$t('incomeInfo.selectYear')},on:{\"change\":function (emitValue) { return _vm.updateUserIncrease(emitValue,_vm.pictureUserIncreaseMax); }},model:{value:(_vm.year),callback:function ($$v) {_vm.year=$$v},expression:\"year\"}}):_vm._e(),(_vm.showType=='month')?_c('el-date-picker',{staticStyle:{\"width\":\"200px\",\"float\":\"right\",\"margin-right\":\"40px\"},attrs:{\"type\":\"month\",\"format\":\"yyyyMM\",\"placeholder\":this.$t('incomeInfo.selectMonth')},on:{\"change\":function (emitValue) { return _vm.updateUserIncrease(emitValue,_vm.pictureUserIncreaseMax); }},model:{value:(_vm.month),callback:function ($$v) {_vm.month=$$v},expression:\"month\"}}):_vm._e(),_c('el-select',{staticStyle:{\"width\":\"150px\",\"float\":\"right\",\"margin-right\":\"20px\"},model:{value:(_vm.showType),callback:function ($$v) {_vm.showType=$$v},expression:\"showType\"}},_vm._l((_vm.showTypeList),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_c('div',{staticClass:\"ivu-picture-max-picture\",attrs:{\"id\":\"overviewPictureUserIncreaseMax\"}})])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Income.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Income.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Income.vue?vue&type=template&id=5512e928&scoped=true&\"\nimport script from \"./Income.vue?vue&type=script&lang=js&\"\nexport * from \"./Income.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5512e928\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatDevice.vue?vue&type=style&index=0&id=fb143808&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PictureTypeList.vue?vue&type=style&index=0&id=520612ec&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"log\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'log', 'app_crash' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"log\",\"active\":\"app_crash\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-date-picker',{attrs:{\"type\":\"daterange\",\"range-separator\":_vm.$t('appLog.to'),\"start-placeholder\":_vm.$t('appLog.startDataPlaceholder'),\"end-placeholder\":_vm.$t('appLog.endDataPlaceholder'),\"value-format\":\"timestamp\"},model:{value:(_vm.dataRange),callback:function ($$v) {_vm.dataRange=$$v},expression:\"dataRange\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appLog.userID')},model:{value:(_vm.search.userID),callback:function ($$v) {_vm.$set(_vm.search, \"userID\", $$v)},expression:\"search.userID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appLog.log')},model:{value:(_vm.search.log),callback:function ($$v) {_vm.$set(_vm.search, \"log\", $$v)},expression:\"search.log\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"data\":_vm.list,\"size\":\"small\"}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',{staticStyle:{\"word-wrap\":\"break-word\",\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.renderLog(props.row)))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"userID\",\"label\":_vm.$t('appLog.userID')}}),_c('el-table-column',{attrs:{\"prop\":\"time\",\"label\":_vm.$t('appLog.time')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{staticStyle:{\"word-wrap\":\"break-word\",\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.renderTime(scope.row)))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"info\",\"label\":_vm.$t('appLog.info')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{staticStyle:{\"word-wrap\":\"break-word\",\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.renderInfo(scope.row)))])]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50,200],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppCrash.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppCrash.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppCrash.vue?vue&type=template&id=0620cc5e&scoped=true&\"\nimport script from \"./AppCrash.vue?vue&type=script&lang=js&\"\nexport * from \"./AppCrash.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppCrash.vue?vue&type=style&index=0&id=0620cc5e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0620cc5e\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatUserFeedback.vue?vue&type=style&index=0&id=0c10764d&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DevicePublish.vue?vue&type=style&index=0&id=58fa9926&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"license\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'license', '3rd_license_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"license\",\"active\":\"3rd_license_list\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[(_vm.flag)?_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"LicenseID\"},model:{value:(_vm.search.licenseID),callback:function ($$v) {_vm.$set(_vm.search, \"licenseID\", $$v)},expression:\"search.licenseID\"}})],1):_vm._e(),(_vm.flag)?_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"P2pLicense\"},model:{value:(_vm.search.p2pLicense),callback:function ($$v) {_vm.$set(_vm.search, \"p2pLicense\", $$v)},expression:\"search.p2pLicense\"}})],1):_vm._e(),(_vm.flag)?_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"OrderID\"},model:{value:(_vm.search.orderID),callback:function ($$v) {_vm.$set(_vm.search, \"orderID\", $$v)},expression:\"search.orderID\"}})],1):_vm._e(),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"SN\"},model:{value:(_vm.search.sn),callback:function ($$v) {_vm.$set(_vm.search, \"sn\", $$v)},expression:\"search.sn\"}})],1),_c('el-form-item',[_c('el-input',{staticClass:\"search-input-m\",attrs:{\"clearable\":\"\",\"placeholder\":\"MAC\"},model:{value:(_vm.search.mac),callback:function ($$v) {_vm.$set(_vm.search, \"mac\", $$v)},expression:\"search.mac\"}})],1),_c('el-form-item',[_c('el-date-picker',{attrs:{\"value-format\":\"timestamp\",\"placeholder\":\"CreateDate\"},model:{value:(_vm.search.createDate),callback:function ($$v) {_vm.$set(_vm.search, \"createDate\", $$v)},expression:\"search.createDate\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),(_vm.$store.getters.hasPower(1211))?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"}},[_vm._v(\"Global Sync\")])],1)],1):_vm._e(),(_vm.$store.getters.hasPower(1211))?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.showCheckThirdLicensDialog = true}}},[_vm._v(\"Check ThirdLicense\")])],1)],1):_vm._e(),(_vm.$store.getters.hasPower(1211))?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.showUnbindThirdLicensDialog = true}}},[_vm._v(\"Unbind ThirdLicense\")])],1)],1):_vm._e(),_c('el-table',{attrs:{\"data\":_vm.list}},[(_vm.flag)?_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('el-form',{staticClass:\"table-expand-from\",attrs:{\"size\":\"mini\",\"inline\":\"\"}},_vm._l((props.row),function(item,index){return _c('el-form-item',{key:index,attrs:{\"label\":index}},[_c('span',[_vm._v(_vm._s(item))])])}),1)]}}],null,false,3004099705)}):_vm._e(),(_vm.flag)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"licenseID\",\"label\":\"LicenseID\"}}):_vm._e(),(_vm.flag)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"p2pLicense\",\"label\":\"P2pLicense\"}}):_vm._e(),(_vm.flag)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"orderID\",\"label\":\"OrderID\"}}):_vm._e(),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"sn\",\"label\":\"SN\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"mac\",\"label\":\"MAC\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":\"CreateDate\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}),_c('el-dialog',{attrs:{\"title\":\"Check ThirdLicense\",\"visible\":_vm.showCheckThirdLicensDialog,\"width\":\"750px\"},on:{\"update:visible\":function($event){_vm.showCheckThirdLicensDialog=$event}}},[_c('el-form',{ref:\"form\",staticClass:\"edit-input\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"inline\":\"\"}},[_c('el-form-item',{staticClass:\"upload_class\",attrs:{\"label\":\"CHECK FILE\",\"enctype\":\"multipart/form-data\",\"label-width\":\"100px\"}},[_c('el-upload',{ref:\"upload\",staticClass:\"upload-demo\",attrs:{\"action\":_vm.doUpload,\"before-upload\":_vm.beforeUpload,\"multiple\":\"\",\"limit\":1,\"auto-upload\":false}},[_c('el-button',{attrs:{\"slot\":\"trigger\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(_vm._s(_vm.$t('devicePublish.selectFile')))])],1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.checkLoading},on:{\"click\":function($event){return _vm.onSubmit()}}},[_vm._v(\"CHECK\")]),_c('el-button',{on:{\"click\":function($event){_vm.showCheckThirdLicensDialog = false}}},[_vm._v(\"CANCEL\")])],1),_c('el-input',{staticStyle:{\"width\":\"80%\",\"margin-top\":\"20px\"},attrs:{\"type\":\"textarea\",\"placeholder\":\"RESULT\",\"autosize\":{ minRows: 6, maxRows: 22}},model:{value:(_vm.failList),callback:function ($$v) {_vm.failList=$$v},expression:\"failList\"}})],1)],1),_c('el-dialog',{attrs:{\"title\":\"Unbind ThirdLicense\",\"visible\":_vm.showUnbindThirdLicensDialog,\"width\":\"750px\"},on:{\"update:visible\":function($event){_vm.showUnbindThirdLicensDialog=$event}}},[_c('el-form',{ref:\"form\",staticClass:\"edit-input\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"inline\":\"\"}},[_c('el-form-item',{staticClass:\"upload_class\",attrs:{\"label\":\"UNBIND FILE\",\"enctype\":\"multipart/form-data\",\"label-width\":\"100px\"}},[_c('el-upload',{ref:\"uploadForUnbind\",staticClass:\"upload-demo\",attrs:{\"action\":_vm.doUpload,\"before-upload\":_vm.beforeUploadForUnbind,\"multiple\":\"\",\"limit\":1,\"auto-upload\":false}},[_c('el-button',{attrs:{\"slot\":\"trigger\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(_vm._s(_vm.$t('devicePublish.selectFile')))]),_c('div',{staticClass:\"el-upload__tip text_not_exceed\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(\"excel should contain two column,first is licenseId,the other is sn.\"),_c('br'),_vm._v(\"Must be in \"),_c('b',[_vm._v(\"'.xlsx'\")]),_vm._v(\" format\")])],1)],1),_c('el-form-item',{attrs:{\"label\":\"MSG\",\"label-width\":\"100px\"}},[_c('el-input',{attrs:{\"placeholder\":\"UNBIND MSG\"},model:{value:(_vm.msg),callback:function ($$v) {_vm.msg=$$v},expression:\"msg\"}})],1),_c('el-form-item'),_c('div',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.unbindLoading},on:{\"click\":function($event){return _vm.onSubmitForUnbind()}}},[_vm._v(\"UNBIND\")]),_c('el-button',{on:{\"click\":function($event){_vm.showUnbindThirdLicensDialog = false}}},[_vm._v(\"CANCEL\")])],1),_c('el-input',{staticStyle:{\"width\":\"80%\",\"margin-top\":\"20px\"},attrs:{\"type\":\"textarea\",\"placeholder\":\"RESULT\",\"autosize\":{ minRows: 6, maxRows: 22}},model:{value:(_vm.unbindFailList),callback:function ($$v) {_vm.unbindFailList=$$v},expression:\"unbindFailList\"}})],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ThirdLicenseList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ThirdLicenseList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThirdLicenseList.vue?vue&type=template&id=77d6b83c&scoped=true&\"\nimport script from \"./ThirdLicenseList.vue?vue&type=script&lang=js&\"\nexport * from \"./ThirdLicenseList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"77d6b83c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'awox' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"awox\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-card',[_c('el-tabs',{attrs:{\"type\":\"card\"},on:{\"tab-click\":_vm.handleClick},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":_vm.$t('awoxList.awoxP2p'),\"name\":\"p2p\"}},[_c('el-button',{staticStyle:{\"display\":\"block\",\"margin\":\"0 auto\"},attrs:{\"type\":\"primary\"},on:{\"click\":_vm.getDetail}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('awoxList.getDetail'))+\"\\n \")]),(_vm.data)?_c('div',{staticClass:\"data-wrap\"},[_c('div',{staticClass:\"p2p-data\"},[_c('div',{staticClass:\"data-title\"},[_vm._v(_vm._s(_vm.$t('awoxList.p2pDataDetail')))]),_c('table',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('awoxList.type')))]),_c('th',[_vm._v(_vm._s(_vm.$t('awoxList.used')))]),_c('th',[_vm._v(_vm._s(_vm.$t('awoxList.remain')))])]),_vm._l((_vm.ppcs),function(value){return _c('tr',[_c('td',[_vm._v(_vm._s(value.name))]),_c('td',[_vm._v(_vm._s(value.taken))]),_c('td',[_vm._v(_vm._s(value.free))])])})],2)]),_c('div',{class:['p2p-data','cameras-data']},[_c('div',{staticClass:\"data-title\"},[_vm._v(_vm._s(_vm.$t('awoxList.cameraDataDetail')))]),_c('table',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('awoxList.type')))]),_c('th',[_vm._v(_vm._s(_vm.$t('awoxList.number')))])]),_vm._l((_vm.cameras),function(value,key){return _c('tr',[_c('td',[_vm._v(_vm._s(key))]),_c('td',[_vm._v(_vm._s(value))])])})],2)])]):_vm._e()],1),(_vm.power_1491)?_c('el-tab-pane',{attrs:{\"label\":_vm.$t('awoxList.addDevice'),\"name\":\"add\"}},[_c('el-form',{ref:\"form\",staticStyle:{\"width\":\"600px\",\"text-align\":\"left\"},attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"label-width\":\"150px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"licenseId\",\"prop\":\"licenseId\"}},[_c('el-input',{attrs:{\"placeholder\":\"licenseId\"},model:{value:(_vm.form.licenseId),callback:function ($$v) {_vm.$set(_vm.form, \"licenseId\", $$v)},expression:\"form.licenseId\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('awoxList.p2pType'),\"prop\":\"p2pType\"}},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('awoxList.p2pType'),\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.form.p2pType),callback:function ($$v) {_vm.$set(_vm.form, \"p2pType\", $$v)},expression:\"form.p2pType\"}},_vm._l((_vm.p2pTypeOptions),function(item){return _c('el-option',{key:item.key,attrs:{\"label\":item.value+'('+item.key+')',\"value\":item.key}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('awoxList.model'),\"prop\":\"model\"}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('awoxList.model')},model:{value:(_vm.form.model),callback:function ($$v) {_vm.$set(_vm.form, \"model\", $$v)},expression:\"form.model\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('awoxList.mac'),\"prop\":\"mac\"}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('awoxList.mac')},model:{value:(_vm.form.mac),callback:function ($$v) {_vm.$set(_vm.form, \"mac\", $$v)},expression:\"form.mac\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('awoxList.sn'),\"prop\":\"sn\"}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('awoxList.sn')},model:{value:(_vm.form.sn),callback:function ($$v) {_vm.$set(_vm.form, \"sn\", $$v)},expression:\"form.sn\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('awoxList.secretKey'),\"prop\":\"secretKey\"}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('awoxList.secretKey')},model:{value:(_vm.form.secretKey),callback:function ($$v) {_vm.$set(_vm.form, \"secretKey\", $$v)},expression:\"form.secretKey\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.onSubmit('form')}}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('form')}}},[_vm._v(_vm._s(_vm.$t('reset')))])],1)],1)],1):_vm._e(),(_vm.power_1492)?_c('el-tab-pane',{attrs:{\"label\":_vm.$t('awoxList.licenseBatchExport'),\"name\":\"license\"}},[_c('el-form',{ref:\"licenseForm\",staticStyle:{\"width\":\"600px\",\"text-align\":\"left\"},attrs:{\"model\":_vm.licenseForm,\"rules\":_vm.rules,\"label-width\":\"150px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('awoxList.p2pType'),\"prop\":\"p2pType\"}},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('awoxList.p2pType'),\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.licenseForm.p2pType),callback:function ($$v) {_vm.$set(_vm.licenseForm, \"p2pType\", $$v)},expression:\"licenseForm.p2pType\"}},_vm._l((_vm.p2pTypeOptions),function(item){return _c('el-option',{key:item.key,attrs:{\"label\":item.value+'('+item.key+')',\"value\":item.key}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('awoxList.model'),\"prop\":\"model\"}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('awoxList.model')},model:{value:(_vm.licenseForm.model),callback:function ($$v) {_vm.$set(_vm.licenseForm, \"model\", $$v)},expression:\"licenseForm.model\"}})],1),_c('el-form-item',[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('el-upload',{ref:\"upload\",attrs:{\"action\":\"\",\"accept\":\".xlsx\",\"on-change\":function (v,fl){ return _vm.getFile(v,fl); },\"file-list\":_vm.fileList,\"auto-upload\":false}},[_c('el-button',{attrs:{\"type\":\"primary\"}},[_vm._v(_vm._s(_vm.$t('deviceGrayPublish.clickUpload')))])],1),_c('el-tooltip',{staticClass:\"tip\",attrs:{\"effect\":\"dark\",\"content\":_vm.$t('importFileDescription'),\"placement\":\"bottom\"}},[_c('i',{staticClass:\"el-icon-question\",on:{\"click\":function($event){_vm.tipsShow = true}}})])],1)]),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.onSubmit('licenseForm')}}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('licenseForm')}}},[_vm._v(_vm._s(_vm.$t('reset')))])],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('importFileDescription'),\"visible\":_vm.tipsShow,\"width\":\"45%\"},on:{\"update:visible\":function($event){_vm.tipsShow=$event}}},[_c('ul',[_c('li',[_vm._v(\"1. \"+_vm._s(_vm.$t('awoxList.tip1')))]),_c('li',[_vm._v(\"2. \"+_vm._s(_vm.$t('awoxList.tip2')))]),_c('li',[_vm._v(\"3. \"+_vm._s(_vm.$t('awoxList.tip3')))])]),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.tipsShow = false}}},[_vm._v(_vm._s(_vm.$t('confirmButton')))])],1)])],1):_vm._e()],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Awox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Awox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Awox.vue?vue&type=template&id=44cbcc72&scoped=true&\"\nimport script from \"./Awox.vue?vue&type=script&lang=js&\"\nexport * from \"./Awox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Awox.vue?vue&type=style&index=0&id=44cbcc72&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44cbcc72\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'device_shadow','device_detail' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"device_shadow\"}}),_c('el-main',[_c('el-card',[_c('div',{staticClass:\"title-wrap\"},[_c('i',{staticClass:\"el-icon-back\",on:{\"click\":function($event){return _vm.$router.push({path:'/back/device_shadow'})}}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.obj.deviceName))])]),_c('div',{staticClass:\"nav-wrap\"},[_c('span',{staticClass:\"nav-key\"},[_vm._v(\"TP\")]),_c('span',{staticClass:\"nav-value\"},[_vm._v(_vm._s(_vm.obj.tp))]),(_vm.obj.tp)?[_c('el-button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.obj.tp),expression:\"obj.tp\",arg:\"copy\"},{name:\"clipboard\",rawName:\"v-clipboard:success\",value:(_vm.copy),expression:\"copy\",arg:\"success\"}],attrs:{\"type\":\"text\",\"size\":\"mini\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceDetail.copy'))+\"\\n \")])]:_vm._e()],2),_c('div',{staticClass:\"nav-wrap\"},[_c('span',{staticClass:\"nav-key\"},[_vm._v(\"DeviceSecret\")]),_c('span',{staticClass:\"nav-value\"},[_vm._v(_vm._s(_vm.getPassword(_vm.obj.deviceSecret)))]),(_vm.obj.deviceSecret)?[_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"mini\"},on:{\"click\":function($event){return _vm.changePasswordKey(_vm.passwordKey)}}},[_vm._v(\"\\n \"+_vm._s(_vm.passwordKey ? _vm.$t('deviceDetail.hide') : _vm.$t('deviceDetail.show'))+\"\\n \")]),_c('el-button',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.obj.deviceSecret),expression:\"obj.deviceSecret\",arg:\"copy\"},{name:\"clipboard\",rawName:\"v-clipboard:success\",value:(_vm.copy),expression:\"copy\",arg:\"success\"}],attrs:{\"type\":\"text\",\"size\":\"mini\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('deviceDetail.copy'))+\"\\n \")])]:_vm._e()],2),_c('el-tabs',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"margin-top\":\"10px\"},attrs:{\"type\":\"card\"},on:{\"tab-click\":_vm.tabChange},model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{staticClass:\"tab-first-wrap\",attrs:{\"label\":_vm.$t('deviceDetail.deviceInformation'),\"name\":\"device\"}},[_c('div',{staticClass:\"device-title\"},[_vm._v(_vm._s(_vm.$t('deviceDetail.deviceInformation')))]),_c('div',{staticClass:\"device-message-wrap\"},_vm._l((_vm.obj),function(value,key,index){return _c('div',{key:key,staticClass:\"device-message\",style:({'border-top':index>2?'none':'1px solid #ECEDEE'})},[_c('div',{staticClass:\"device-message-key\"},[_vm._v(_vm._s(_vm.$t('deviceList.' + key)))]),_c('div',{staticClass:\"device-message-value\"},[_vm._v(_vm._s(value))])])}),0)]),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('deviceDetail.physicalModelData'),\"name\":\"modal\"}},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceDetail.dpKey')},model:{value:(_vm.search.dpKey),callback:function ($$v) {_vm.$set(_vm.search, \"dpKey\", $$v)},expression:\"search.dpKey\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceDetail.dpText')},model:{value:(_vm.search.dpText),callback:function ($$v) {_vm.$set(_vm.search, \"dpText\", $$v)},expression:\"search.dpText\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.getModal('search')}}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_getList}})],1)],1),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list,\"stripe\":\"\"}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"dpText\",\"label\":_vm.$t('deviceDetail.dpText')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"dpKey\",\"label\":_vm.$t('deviceDetail.dpKey')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"dpType\",\"label\":_vm.$t('deviceDetail.dpType')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"dpDefinition\",\"label\":_vm.$t('deviceDetail.dpDefinition')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"content\",\"label\":_vm.$t('deviceDetail.content')}})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 30, 50,200],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.getModal,\"current-change\":_vm.getModal,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceDetail.vue?vue&type=template&id=08783bc3&scoped=true&\"\nimport script from \"./DeviceDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceDetail.vue?vue&type=style&index=0&id=08783bc3&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"08783bc3\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'app_config_url' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"app_config_url\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[(_vm.$store.getters.hasPower(1442))?_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\"},on:{\"click\":function($event){return _vm.add()}}})],1)],1):_vm._e(),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"prop\":\"configId\",\"label\":\"configId\"}}),_c('el-table-column',{attrs:{\"prop\":\"configKey\",\"label\":\"configKey\"}}),_c('el-table-column',{attrs:{\"prop\":\"configValue\",\"label\":\"configValue\"}}),_c('el-table-column',{attrs:{\"prop\":\"description\",\"label\":\"description\"}}),_c('el-table-column',{attrs:{\"label\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{staticClass:\"r10\",attrs:{\"slot\":\"reference\",\"size\":\"small\",\"plain\":\"\",\"type\":\"primary\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.edit(scope.row)}},slot:\"reference\"})]}}])})],1),_c('el-dialog',{attrs:{\"title\":\"Add Url\",\"visible\":_vm.addDialogVisible,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.addDialogVisible=$event}}},[_c('el-form',{ref:\"add_form\",attrs:{\"model\":_vm.addData,\"label-width\":\"200px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"configKey\",\"prop\":\"configKey\"}},[_c('el-input',{model:{value:(_vm.addData.configKey),callback:function ($$v) {_vm.$set(_vm.addData, \"configKey\", $$v)},expression:\"addData.configKey\"}})],1),_c('el-form-item',{attrs:{\"label\":\"configValue\",\"prop\":\"configValue\"}},[_c('el-input',{model:{value:(_vm.addData.configValue),callback:function ($$v) {_vm.$set(_vm.addData, \"configValue\", $$v)},expression:\"addData.configValue\"}})],1),_c('el-form-item',{attrs:{\"label\":\"description\",\"prop\":\"description\"}},[_c('el-input',{model:{value:(_vm.addData.description),callback:function ($$v) {_vm.$set(_vm.addData, \"description\", $$v)},expression:\"addData.description\"}})],1)],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.addDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveAdd()}}},[_vm._v(\"Confirm\")])],1)],1),_c('el-dialog',{attrs:{\"title\":\"Edit Url\",\"visible\":_vm.editDialogVisible,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{ref:\"add_form\",attrs:{\"model\":_vm.editData,\"label-width\":\"200px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"configKey\",\"prop\":\"configKey\"}},[_c('el-input',{model:{value:(_vm.editData.configKey),callback:function ($$v) {_vm.$set(_vm.editData, \"configKey\", $$v)},expression:\"editData.configKey\"}})],1),_c('el-form-item',{attrs:{\"label\":\"configValue\",\"prop\":\"configValue\"}},[_c('el-input',{model:{value:(_vm.editData.configValue),callback:function ($$v) {_vm.$set(_vm.editData, \"configValue\", $$v)},expression:\"editData.configValue\"}})],1),_c('el-form-item',{attrs:{\"label\":\"description\",\"prop\":\"description\"}},[_c('el-input',{model:{value:(_vm.editData.description),callback:function ($$v) {_vm.$set(_vm.editData, \"description\", $$v)},expression:\"editData.description\"}})],1)],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.editDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveEdit()}}},[_vm._v(\"Confirm\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppConfigUrlChoise.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppConfigUrlChoise.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppConfigUrlChoise.vue?vue&type=template&id=1866efa7&scoped=true&\"\nimport script from \"./AppConfigUrlChoise.vue?vue&type=script&lang=js&\"\nexport * from \"./AppConfigUrlChoise.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1866efa7\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"stat\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'stat', 'stat_feedback','stat_user_feedback']}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"stat\",\"active\":\"stat_feedback/stat_user_feedback\"}}),(_vm.power_1750)?_c('el-main',[_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"box-card\"},[_c('div',{staticStyle:{\"text-align\":\"start\"},attrs:{\"id\":\"nav-transverse\"}},_vm._l((_vm.feedbackList),function(feedback,index){return _c('div',{key:index,attrs:{\"id\":\"box-feedback\"}},[_c('div',{attrs:{\"id\":\"nav-portrait\"}},[_c('div',{staticStyle:{\"margin\":\"0\"},attrs:{\"id\":\"nav-transverse\"}},[_c('div',{domProps:{\"textContent\":_vm._s(_vm.$t(feedback.name))}}),_c('div'),(feedback.isdeal)?_c('div',{staticClass:\"deal\"},[_c('a',{attrs:{\"href\":\"/back/feedback_list\"},domProps:{\"textContent\":_vm._s(_vm.$t('feedbackInfo.immediate_deal'))}})]):_vm._e()]),_c('div',[_c('h2',{domProps:{\"textContent\":_vm._s(feedback.total)}})]),_c('div',{staticClass:\"type\",staticStyle:{\"margin\":\"0\"},attrs:{\"id\":\"nav-transverse\"}},_vm._l((feedback.otherInfos),function(otherInfo,index){return _c('div',{key:index},[_c('label',{domProps:{\"textContent\":_vm._s(_vm.$t(otherInfo.name))}}),_c('span',{staticClass:\"type-total\",domProps:{\"textContent\":_vm._s(otherInfo.total)}})])}),0)])])}),0)]),_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"box-card\",staticStyle:{\"margin-top\":\"10px\"}},[_c('div',{staticClass:\"feedback-charts\"},[_c('div',{attrs:{\"id\":\"feedback-trend\"}},[_c('div',{staticClass:\"feedback-trend-title\"},[_c('h2',{domProps:{\"textContent\":_vm._s(_vm.$t('feedbackInfo.feedback_trends'))}})]),_c('div',{staticClass:\"feedback-date\"},[_c('el-date-picker',{attrs:{\"type\":\"daterange\",\"align\":\"right\",\"unlink-panels\":\"\",\"range-separator\":\"至\",\"start-placeholder\":\"开始日期\",\"end-placeholder\":\"结束日期\",\"picker-options\":_vm.pickerOptions},on:{\"change\":function (emitValue) { return _vm.handleDateChange(emitValue); }},model:{value:(_vm.createdTime),callback:function ($$v) {_vm.createdTime=$$v},expression:\"createdTime\"}})],1)]),_c('div',{staticClass:\"product-chart\"},[_c('div',{staticClass:\"product-chart-title\"},[_c('label',{domProps:{\"textContent\":_vm._s(_vm.$t('stat_product_feedback'))}})]),_c('div',{staticStyle:{\"padding-top\":\"40px\",\"padding-bottom\":\"20px\",\"overflow-x\":\"auto\",\"width\":\"100%\"},attrs:{\"id\":\"product-line-chart\"}},[_c('ve-line',{attrs:{\"data\":_vm.productChartData,\"extend\":_vm.extend,\"data-empty\":_vm.dataEmpty,\"width\":_vm.chartWidth}})],1)]),_c('div',{staticClass:\"app-chart\"},[_c('div',{staticClass:\"app-chart-title\"},[_c('label',{domProps:{\"textContent\":_vm._s(_vm.$t('stat_app_feedback'))}})]),_c('div',{staticStyle:{\"padding-top\":\"40px\",\"padding-bottom\":\"20px\",\"overflow-x\":\"auto\",\"width\":\"100%\"}},[_c('ve-line',{attrs:{\"data\":_vm.appChartData,\"extend\":_vm.extend,\"data-empty\":_vm.dataEmpty,\"width\":_vm.chartWidth}})],1)]),_c('div',{staticClass:\"chart\"},[_vm._l((_vm.feedbackType),function(item,index){return _c('div',{key:index,staticClass:\"chart-title\",class:{active:(_vm.clickIndex == index )},on:{\"click\":function($event){return _vm.showRingChartInfo(index)}}},[_c('label',{domProps:{\"textContent\":_vm._s(_vm.$t(item))}})])}),_c('div',{staticStyle:{\"padding-top\":\"40px\",\"padding-bottom\":\"20px\",\"overflow-x\":\"auto\",\"width\":\"100%\"}},[_c('ve-ring',{attrs:{\"data\":_vm.chartData,\"extend\":_vm.pieExtend,\"data-empty\":_vm.dataEmpty,\"settings\":_vm.chartSettings,\"legend-visible\":false,\"width\":_vm.chartWidth}})],1)],2)])])],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatUserFeedback.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatUserFeedback.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatUserFeedback.vue?vue&type=template&id=0c10764d&scoped=true&\"\nimport script from \"./StatUserFeedback.vue?vue&type=script&lang=js&\"\nexport * from \"./StatUserFeedback.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatUserFeedback.vue?vue&type=style&index=0&id=0c10764d&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0c10764d\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatProductFeedback.vue?vue&type=style&index=0&id=7de07037&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Redis.vue?vue&type=style&index=0&id=e5fd86d0&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"log\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'log', 'app_buried_point' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"log\",\"active\":\"app_buried_point\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-date-picker',{attrs:{\"type\":\"daterange\",\"range-separator\":_vm.$t('appLog.to'),\"start-placeholder\":_vm.$t('appLog.startDataPlaceholder'),\"end-placeholder\":_vm.$t('appLog.endDataPlaceholder'),\"value-format\":\"timestamp\"},model:{value:(_vm.dataRange),callback:function ($$v) {_vm.dataRange=$$v},expression:\"dataRange\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appLog.userID')},model:{value:(_vm.search.userID),callback:function ($$v) {_vm.$set(_vm.search, \"userID\", $$v)},expression:\"search.userID\"}})],1),_c('el-form-item',[_c('el-cascader',{attrs:{\"clearable\":\"\",\"options\":_vm.options,\"expandTrigger\":'hover',\"checkStrictly\":true,\"props\":{ expandTrigger: 'hover',checkStrictly: true },\"placeholder\":_vm.$t('appLog.eventId')},model:{value:(_vm.search.eventId),callback:function ($$v) {_vm.$set(_vm.search, \"eventId\", $$v)},expression:\"search.eventId\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appLog.url')},model:{value:(_vm.search.url),callback:function ($$v) {_vm.$set(_vm.search, \"url\", $$v)},expression:\"search.url\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appLog.resultCode')},model:{value:(_vm.search.resultCode),callback:function ($$v) {_vm.$set(_vm.search, \"resultCode\", $$v)},expression:\"search.resultCode\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appLog.sn')},model:{value:(_vm.search.sn),callback:function ($$v) {_vm.$set(_vm.search, \"sn\", $$v)},expression:\"search.sn\"}})],1),_c('el-form-item',[_c('el-cascader',{attrs:{\"options\":_vm.timeOptions,\"props\":{ expandTrigger: 'hover' },\"placeholder\":_vm.$t('appLog.time')},model:{value:(_vm.search.time),callback:function ($$v) {_vm.$set(_vm.search, \"time\", $$v)},expression:\"search.time\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appLog.log')},model:{value:(_vm.search.log),callback:function ($$v) {_vm.$set(_vm.search, \"log\", $$v)},expression:\"search.log\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"data\":_vm.list,\"size\":\"small\"}},[_c('el-table-column',{attrs:{\"prop\":\"userID\",\"label\":_vm.$t('appLog.userID')}}),_c('el-table-column',{attrs:{\"prop\":\"time\",\"label\":_vm.$t('appLog.time')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{staticStyle:{\"word-wrap\":\"break-word\",\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.renderTime(scope.row)))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"eventId\",\"label\":_vm.$t('appLog.eventId')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(_vm.changeEventId(scope.row.eventId)))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"info\",\"label\":_vm.$t('appLog.info')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{staticStyle:{\"word-wrap\":\"break-word\",\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.renderInfo(scope.row)))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"log\",\"label\":_vm.$t('appLog.log')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.log!==null && scope.row.log!==undefined && scope.row.log.length > 1024)?_c('el-button',{attrs:{\"icon\":\"el-icon-reading\"},on:{\"click\":function($event){_vm.showLogDetail = true;_vm.logDetail = scope.row}}}):_c('div',{staticStyle:{\"word-wrap\":\"break-word\",\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.renderLog(scope.row)))])]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50,200],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}),_c('el-dialog',{attrs:{\"title\":_vm.$t('appLog.logDetail'),\"width\":\"80%\",\"visible\":_vm.showLogDetail,\"custom-class\":\"ivu-card-radius\",\"center\":\"\"},on:{\"update:visible\":function($event){_vm.showLogDetail=$event}}},[_c('div',[_vm._v(_vm._s(_vm.renderLog(_vm.logDetail)))]),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.showLogDetail = false}}},[_vm._v(_vm._s(this.$t('system.functionSetting.confirmButton')))]),_c('el-button',{on:{\"click\":function($event){_vm.showLogDetail = false}}},[_vm._v(_vm._s(this.$t('system.functionSetting.cancel')))])],1)])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppBuriedPoint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppBuriedPoint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppBuriedPoint.vue?vue&type=template&id=209d7f3f&scoped=true&\"\nimport script from \"./AppBuriedPoint.vue?vue&type=script&lang=js&\"\nexport * from \"./AppBuriedPoint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppBuriedPoint.vue?vue&type=style&index=0&id=209d7f3f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"209d7f3f\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./CommonWords.vue?vue&type=style&index=0&id=a9aed5d0&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'device_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"device_list\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceList.snNum')},model:{value:(_vm.search.snNum),callback:function ($$v) {_vm.$set(_vm.search, \"snNum\", $$v)},expression:\"search.snNum\"}})],1),_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceList.deviceName')},model:{value:(_vm.search.deviceName),callback:function ($$v) {_vm.$set(_vm.search, \"deviceName\", $$v)},expression:\"search.deviceName\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceList.deviceID')},model:{value:(_vm.search.deviceID),callback:function ($$v) {_vm.$set(_vm.search, \"deviceID\", $$v)},expression:\"search.deviceID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceList.userID')},model:{value:(_vm.search.userID),callback:function ($$v) {_vm.$set(_vm.search, \"userID\", $$v)},expression:\"search.userID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceList.firmID')},model:{value:(_vm.search.firmID),callback:function ($$v) {_vm.$set(_vm.search, \"firmID\", $$v)},expression:\"search.firmID\"}})],1),_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceList.relayLicenseId')},model:{value:(_vm.search.relayLicenseId),callback:function ($$v) {_vm.$set(_vm.search, \"relayLicenseId\", $$v)},expression:\"search.relayLicenseId\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list,\"row-key\":function (row) {return row.deviceUUID + row.deviceVersionID},\"expand-row-keys\":_vm.expandRowKeys}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('el-form',{staticClass:\"table-expand-from\",attrs:{\"size\":\"small\",\"inline\":\"\"}},_vm._l((_vm.detailList),function(item,index){return _c('el-form-item',{key:index,attrs:{\"label\":_vm.$t('deviceList.' + item)}},[(item === 'deviceUUID')?_c('div',[_vm._v(\"\\n \"+_vm._s(props.row[item])+\"\\n \"),_c('br'),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\"},on:{\"click\":function($event){return _vm.decodeUUID(props.row,props.row[item])}}},[_vm._v(\"decode\")]),_c('span',{staticStyle:{\"color\":\"darkgreen\"}},[_c('b',[_vm._v(\" \"+_vm._s(props.row[\"deviceUUID_encode\"]))])])],1):_c('span',[_vm._v(_vm._s(props.row[item]))])])}),1)]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceID\",\"label\":_vm.$t('deviceList.deviceID')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"snNum\",\"label\":_vm.$t('deviceList.snNum')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-link',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.toDeviceIOT(scope.row.snNum)}}},[_vm._v(_vm._s(scope.row.snNum))])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"relayLicenseId\",\"label\":_vm.$t('deviceList.relayLicenseId')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-link',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.toRelay(scope.row.relayLicenseId)}}},[_vm._v(_vm._s(scope.row.relayLicenseId)+\"\\n \")])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"userID\",\"label\":_vm.$t('deviceList.userID')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"devTypeID\",\"label\":_vm.$t('deviceList.devTypeID')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"filterType\")(scope.row.devTypeID)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceVersionID\",\"label\":_vm.$t('deviceList.deviceVersionID')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"nullValueToNa\")(scope.row.deviceVersionID)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"tp\",\"label\":_vm.$t('deviceList.tp')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"nullValueToNa\")(scope.row.tp)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceName\",\"label\":_vm.$t('deviceList.deviceName')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"nullValueToNa\")(scope.row.deviceName)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"firmID\",\"label\":_vm.$t('deviceList.firmID')}}),(_vm.power_1511)?_c('el-table-column',{scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-link',{attrs:{\"type\":\"primary\",\"underline\":false},on:{\"click\":function($event){return _vm.toVisitor(scope.row)}}},[_vm._v(_vm._s(_vm.$t('visitor')))])]}}],null,false,577914108)}):_vm._e()],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 30, 50,200],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceList.vue?vue&type=template&id=f9640712&scoped=true&\"\nimport script from \"./DeviceList.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceList.vue?vue&type=style&index=0&id=f9640712&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f9640712\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceDetail.vue?vue&type=style&index=0&id=08783bc3&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"license\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'license', 'license_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"license\",\"active\":\"license_list\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[(_vm.flag)?_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"LicenseID\"},model:{value:(_vm.search.licenseID),callback:function ($$v) {_vm.$set(_vm.search, \"licenseID\", $$v)},expression:\"search.licenseID\"}})],1):_vm._e(),(_vm.flag)?_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"PartnerID\"},model:{value:(_vm.search.partnerID),callback:function ($$v) {_vm.$set(_vm.search, \"partnerID\", $$v)},expression:\"search.partnerID\"}})],1):_vm._e(),(_vm.flag)?_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"OrderID\"},model:{value:(_vm.search.orderID),callback:function ($$v) {_vm.$set(_vm.search, \"orderID\", $$v)},expression:\"search.orderID\"}})],1):_vm._e(),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"SN\"},model:{value:(_vm.search.sn),callback:function ($$v) {_vm.$set(_vm.search, \"sn\", $$v)},expression:\"search.sn\"}})],1),_c('el-form-item',[_c('el-input',{staticClass:\"search-input-m\",attrs:{\"clearable\":\"\",\"placeholder\":\"MAC\"},model:{value:(_vm.search.mac),callback:function ($$v) {_vm.$set(_vm.search, \"mac\", $$v)},expression:\"search.mac\"}})],1),_c('el-form-item',[_c('el-date-picker',{attrs:{\"value-format\":\"timestamp\",\"placeholder\":\"CreateDate\"},model:{value:(_vm.search.createDate),callback:function ($$v) {_vm.$set(_vm.search, \"createDate\", $$v)},expression:\"search.createDate\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{attrs:{\"data\":_vm.list}},[(_vm.flag)?_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('el-form',{staticClass:\"table-expand-from\",attrs:{\"size\":\"mini\",\"inline\":\"\"}},_vm._l((props.row),function(item,index){return _c('el-form-item',{key:index,attrs:{\"label\":index}},[_c('span',[_vm._v(_vm._s(item))])])}),1)]}}],null,false,3004099705)}):_vm._e(),(_vm.flag)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"licenseID\",\"label\":\"LicenseID\"}}):_vm._e(),(_vm.flag)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"partnerID\",\"label\":\"PartnerID\"}}):_vm._e(),(_vm.flag)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"orderID\",\"label\":\"OrderID\"}}):_vm._e(),(_vm.flag)?_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceType\",\"label\":\"DeviceType\"}}):_vm._e(),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"sn\",\"label\":\"SN\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"mac\",\"label\":\"MAC\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":\"CreateDate\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./LicenseList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./LicenseList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LicenseList.vue?vue&type=template&id=764881b0&scoped=true&\"\nimport script from \"./LicenseList.vue?vue&type=script&lang=js&\"\nexport * from \"./LicenseList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"764881b0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'feedback_standard_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"feedback_standard_list\"}}),(_vm.power_1470)?_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-m\",attrs:{\"clearable\":\"\",\"type\":\"number\",\"placeholder\":\"ID\"},model:{value:(_vm.search.id),callback:function ($$v) {_vm.$set(_vm.search, \"id\", $$v)},expression:\"search.id\"}},[_c('el-button',{attrs:{\"slot\":\"append\",\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList},slot:\"append\"})],1)],1)],1),(_vm.$store.getters.hasPower(1471))?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\"},on:{\"click\":function($event){_vm.addFeedbackStandardDialogVisible = true;}}},[_vm._v(\"add\")])],1)],1):_vm._e(),_c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"mini\",\"stripe\":\"\"},on:{\"cell-mouse-enter\":_vm.mouse_enter}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"id\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"name\",\"label\":\"Name\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"at\",\"label\":\"At\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.at)))]}}],null,false,4067720838)}),(_vm.$store.getters.hasPower(1472))?_c('el-table-column',{attrs:{\"align\":\"left\",\"width\":\"150px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return (_vm.enter.id===scope.row.id)?[_c('el-popover',{attrs:{\"placement\":\"right\",\"trigger\":\"manual\"},model:{value:(_vm.enter.popover),callback:function ($$v) {_vm.$set(_vm.enter, \"popover\", $$v)},expression:\"enter.popover\"}},[_c('el-button',{attrs:{\"slot\":\"reference\",\"size\":\"mini\",\"icon\":\"el-icon-user\"},on:{\"click\":function($event){return _vm.member()}},slot:\"reference\"}),_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"mini\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('span',[_vm._v(_vm._s(scope.row.name || scope.row.id)+\"'s Members\")])]),_c('el-form-item',[_c('el-select',{staticClass:\"search-input-l\",attrs:{\"remote\":\"\",\"filterable\":\"\",\"remote-method\":_vm.searchMembers,\"placeholder\":\"Account\"},model:{value:(_vm.addMemberId),callback:function ($$v) {_vm.addMemberId=$$v},expression:\"addMemberId\"}},_vm._l((_vm.searchedMembers),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"disabled\":!_vm.addMemberId},on:{\"click\":function($event){return _vm.addMember()}}},[_vm._v(\"Add\")])],1)],1),_c('el-button',{staticStyle:{\"float\":\"right\",\"margin\":\"0 -6px\"},attrs:{\"size\":\"mini\",\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.member()}}}),_c('el-table',{attrs:{\"data\":_vm.members,\"size\":\"mini\",\"height\":\"500px\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"ID\",\"width\":\"100px\"}}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"Member\",\"width\":\"200px\"}}),_c('el-table-column',{attrs:{\"prop\":\"at\",\"label\":\"At\",\"width\":\"150px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope2){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope2.row.at)))]}}],null,true)}),(_vm.$store.getters.hasPower(1473))?_c('el-table-column',{attrs:{\"align\":\"left\",\"width\":\"120px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope2){return [_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.deleMember(scope2.row)}}})],1)]}}],null,true)}):_vm._e()],1)],1),(_vm.$store.getters.hasPower(1474))?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.edit(scope.row)}}}):_vm._e()]:undefined}}],null,true)}):_vm._e(),_c('el-table-column')],1),(_vm.total)?_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[20, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}):_vm._e(),_c('el-dialog',{attrs:{\"title\":\"Add FeedbackStandard\",\"width\":\"600px\",\"visible\":_vm.addFeedbackStandardDialogVisible},on:{\"update:visible\":function($event){_vm.addFeedbackStandardDialogVisible=$event}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.addFeedbackStandardFormLoading),expression:\"addFeedbackStandardFormLoading\"}],ref:\"addFeedbackStandardForm\",attrs:{\"model\":_vm.addFeedbackStandardForm,\"label-width\":\"110px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"StandardName\",\"prop\":\"standardName\",\"width\":\"500px\"}},[_c('el-select',{staticStyle:{\"width\":\"450px\"},attrs:{\"placeholder\":\"请选择\",\"filterable\":\"\"},on:{\"change\":_vm.handleOptionChangeName},model:{value:(_vm.addFeedbackStandardForm.name),callback:function ($$v) {_vm.$set(_vm.addFeedbackStandardForm, \"name\", $$v)},expression:\"addFeedbackStandardForm.name\"}},_vm._l((_vm.standardOptions),function(option,index){return _c('el-option',{key:index,attrs:{\"label\":option,\"value\":option}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"Tp\",\"prop\":\"tp\"}},[_c('el-select',{staticStyle:{\"width\":\"450px\"},attrs:{\"placeholder\":\"请选择\",\"multiple\":\"\",\"filterable\":\"\"},on:{\"change\":_vm.handleOptionChangeTp},model:{value:(_vm.addFeedbackStandardForm.tps),callback:function ($$v) {_vm.$set(_vm.addFeedbackStandardForm, \"tps\", $$v)},expression:\"addFeedbackStandardForm.tps\"}},_vm._l((_vm.tpOptions),function(option,index){return _c('el-option',{key:index,attrs:{\"label\":option,\"value\":option}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"\"}},[_c('el-button',{staticStyle:{\"float\":\"left\"},attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.addStandard()}}},[_vm._v(\"Submit\\n \")]),_c('el-button',{staticStyle:{\"float\":\"left\"},attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.addFeedbackStandardDialogVisible = false}}},[_vm._v(\"Cancel\\n \")])],1)],1)],1),_c('el-dialog',{attrs:{\"width\":\"600px\",\"title\":\"Edit FeedbackStandard\",\"visible\":_vm.editDialogVisible},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{attrs:{\"label-width\":\"150px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"StandardName\"}},[_c('el-input',{attrs:{\"disabled\":\"\"},model:{value:(_vm.editRow.name),callback:function ($$v) {_vm.$set(_vm.editRow, \"name\", $$v)},expression:\"editRow.name\"}})],1),_c('el-form-item',{attrs:{\"label\":\"Tp\",\"prop\":\"tp\"}},[_c('el-select',{staticStyle:{\"width\":\"410px\"},attrs:{\"multiple\":\"\",\"filterable\":\"\"},model:{value:(_vm.editRow.tps),callback:function ($$v) {_vm.$set(_vm.editRow, \"tps\", $$v)},expression:\"editRow.tps\"}},_vm._l((_vm.tpOptions),function(option,index){return _c('el-option',{key:index,attrs:{\"label\":option,\"value\":option}})}),1)],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.editDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveEdit()}}},[_vm._v(\"Confirm\")])],1)],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./FeedbackStandardList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./FeedbackStandardList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FeedbackStandardList.vue?vue&type=template&id=623ba918&scoped=true&\"\nimport script from \"./FeedbackStandardList.vue?vue&type=script&lang=js&\"\nexport * from \"./FeedbackStandardList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"623ba918\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.not_dialog)?_c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"log\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'log', 'server_log', _vm.db ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"log\",\"active\":(\"server_log/\" + _vm.db)}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[(['hz','dev','localhost','hz_pre'].indexOf(_vm.serverZone) >= 0)?_c('div',{staticStyle:{\"position\":\"absolute\",\"z-index\":\"9999\",\"right\":\"30px\",\"top\":\"80px\"}},[_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":function($event){_vm.docDialogShow = true}}},[_vm._v(\"查看文档\")])],1):_vm._e(),_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-date-picker',{attrs:{\"value-format\":\"yyyyMMdd\",\"placeholder\":\"day\",\"clearable\":false},model:{value:(_vm.search.day),callback:function ($$v) {_vm.$set(_vm.search, \"day\", $$v)},expression:\"search.day\"}})],1),_vm._l((_vm.search_custom),function(c){return _c('el-form-item',{key:c},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":c,\"title\":c},on:{\"change\":_vm.changeMethod},model:{value:(_vm.search_param[c]),callback:function ($$v) {_vm.$set(_vm.search_param, c, $$v)},expression:\"search_param[c]\"}})],1)}),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.fetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],2),_c('ServerLogTable',{attrs:{\"list\":_vm.list,\"expand_span\":_vm.expand_span,\"columns\":_vm.columns}}),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[20],\"current-page\":_vm.page,\"page-size\":20,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event}}})],1)],1),_c('el-dialog',{attrs:{\"visible\":_vm.dialog,\"width\":\"70%\",\"top\":\"5vh\"},on:{\"update:visible\":function($event){_vm.dialog=$event}}},[_c('iframe',{staticStyle:{\"border\":\"none\",\"height\":\"80vh\"},attrs:{\"src\":_vm.dialog_src,\"width\":\"100%\"}})]),_c('el-dialog',{attrs:{\"visible\":_vm.respDialog,\"width\":\"70%\",\"top\":\"5vh\"},on:{\"update:visible\":function($event){_vm.respDialog=$event}}},[_c('pre',{staticStyle:{\"text-align\":\"left\",\"white-space\":\"pre-wrap\",\"word-wrap\":\"break-word\"}},[_vm._v(\"resp: \"+_vm._s(JSON.stringify(_vm.resp,null,2).replace(/, /g,',\\n')))])]),_c('el-dialog',{attrs:{\"visible\":_vm.docDialogShow,\"width\":\"920px\",\"top\":\"5vh\"},on:{\"update:visible\":function($event){_vm.docDialogShow=$event}}},[_c('el-carousel',{attrs:{\"trigger\":\"click\",\"height\":\"800px\"}},_vm._l((_vm.docs),function(imgUrl){return _c('el-carousel-item',{key:imgUrl},[_c('img',{attrs:{\"src\":imgUrl}})])}),1)],1)],1):_c('ServerLogTable',{attrs:{\"list\":_vm.list,\"expand_span\":_vm.expand_span,\"columns\":_vm.columns,\"expand\":true}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ServerLog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ServerLog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServerLog.vue?vue&type=template&id=6f1061ff&scoped=true&\"\nimport script from \"./ServerLog.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerLog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6f1061ff\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./OrderCharts.vue?vue&type=style&index=0&id=8498c8ce&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"cloud\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'cloud', 'cloud_refund' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"cloud\",\"active\":\"cloud_refund\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"OrderNum\"},model:{value:(_vm.search.orderNum),callback:function ($$v) {_vm.$set(_vm.search, \"orderNum\", $$v)},expression:\"search.orderNum\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"userAccount\"},model:{value:(_vm.search.userAccount),callback:function ($$v) {_vm.$set(_vm.search, \"userAccount\", $$v)},expression:\"search.userAccount\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.refundDialogVisible = true}}},[_vm._v(_vm._s(_vm.$t('refund')))])],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('el-form',{staticClass:\"table-expand-from\",attrs:{\"size\":\"mini\",\"inline\":\"\"}},_vm._l((_vm.detailList),function(item,index){return _c('el-form-item',{key:index,attrs:{\"label\":item}},[_c('span',[_vm._v(_vm._s(props.row[item]))])])}),1)]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"orderNum\",\"label\":\"ORDER_NUM\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"order\",\"label\":\"ORDER\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"cloud\",\"label\":\"CLOUD\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"resultCode\",\"label\":\"RESULT_CODE\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":\"CREATE_DATE\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"ip\",\"label\":\"IP\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"userAccount\",\"label\":\"USER_ACCOUNT\"}})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('refund'),\"visible\":_vm.refundDialogVisible,\"width\":\"400px\",\"center\":\"\",\"top\":\"10%\"},on:{\"update:visible\":function($event){_vm.refundDialogVisible=$event}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.dialogLoading),expression:\"dialogLoading\"}],ref:\"refundForm\",attrs:{\"model\":_vm.refundForm,\"label-width\":\"80px\",\"label-position\":\"left\",\"rules\":_vm.rules}},[_c('el-form-item',{attrs:{\"label\":\"订单编号\",\"prop\":\"orderNum\"}},[_c('el-input',{attrs:{\"clearable\":\"\"},model:{value:(_vm.refundForm.orderNum),callback:function ($$v) {_vm.$set(_vm.refundForm, \"orderNum\", $$v)},expression:\"refundForm.orderNum\"}})],1),_c('el-form-item',{attrs:{\"label\":\"用户名\",\"prop\":\"userAccount\"}},[_c('el-input',{attrs:{\"clearable\":\"\"},model:{value:(_vm.refundForm.userAccount),callback:function ($$v) {_vm.$set(_vm.refundForm, \"userAccount\", $$v)},expression:\"refundForm.userAccount\"}})],1),_c('el-form-item',{attrs:{\"label\":\"密码\",\"prop\":\"password\"}},[_c('el-input',{attrs:{\"show-password\":\"\",\"clearable\":\"\"},model:{value:(_vm.refundForm.password),callback:function ($$v) {_vm.$set(_vm.refundForm, \"password\", $$v)},expression:\"refundForm.password\"}})],1),_c('el-form-item',{attrs:{\"label\":\"IP\",\"prop\":\"ip\"}},[_c('el-input',{attrs:{\"clearable\":\"\"},model:{value:(_vm.refundForm.ip),callback:function ($$v) {_vm.$set(_vm.refundForm, \"ip\", $$v)},expression:\"refundForm.ip\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"立即退款\")]),_c('el-button',{on:{\"click\":function($event){_vm.refundDialogVisible = false}}},[_vm._v(\"取消\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./CloudRefund.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./CloudRefund.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CloudRefund.vue?vue&type=template&id=51ef5a10&scoped=true&\"\nimport script from \"./CloudRefund.vue?vue&type=script&lang=js&\"\nexport * from \"./CloudRefund.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CloudRefund.vue?vue&type=style&index=0&id=51ef5a10&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51ef5a10\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"monitor\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'monitor', 'dubbo' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"monitor\",\"active\":\"dubbo\"}}),_c('iframe',{attrs:{\"src\":_vm.src,\"width\":\"100%\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Dubbo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Dubbo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dubbo.vue?vue&type=template&id=42835d80&scoped=true&\"\nimport script from \"./Dubbo.vue?vue&type=script&lang=js&\"\nexport * from \"./Dubbo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Dubbo.vue?vue&type=style&index=0&id=42835d80&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42835d80\",\n null\n \n)\n\nexport default component.exports","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"account\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'account', 'account_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"account\",\"active\":\"account_list\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"Name\"},model:{value:(_vm.search.name),callback:function ($$v) {_vm.$set(_vm.search, \"name\", $$v)},expression:\"search.name\"}},[_c('el-button',{attrs:{\"slot\":\"append\",\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList},slot:\"append\"})],1)],1)],1),(_vm.localOrHZ && _vm.$store.getters.hasPower(1125))?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\"},on:{\"click\":function($event){_vm.addAccountDialogVisible = true}}},[_vm._v(\"add\")])],1)],1):_vm._e(),_c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"mini\",\"stripe\":\"\"},on:{\"cell-mouse-enter\":function (row){this$1.enter_id=row.id;}}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"id\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"name\",\"label\":\"Name\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"group\",\"label\":\"Group\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"groupName\")(scope.row.group)))]}}])}),(_vm.$store.getters.hasAnyPowers([ 1121, 1123, 1124 ]))?_c('el-table-column',{attrs:{\"align\":\"left\",\"width\":\"200px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(_vm.enter_id===scope.row.id)?_c('el-button-group',[(_vm.$store.getters.hasPower(1121))?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-folder\"},on:{\"click\":function($event){return _vm.project(scope.row)}}}):_vm._e(),(_vm.localOrHZ && _vm.$store.getters.hasPower(1123))?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.edit(scope.row)}}}):_vm._e(),(_vm.localOrHZ && _vm.$store.getters.hasPower(1124))?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.dele(scope.row)}}}):_vm._e()],1):_vm._e()]}}],null,false,3080195552)}):_vm._e()],1),(_vm.total)?_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[20, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}):_vm._e(),_c('el-dialog',{attrs:{\"width\":\"500px\",\"title\":\"Edit Account\",\"visible\":_vm.editDialogVisible},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{attrs:{\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"Account\"}},[_c('el-input',{attrs:{\"disabled\":\"\"},model:{value:(_vm.editRow.name),callback:function ($$v) {_vm.$set(_vm.editRow, \"name\", $$v)},expression:\"editRow.name\"}})],1),_c('el-form-item',{attrs:{\"label\":\"Back Roles\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"multiple\":\"\"},model:{value:(_vm.edit_roleList),callback:function ($$v) {_vm.edit_roleList=$$v},expression:\"edit_roleList\"}},_vm._l((_vm.back_roles),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"Groups\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},model:{value:(_vm.editRow.group),callback:function ($$v) {_vm.$set(_vm.editRow, \"group\", $$v)},expression:\"editRow.group\"}},_vm._l((_vm.groups),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1)],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.editDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveEdit()}}},[_vm._v(\"Confirm\")])],1)],1),_c('el-dialog',{attrs:{\"title\":((_vm.infoRow.name) + \"'s Projects\"),\"visible\":_vm.infoDialogVisible,\"modal\":false},on:{\"update:visible\":function($event){_vm.infoDialogVisible=$event}}},[_c('el-table',{attrs:{\"data\":_vm.infoRow.projects,\"size\":\"mini\"}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"id\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"name\",\"label\":\"Name\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"at\",\"label\":\"At\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.at)))]}}])}),(_vm.$store.getters.hasPower(1113))?_c('el-table-column',{attrs:{\"align\":\"center\",\"fixed\":\"right\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button-group',[(_vm.localOrHZ)?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.editMember(scope.row)}}}):_vm._e(),(_vm.localOrHZ)?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.deleMember(scope.row)}}}):_vm._e()],1)]}}],null,false,643900527)}):_vm._e()],1)],1),_c('el-dialog',{attrs:{\"width\":\"500px\",\"title\":\"Edit Member Roles\",\"visible\":_vm.editMemberDialogVisible},on:{\"update:visible\":function($event){_vm.editMemberDialogVisible=$event}}},[_c('el-form',{attrs:{\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"Project\"}},[_c('el-input',{attrs:{\"disabled\":\"\"},model:{value:(_vm.editMemberRow.name),callback:function ($$v) {_vm.$set(_vm.editMemberRow, \"name\", $$v)},expression:\"editMemberRow.name\"}})],1),_c('el-form-item',{attrs:{\"label\":\"Member\"}},[_c('el-input',{attrs:{\"disabled\":\"\"},model:{value:(_vm.infoRow.name),callback:function ($$v) {_vm.$set(_vm.infoRow, \"name\", $$v)},expression:\"infoRow.name\"}})],1)],1),_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"multiple\":\"\"},model:{value:(_vm.editMember_roleList),callback:function ($$v) {_vm.editMember_roleList=$$v},expression:\"editMember_roleList\"}},_vm._l((_vm.project_roles),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.editMemberDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveEditMember()}}},[_vm._v(\"Confirm\")])],1)],1),_c('el-dialog',{attrs:{\"title\":\"Add Account\",\"width\":\"400px\",\"visible\":_vm.addAccountDialogVisible},on:{\"update:visible\":function($event){_vm.addAccountDialogVisible=$event}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.addAccountFormLoading),expression:\"addAccountFormLoading\"}],ref:\"addAccountForm\",attrs:{\"model\":_vm.addAccountForm,\"label-width\":\"110px\",\"label-position\":\"left\",\"rules\":_vm.addAccountFormRules}},[_c('el-form-item',{attrs:{\"label\":\"Account\",\"prop\":\"userName\"}},[_c('el-input',{attrs:{\"clearable\":\"\"},model:{value:(_vm.addAccountForm.userName),callback:function ($$v) {_vm.$set(_vm.addAccountForm, \"userName\", $$v)},expression:\"addAccountForm.userName\"}})],1),_c('el-form-item',{attrs:{\"label\":\"Password\",\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"show-password\":\"\",\"clearable\":\"\",\"autocomplete\":\"off\"},model:{value:(_vm.addAccountForm.password),callback:function ($$v) {_vm.$set(_vm.addAccountForm, \"password\", $$v)},expression:\"addAccountForm.password\"}})],1),_c('el-form-item',{attrs:{\"label\":\"Re-Password\",\"prop\":\"repass\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"show-password\":\"\",\"clearable\":\"\",\"autocomplete\":\"off\"},model:{value:(_vm.addAccountForm.repass),callback:function ($$v) {_vm.$set(_vm.addAccountForm, \"repass\", $$v)},expression:\"addAccountForm.repass\"}})],1),_c('el-form-item',{attrs:{\"label\":\"Work Order\"}},[_c('el-switch',{staticStyle:{\"float\":\"left\",\"margin-top\":\"10px\"},model:{value:(_vm.addAccountForm.workorder),callback:function ($$v) {_vm.$set(_vm.addAccountForm, \"workorder\", $$v)},expression:\"addAccountForm.workorder\"}})],1),_c('el-form-item',{attrs:{\"label\":\"\"}},[_c('el-button',{staticStyle:{\"float\":\"left\"},attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.addUser()}}},[_vm._v(\"Submit\")]),_c('el-button',{staticStyle:{\"float\":\"left\"},attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.addAccountDialogVisible = false}}},[_vm._v(\"Cancel\")])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AccountList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AccountList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountList.vue?vue&type=template&id=2b305bf8&scoped=true&\"\nimport script from \"./AccountList.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b305bf8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"stat\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'stat', 'stat_address' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"stat\",\"active\":\"stat_address\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-card',[_c('ve-map',{attrs:{\"data\":_vm.dataChina,\"settings\":_vm.chartSettingsChina,\"extend\":_vm.chartExtend,\"events\":_vm.chartEvents,\"width\":\"1000px\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatAddress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatAddress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatAddress.vue?vue&type=template&id=350e9004&scoped=true&\"\nimport script from \"./StatAddress.vue?vue&type=script&lang=js&\"\nexport * from \"./StatAddress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"350e9004\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"license\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'license', 'license_recycle_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"license\",\"active\":\"license_recycle_list\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"RecycleID\"},model:{value:(_vm.search.recycleID),callback:function ($$v) {_vm.$set(_vm.search, \"recycleID\", $$v)},expression:\"search.recycleID\"}})],1),_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"LicenseID\"},model:{value:(_vm.search.licenseID),callback:function ($$v) {_vm.$set(_vm.search, \"licenseID\", $$v)},expression:\"search.licenseID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"SN\"},model:{value:(_vm.search.sn),callback:function ($$v) {_vm.$set(_vm.search, \"sn\", $$v)},expression:\"search.sn\"}})],1),_c('el-form-item',[_c('el-input',{staticClass:\"search-input-m\",attrs:{\"clearable\":\"\",\"placeholder\":\"MAC\"},model:{value:(_vm.search.mac),callback:function ($$v) {_vm.$set(_vm.search, \"mac\", $$v)},expression:\"search.mac\"}})],1),_c('el-form-item',[_c('el-input',{staticClass:\"search-input-m\",attrs:{\"clearable\":\"\",\"placeholder\":\"Operator\"},model:{value:(_vm.search.operator),callback:function ($$v) {_vm.$set(_vm.search, \"operator\", $$v)},expression:\"search.operator\"}})],1),_c('el-form-item',[_c('el-date-picker',{attrs:{\"value-format\":\"timestamp\",\"placeholder\":\"OperateDate\"},model:{value:(_vm.search.operateDate),callback:function ($$v) {_vm.$set(_vm.search, \"operateDate\", $$v)},expression:\"search.operateDate\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"recycleID\",\"label\":\"RecycleID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"licenseID\",\"label\":\"LicenseID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"sn\",\"label\":\"SN\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"mac\",\"label\":\"MAC\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"operator\",\"label\":\"Operator\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"operateDate\",\"label\":\"OperateDate\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.operateDate)))]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./LicenseRecycleList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./LicenseRecycleList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LicenseRecycleList.vue?vue&type=template&id=74ae26fd&scoped=true&\"\nimport script from \"./LicenseRecycleList.vue?vue&type=script&lang=js&\"\nexport * from \"./LicenseRecycleList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74ae26fd\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'device_shadow' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"device_shadow\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t('deviceShadow.device')))]),_c('div',{staticClass:\"total-wrap\"},[_c('el-select',{staticStyle:{\"margin-top\":\"7px\"},attrs:{\"size\":\"medium\",\"placeholder\":_vm.$t('deviceShadow.allTp'),\"filterable\":\"\",\"clearable\":\"\",\"loading\":_vm.selectLoading},on:{\"change\":function($event){return _vm.getList('search')}},model:{value:(_vm.search.tp),callback:function ($$v) {_vm.$set(_vm.search, \"tp\", $$v)},expression:\"search.tp\"}},_vm._l((_vm.tpList),function(item){return _c('el-option',{key:item,attrs:{\"value\":item,\"label\":item}})}),1),_c('div',{staticClass:\"num-box\"},[_c('div',{staticClass:\"total-name\"},[_vm._v(_vm._s(_vm.$t('deviceShadow.totalDevice')))]),_c('i',{staticClass:\"el-icon-question\"}),_c('div',{staticClass:\"total-num\"},[_vm._v(_vm._s(_vm.deviceNums.allDeviceTotal))])]),_c('div',{staticClass:\"num-box\"},[_c('div',{staticClass:\"total-status-blue\"}),_c('div',{staticClass:\"total-name\"},[_vm._v(_vm._s(_vm.$t('deviceShadow.activateDevice')))]),_c('i',{staticClass:\"el-icon-question\"}),_c('div',{staticClass:\"total-num\"},[_vm._v(_vm._s(_vm.deviceNums.activeDeviceTotal))])]),_c('div',{staticClass:\"num-box\"},[_c('div',{staticClass:\"total-status-blue total-status-green \"}),_c('div',{staticClass:\"total-name\"},[_vm._v(_vm._s(_vm.$t('deviceShadow.currentlyOnline')))]),_c('i',{staticClass:\"el-icon-question\"}),_c('div',{staticClass:\"total-num\"},[_vm._v(_vm._s(_vm.deviceNums.onlineNum))])])],1),_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceShadow.deviceId')},model:{value:(_vm.search.deviceID),callback:function ($$v) {_vm.$set(_vm.search, \"deviceID\", $$v)},expression:\"search.deviceID\"}})],1),_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('deviceShadow.snNum')},model:{value:(_vm.search.snNum),callback:function ($$v) {_vm.$set(_vm.search, \"snNum\", $$v)},expression:\"search.snNum\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.getList('search')}}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.cleanSearch_getList()}}})],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceID\",\"label\":_vm.$t('deviceShadow.deviceId')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceName\",\"label\":_vm.$t('deviceShadow.deviceName'),\"formatter\":_vm.$formatterCellValue}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"snNum\",\"label\":_vm.$t('deviceShadow.snNum'),\"formatter\":_vm.$formatterCellValue}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"tp\",\"label\":_vm.$t('deviceShadow.tp'),\"formatter\":_vm.$formatterCellValue}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"node\",\"label\":_vm.$t('deviceShadow.nodeStatus'),\"formatter\":_vm.$formatterCellValue}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"status\",\"label\":_vm.$t('deviceShadow.status'),\"formatter\":_vm.$formatterCellValue}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"lastOnline\",\"label\":_vm.$t('deviceShadow.lastOnlineTime')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.lastOnline)?_c('span',[_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.lastOnline)))]):_c('span',[_vm._v(\"--\")])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"label\":_vm.$t('deviceShadow.operate')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\"},on:{\"click\":function($event){return _vm.toDeviceDetail(scope.row)}}},[_vm._v(_vm._s(_vm.$t('deviceShadow.check'))+\"\\n \")])]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 50, 100, 200],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.getList,\"current-change\":_vm.getList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceShadow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceShadow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceShadow.vue?vue&type=template&id=ee8bd3fa&scoped=true&\"\nimport script from \"./DeviceShadow.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceShadow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DeviceShadow.vue?vue&type=style&index=0&id=ee8bd3fa&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ee8bd3fa\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./TwoWayConfig.vue?vue&type=style&index=0&id=b85d91aa&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"license\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'license', 'packing', _vm.table ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"license\",\"active\":(\"packing/\" + _vm.table)}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_vm._l((_vm.search_columns),function(c){return _c('el-form-item',{key:c},[_c('el-input',{staticClass:\"search-input-m\",attrs:{\"clearable\":\"\",\"placeholder\":c},model:{value:(_vm.search[c]),callback:function ($$v) {_vm.$set(_vm.search, c, $$v)},expression:\"search[c]\"}})],1)}),_c('el-form-item',[_c('el-date-picker',{attrs:{\"value-format\":\"yyyyMMdd\",\"placeholder\":\"create_date\"},model:{value:(_vm.search.createDate),callback:function ($$v) {_vm.$set(_vm.search, \"createDate\", $$v)},expression:\"search.createDate\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1),_c('el-form-item',[(this.table == 'license_validate' && this.power_1261)?_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.batchDeleteLicenseIsvalidateDialog= true}}},[_vm._v(\"Batch Delete isValidate\")]):_vm._e()],1),_c('el-form-item',[(this.table == 'third_license_validate' && this.power_1261)?_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.batchDeleteLicenseIsvalidateDialog= true}}},[_vm._v(\"Batch Delete ThirdLicense isValidate\")]):_vm._e()],1)],2),(this.table == 'license_pack' || this.table == 'third_license_pack')?_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.findPackingDialog= true}}},[_vm._v(\"Export PackInfo \")])],1)],1):_vm._e(),_c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"mini\",\"id\":\"outTable\"}},_vm._l((_vm.columns),function(c){return _c('el-table-column',{key:c,attrs:{\"align\":\"center\",\"label\":c},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatColumn\")(c,scope.row[c])))]}}],null,true)})}),1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[20, 50, 100],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}),_c('el-dialog',{attrs:{\"title\":_vm.$t('factoryList.deleteLicensePackInfo'),\"visible\":_vm.deleteLicensePackBySnDialog,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.deleteLicensePackBySnDialog=$event}}},[_c('el-form',{attrs:{\"inline\":\"\",\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('factoryList.sn')}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"SN\"},model:{value:(_vm.search.sn),callback:function ($$v) {_vm.$set(_vm.search, \"sn\", $$v)},expression:\"search.sn\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.deleteLoading},on:{\"click\":_vm.deleteLicenseBySn}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){_vm.deleteLicensePackBySnDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('factoryList.deleteLicensePackInfo'),\"visible\":_vm.deleteLicensePackDialog,\"width\":\"750px\"},on:{\"update:visible\":function($event){_vm.deleteLicensePackDialog=$event}}},[_c('el-form',{attrs:{\"inline\":\"\",\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('factoryList.workSheet')}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"workSheet\"},model:{value:(_vm.search.work_sheet),callback:function ($$v) {_vm.$set(_vm.search, \"work_sheet\", $$v)},expression:\"search.work_sheet\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('factoryList.packingId')}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"packingId\"},model:{value:(_vm.search.packing_id),callback:function ($$v) {_vm.$set(_vm.search, \"packing_id\", $$v)},expression:\"search.packing_id\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.deleteLoading},on:{\"click\":_vm.deleteLicense}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){_vm.deleteLicensePackDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('factoryList.batchFindLicenseIsSuccess'),\"visible\":_vm.batchFindLicenseIsSuccessDialog,\"width\":\"550px\"},on:{\"update:visible\":function($event){_vm.batchFindLicenseIsSuccessDialog=$event}}},[_c('el-form',{ref:\"form\",staticClass:\"edit-input\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"inline\":\"\"}},[_c('el-form-item',{staticClass:\"upload_class\",attrs:{\"enctype\":\"multipart/form-data\",\"label-width\":\"100px\"}},[_c('el-upload',{ref:\"uploadForFind\",staticClass:\"upload-demo\",attrs:{\"action\":_vm.doupload,\"before-upload\":_vm.beforeUploadForFindIsSuccess,\"multiple\":\"\",\"limit\":1,\"auto-upload\":false}},[_c('el-button',{attrs:{\"slot\":\"trigger\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(_vm._s(_vm.$t('devicePublish.selectFile')))]),_c('div',{staticClass:\"el-upload__tip text_not_exceed\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(\"Excel contain one column is sn.\")])],1)],1),_c('div',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.downLoading},on:{\"click\":_vm.submitForLicenseIsSuccess}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){_vm.batchFindLicenseIsSuccessDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('factoryList.batchFindLicenseIsValidate'),\"visible\":_vm.batchFindLicenseIsValidateDialog,\"width\":\"550px\"},on:{\"update:visible\":function($event){_vm.batchFindLicenseIsValidateDialog=$event}}},[_c('el-form',{ref:\"form\",staticClass:\"edit-input\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"inline\":\"\"}},[_c('el-form-item',{staticClass:\"upload_class\",attrs:{\"enctype\":\"multipart/form-data\",\"label-width\":\"100px\"}},[_c('el-upload',{ref:\"uploadForFind\",staticClass:\"upload-demo\",attrs:{\"action\":_vm.doupload,\"before-upload\":_vm.beforeUploadForFindIsValidate,\"multiple\":\"\",\"limit\":1,\"auto-upload\":false}},[_c('el-button',{attrs:{\"slot\":\"trigger\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(_vm._s(_vm.$t('devicePublish.selectFile')))]),_c('div',{staticClass:\"el-upload__tip text_not_exceed\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(\"Excel contain one column is sn.\")])],1)],1),_c('div',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.downLoading},on:{\"click\":_vm.submitForLicenseIsValidate}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){_vm.batchFindLicenseIsValidateDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('factoryList.batchFindThirdLicenseIsSuccess'),\"visible\":_vm.batchFindThirdLicenseIsSuccessDialog,\"width\":\"550px\"},on:{\"update:visible\":function($event){_vm.batchFindThirdLicenseIsSuccessDialog=$event}}},[_c('el-form',{ref:\"form\",staticClass:\"edit-input\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"inline\":\"\"}},[_c('el-form-item',{staticClass:\"upload_class\",attrs:{\"enctype\":\"multipart/form-data\",\"label-width\":\"100px\"}},[_c('el-upload',{ref:\"uploadForFind\",staticClass:\"upload-demo\",attrs:{\"action\":_vm.doupload,\"before-upload\":_vm.beforeUploadForFindIsSuccess,\"multiple\":\"\",\"limit\":1,\"auto-upload\":false}},[_c('el-button',{attrs:{\"slot\":\"trigger\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(_vm._s(_vm.$t('devicePublish.selectFile')))]),_c('div',{staticClass:\"el-upload__tip text_not_exceed\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(\"Excel contain one column is sn.\")])],1)],1),_c('div',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.downLoading},on:{\"click\":_vm.submitForLicenseIsSuccess}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){_vm.batchFindThirdLicenseIsSuccessDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('factoryList.deleteThirdLicensePackInfo'),\"visible\":_vm.deleteThirdLicenseBySnDialog,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.deleteThirdLicenseBySnDialog=$event}}},[_c('el-form',{attrs:{\"inline\":\"\",\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('factoryList.sn')}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"SN\"},model:{value:(_vm.search.sn),callback:function ($$v) {_vm.$set(_vm.search, \"sn\", $$v)},expression:\"search.sn\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.deleteLoading},on:{\"click\":_vm.deletetuyaBySn}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){_vm.deleteThirdLicenseBySnDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('factoryList.deleteThirdLicensePackInfo'),\"visible\":_vm.deleteThirdLicenseDialog,\"width\":\"750px\"},on:{\"update:visible\":function($event){_vm.deleteThirdLicenseDialog=$event}}},[_c('el-form',{attrs:{\"inline\":\"\",\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('factoryList.workSheet')}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"workSheet\"},model:{value:(_vm.search.workSheet),callback:function ($$v) {_vm.$set(_vm.search, \"workSheet\", $$v)},expression:\"search.workSheet\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('factoryList.packingId')}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"packingId\"},model:{value:(_vm.search.packingId),callback:function ($$v) {_vm.$set(_vm.search, \"packingId\", $$v)},expression:\"search.packingId\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.deleteLoading},on:{\"click\":_vm.deletetuya}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){_vm.deleteThirdLicenseDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('factoryList.batchFindThirdLicenseIsValidate'),\"visible\":_vm.batchFindThirdLicenseIsValidateDialog,\"width\":\"550px\"},on:{\"update:visible\":function($event){_vm.batchFindThirdLicenseIsValidateDialog=$event}}},[_c('el-form',{ref:\"form\",staticClass:\"edit-input\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"inline\":\"\"}},[_c('el-form-item',{staticClass:\"upload_class\",attrs:{\"enctype\":\"multipart/form-data\",\"label-width\":\"100px\"}},[_c('el-upload',{ref:\"uploadForFind\",staticClass:\"upload-demo\",attrs:{\"action\":_vm.doupload,\"before-upload\":_vm.beforeUploadForFindIsValidate,\"multiple\":\"\",\"limit\":1,\"auto-upload\":false}},[_c('el-button',{attrs:{\"slot\":\"trigger\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(_vm._s(_vm.$t('devicePublish.selectFile')))]),_c('div',{staticClass:\"el-upload__tip text_not_exceed\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(\"Excel contain one column is sn.\")])],1)],1),_c('div',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.downLoading},on:{\"click\":_vm.submitForLicenseIsValidate}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){_vm.batchFindThirdLicenseIsValidateDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('factoryList.batchDeleteIsValidate'),\"visible\":_vm.batchDeleteLicenseIsvalidateDialog,\"width\":\"550px\"},on:{\"update:visible\":function($event){_vm.batchDeleteLicenseIsvalidateDialog=$event}}},[_c('el-form',{ref:\"form\",staticClass:\"edit-input\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"inline\":\"\"}},[_c('el-form-item',{staticClass:\"upload_class\",attrs:{\"enctype\":\"multipart/form-data\",\"label-width\":\"100px\"}},[_c('el-upload',{ref:\"uploadForDelete\",staticClass:\"upload-demo\",attrs:{\"action\":_vm.doupload,\"before-upload\":_vm.beforeUploadForDelete,\"multiple\":\"\",\"limit\":1,\"auto-upload\":false}},[_c('el-button',{attrs:{\"slot\":\"trigger\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(_vm._s(_vm.$t('devicePublish.selectFile')))]),_c('div',{staticClass:\"el-upload__tip text_not_exceed\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(\"excel contain one column is sn\")])],1)],1),(_vm.noValidateSns && '' !== _vm.noValidateSns && '[]' !== JSON.stringify(_vm.noValidateSns))?_c('div',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"\\n These sn not exist or not validated : \"),_c('br'),_vm._v(\"\\n \"+_vm._s(JSON.stringify(_vm.noValidateSns))+\"\\n \")]):_vm._e(),_c('br'),_c('div',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.deleteLoading},on:{\"click\":_vm.submitForDeleteLicenseIsvalidate}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){_vm.batchDeleteLicenseIsvalidateDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('factoryList.downloadExcel'),\"visible\":_vm.findPackingDialog,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.findPackingDialog=$event}}},[_c('el-form',{attrs:{\"inline\":\"\",\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('factoryList.workSheet')}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"workSheet\"},model:{value:(_vm.workSheet),callback:function ($$v) {_vm.workSheet=$$v},expression:\"workSheet\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.downLoading},on:{\"click\":function($event){return _vm.downloadPacking()}}},[_vm._v(_vm._s(_vm.$t('download')))]),_c('el-button',{on:{\"click\":function($event){_vm.findPackingDialog = false}}},[_vm._v(_vm._s(_vm.$t('cancel')))])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Packing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Packing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Packing.vue?vue&type=template&id=5f4336d2&scoped=true&\"\nimport script from \"./Packing.vue?vue&type=script&lang=js&\"\nexport * from \"./Packing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Packing.vue?vue&type=style&index=0&id=5f4336d2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5f4336d2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"license\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'license', 'data_import' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"license\",\"active\":\"data_import\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"LicenseID\"},model:{value:(_vm.search.licenseID),callback:function ($$v) {_vm.$set(_vm.search, \"licenseID\", $$v)},expression:\"search.licenseID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"ServerMac\"},model:{value:(_vm.search.serverMac),callback:function ($$v) {_vm.$set(_vm.search, \"serverMac\", $$v)},expression:\"search.serverMac\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"DeviceMac\"},model:{value:(_vm.search.deviceMac),callback:function ($$v) {_vm.$set(_vm.search, \"deviceMac\", $$v)},expression:\"search.deviceMac\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"snNum\",\"label\":\"LicenseID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"serverMac\",\"label\":\"ServerMac\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceMac\",\"label\":\"DeviceMac\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":\"CreateDate\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DataImport.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DataImport.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DataImport.vue?vue&type=template&id=550d65d2&scoped=true&\"\nimport script from \"./DataImport.vue?vue&type=script&lang=js&\"\nexport * from \"./DataImport.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"550d65d2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'app_publish' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"app_publish\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appPublish.versionName')},model:{value:(_vm.search.versionName),callback:function ($$v) {_vm.$set(_vm.search, \"versionName\", $$v)},expression:\"search.versionName\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appPublish.versionType')},model:{value:(_vm.search.versionType),callback:function ($$v) {_vm.$set(_vm.search, \"versionType\", $$v)},expression:\"search.versionType\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.open}},[_vm._v(_vm._s(_vm.$t('appPublish.publishApp')))])],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('el-form',{staticClass:\"table-expand-from\",attrs:{\"size\":\"mini\",\"inline\":\"\"}},_vm._l((_vm.detailList),function(item,index){return _c('el-form-item',{key:index,attrs:{\"label\":_vm.$t('appPublish.' + item)}},[_c('span',[_vm._v(_vm._s(props.row[item]))])])}),1)]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"versionName\",\"label\":_vm.$t('appPublish.versionName')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"versionType\",\"label\":_vm.$t('appPublish.versionType')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"versionUrl\",\"label\":_vm.$t('appPublish.versionUrl')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDates\",\"label\":_vm.$t('appPublish.createDates')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDates)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"upgradeFlag\",\"label\":_vm.$t('appPublish.upgradeFlag')}})],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('appPublish.publishApp'),\"visible\":_vm.editDialogVisible,\"width\":\"750px\"},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{ref:\"form\",staticClass:\"edit-input\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"inline\":\"\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.en'),\"prop\":\"en\",\"label-width\":\"100px\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.en),callback:function ($$v) {_vm.$set(_vm.form, \"en\", $$v)},expression:\"form.en\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.zh'),\"prop\":\"zh\",\"label-width\":\"110px\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.zh),callback:function ($$v) {_vm.$set(_vm.form, \"zh\", $$v)},expression:\"form.zh\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.de'),\"prop\":\"de\",\"label-width\":\"110px\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.de),callback:function ($$v) {_vm.$set(_vm.form, \"de\", $$v)},expression:\"form.de\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.fr'),\"prop\":\"fr\",\"label-width\":\"110px\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.fr),callback:function ($$v) {_vm.$set(_vm.form, \"fr\", $$v)},expression:\"form.fr\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.pl'),\"prop\":\"pl\",\"label-width\":\"110px\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.pl),callback:function ($$v) {_vm.$set(_vm.form, \"pl\", $$v)},expression:\"form.pl\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.es'),\"prop\":\"es\",\"label-width\":\"110px\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.es),callback:function ($$v) {_vm.$set(_vm.form, \"es\", $$v)},expression:\"form.es\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.ja'),\"prop\":\"ja\",\"label-width\":\"110px\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.ja),callback:function ($$v) {_vm.$set(_vm.form, \"ja\", $$v)},expression:\"form.ja\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.ko'),\"prop\":\"ko\",\"label-width\":\"110px\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.ko),callback:function ($$v) {_vm.$set(_vm.form, \"ko\", $$v)},expression:\"form.ko\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.versionName'),\"prop\":\"versionName\",\"label-width\":\"110px\"}},[_c('el-input',{model:{value:(_vm.form.versionName),callback:function ($$v) {_vm.$set(_vm.form, \"versionName\", $$v)},expression:\"form.versionName\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.versionCode'),\"prop\":\"versionCode\",\"label-width\":\"110px\"}},[_c('el-input',{model:{value:(_vm.form.versionCode),callback:function ($$v) {_vm.$set(_vm.form, \"versionCode\", $$v)},expression:\"form.versionCode\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.versionType'),\"prop\":\"versionType\",\"label-width\":\"110px\"}},[_c('el-input',{model:{value:(_vm.form.versionType),callback:function ($$v) {_vm.$set(_vm.form, \"versionType\", $$v)},expression:\"form.versionType\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('appPublish.upgradeFlag'),\"prop\":\"upgradeFlag\",\"label-width\":\"110px\"}},[_c('el-switch',{model:{value:(_vm.form.upgradeFlag),callback:function ($$v) {_vm.$set(_vm.form, \"upgradeFlag\", $$v)},expression:\"form.upgradeFlag\"}})],1),_c('el-form-item',{staticClass:\"upload_class\",attrs:{\"label\":_vm.$t('appPublish.file'),\"enctype\":\"multipart/form-data\",\"label-width\":\"110px\"}},[_c('el-upload',{ref:\"upload\",staticClass:\"upload-demo\",attrs:{\"action\":_vm.doUpload,\"before-upload\":_vm.beforeUpload,\"multiple\":\"\",\"limit\":1,\"auto-upload\":false}},[_c('el-button',{attrs:{\"slot\":\"trigger\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(_vm._s(_vm.$t('appPublish.selectFile')))])],1)],1),_c('el-form-item'),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.onSubmit('form')}}},[_vm._v(_vm._s(_vm.$t('appPublish.create')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('form')}}},[_vm._v(_vm._s(_vm.$t('appPublish.reset')))])],1)],1)],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppPublish.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppPublish.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppPublish.vue?vue&type=template&id=290ea09d&scoped=true&\"\nimport script from \"./AppPublish.vue?vue&type=script&lang=js&\"\nexport * from \"./AppPublish.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppPublish.vue?vue&type=style&index=0&id=290ea09d&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"290ea09d\",\n null\n \n)\n\nexport default component.exports","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"account\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'account', 'account_group' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"account\",\"active\":\"account_group\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[(_vm.localOrHZ && _vm.$store.getters.hasPower(1142))?_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\"},on:{\"click\":function($event){return _vm.add()}}})],1)],1):_vm._e(),_c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"mini\",\"stripe\":\"\"},on:{\"cell-mouse-enter\":function (row){this$1.enter.id=row.id;}}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"Name\"}}),(_vm.localOrHZ && _vm.$store.getters.hasAnyPowers([1133,1134]))?_c('el-table-column',{attrs:{\"align\":\"left\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(_vm.enter.id===scope.row.id)?_c('el-button-group',[(_vm.$store.getters.hasPower(1143))?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.edit(scope.row)}}}):_vm._e(),(_vm.$store.getters.hasPower(1144))?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.dele(scope.row)}}}):_vm._e()],1):_vm._e()]}}],null,false,2546469612)}):_vm._e()],1)],1),_c('el-dialog',{attrs:{\"title\":\"Add Account Group\",\"visible\":_vm.addDialogVisible,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.addDialogVisible=$event}}},[_c('el-form',{ref:\"add_form\",attrs:{\"model\":_vm.addData,\"rules\":_vm.add_rules,\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"Name\",\"prop\":\"name\"}},[_c('el-input',{model:{value:(_vm.addData.name),callback:function ($$v) {_vm.$set(_vm.addData, \"name\", $$v)},expression:\"addData.name\"}})],1)],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.addDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveAdd()}}},[_vm._v(\"Confirm\")])],1)],1),_c('el-dialog',{attrs:{\"title\":\"Edit Account Group\",\"visible\":_vm.editDialogVisible,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{ref:\"edit_form\",attrs:{\"model\":_vm.editData,\"rules\":_vm.add_rules,\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"Name\",\"prop\":\"name\"}},[_c('el-input',{model:{value:(_vm.editData.name),callback:function ($$v) {_vm.$set(_vm.editData, \"name\", $$v)},expression:\"editData.name\"}})],1)],1),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.editDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveEdit()}}},[_vm._v(\"Confirm\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AccountGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountGroup.vue?vue&type=template&id=410b8a7a&scoped=true&\"\nimport script from \"./AccountGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"410b8a7a\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PPSInternational.vue?vue&type=style&index=0&id=073a2b56&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"customerService\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'customerService', 'common_words' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"customerService\",\"active\":\"common_words\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{ref:\"search\",staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}},[_c('el-form-item',{attrs:{\"prop\":\"appLngType\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('commonWords.appLngType')},model:{value:(_vm.search.appLngType),callback:function ($$v) {_vm.$set(_vm.search, \"appLngType\", $$v)},expression:\"search.appLngType\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.getList()}}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.cleanSearch_getList()}}})],1),(_vm.power_13051)?_c('el-form-item',{staticStyle:{\"float\":\"right\"}},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.cleanForm_add}},[_vm._v(_vm._s(_vm.$t('commonWords.addWords')))])],1):_vm._e()],1),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"oemId\",\"label\":\"OEM ID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"appLngType\",\"label\":_vm.$t('commonWords.appLngType')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"word\",\"label\":_vm.$t('commonWords.word')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createTime\",\"label\":_vm.$t('commonWords.createTime')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(scope.row.createTime)?_c('span',[_vm._v(_vm._s(_vm.$formatDate(scope.row.createTime)))]):_c('span',[_vm._v(\"--\")])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"label\":_vm.$t('commonWords.option')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(_vm.power_13052)?_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\"},on:{\"click\":function($event){return _vm.changeForm(scope.row)}}},[_vm._v(_vm._s(_vm.$t('edit')))]):_vm._e(),(_vm.power_13053)?_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\"},on:{\"click\":function($event){return _vm.remove(scope.row.id)}}},[_vm._v(_vm._s(_vm.$t('delete')))]):_vm._e()]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 50, 100, 200],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.getList,\"current-change\":_vm.getList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}),_c('el-drawer',{attrs:{\"title\":_vm.form.id ? _vm.$t('commonWords.updateWords'):_vm.$t('commonWords.addWords'),\"visible\":_vm.addDrawer},on:{\"update:visible\":function($event){_vm.addDrawer=$event},\"closed\":function($event){return _vm.resetForm('form')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.formLoading),expression:\"formLoading\"}],ref:\"form\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"label-width\":\"150px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('commonWords.appLngType'),\"prop\":\"appLngType\"}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('commonWords.appLngType')},model:{value:(_vm.form.appLngType),callback:function ($$v) {_vm.$set(_vm.form, \"appLngType\", $$v)},expression:\"form.appLngType\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('commonWords.word'),\"prop\":\"word\"}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('commonWords.word')},model:{value:(_vm.form.word),callback:function ($$v) {_vm.$set(_vm.form, \"word\", $$v)},expression:\"form.word\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submit('form')}}},[_vm._v(_vm._s(_vm.$t('submit')))])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./CommonWords.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./CommonWords.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CommonWords.vue?vue&type=template&id=a9aed5d0&scoped=true&\"\nimport script from \"./CommonWords.vue?vue&type=script&lang=js&\"\nexport * from \"./CommonWords.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CommonWords.vue?vue&type=style&index=0&id=a9aed5d0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a9aed5d0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"border\":\"1px solid rgba(197, 197, 197, 0.4)\",\"border-radius\":\"15px\",\"width\":\"600px\",\"text-align\":\"left\"}},[_c('table',{staticStyle:{\"border-collapse\":\"collapse\"}},[_c('tr',{staticStyle:{\"height\":\"32px\",\"width\":\"465px\"}},[_c('td',{staticStyle:{\"padding\":\"20px 0 0 40px\",\"height\":\"42px\"},attrs:{\"colspan\":\"2\"}},[_c('strong',{staticStyle:{\"font-size\":\"20px\",\"color\":\"#2d3039\"}},[_vm._v(_vm._s(_vm.areaString))])])]),_vm._m(0),_c('tr',{staticStyle:{\"height\":\"32px\",\"width\":\"465px\"}},[_c('td',{staticStyle:{\"padding\":\"0 0 0 40px\",\"height\":\"32px\",\"font-size\":\"13px\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"用户\"),_c('b',{staticStyle:{\"color\":\"#438bd3\"}},[_vm._v(_vm._s(_vm.account))]),_vm._v(\"(\"+_vm._s(_vm.userID)+\")反馈\\n \")])]),_vm._m(1),_c('tr',[_c('td',{staticStyle:{\"padding\":\"0 40px 0 40px\"},attrs:{\"colspan\":\"2\"}},[_c('table',{staticStyle:{\"border\":\"1px solid rgba(197, 197, 197, 0)\",\"border-radius\":\"15px\",\"background-color\":\"#f0f4f7\"},attrs:{\"border\":\"0\",\"cellpadding\":\"0\",\"cellspacing\":\"0\",\"width\":\"520px\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"width\":\"20px\"}}),_c('td',{staticStyle:{\"width\":\"375px\"},attrs:{\"colspan\":\"2\"}},[_c('p',{staticStyle:{\"padding\":\"10px 0\",\"color\":\"#6d6d6d\",\"font-size\":\"14px\",\"text-indent\":\"2em\",\"line-height\":\"1.5em\"}},[_vm._v(\"\\n \"+_vm._s(_vm.content))])]),_c('td',{attrs:{\"width\":\"15px\"}})])])])])]),_vm._m(2),_c('tr',[_c('td',{staticStyle:{\"width\":\"100px\",\"padding\":\"0 30px 0 170px\"},attrs:{\"height\":\"20px\"}},[_c('div',{staticStyle:{\"text-align\":\"center\",\"box-shadow\":\"-1px 3px 9px 1px #438bd3\",\"background-color\":\"#438bd3\",\"border\":\"1px solid rgba(197, 197, 197, 0)\",\"border-radius\":\"15px\",\"padding\":\"5px 15px\",\"outline\":\"none\"}},[_c('a',{staticStyle:{\"font-size\":\"13px\",\"text-decoration\":\"none\",\"color\":\"#FFFFFF\"},attrs:{\"target\":\"_blank\",\"href\":(\"https://translate.google.cn/?sl=auto&tl=zh-CN&text=\" + _vm.urlencodedContent + \"&op=translate\")}},[_vm._v(\"翻译成中文\")])])]),_c('td',{staticStyle:{\"width\":\"100px\",\"padding\":\"0 170px 0 30px\"},attrs:{\"height\":\"20px\"}},[_c('div',{staticStyle:{\"text-align\":\"center\",\"box-shadow\":\"-1px 3px 9px 1px #438bd3\",\"background-color\":\"#438bd3\",\"border\":\"1px solid rgba(197, 197, 197, 0)\",\"border-radius\":\"15px\",\"padding\":\"5px 15px\",\"outline\":\"none\"}},[_c('a',{staticStyle:{\"font-size\":\"13px\",\"text-decoration\":\"none\",\"color\":\"#FFFFFF\"},attrs:{\"target\":\"_blank\",\"href\":(\"https://translate.google.cn/?sl=auto&tl=en&text=\" + _vm.urlencodedContent + \"&op=translate\")}},[_vm._v(\"翻译成英文\")])])])]),_vm._m(3),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"0 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#2d3039\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n 类型/Type:\"+_vm._s(_vm.getAllType(_vm.type))+\"\\n \")])]),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"8px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#2d3039\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n 应用/APP:\"+_vm._s(_vm.sourceApp)+\"\\n \")])]),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"8px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#2d3039\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n 手机/Phone:\"+_vm._s(_vm.phoneType)+\"\\n \")])]),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"8px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#2d3039\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n 灯状态/Light:\"+_vm._s(_vm.lightStatus)+\"\\n \")])]),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"8px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#2d3039\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n 设备号/SN:\"+_vm._s(_vm.sn)+\"\\n \")])]),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"8px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#2d3039\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n App版本/AppVer:\"+_vm._s(_vm.appVer)+\"\\n \")])]),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"8px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#2d3039\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n 联系人/Contact:\"),_c('a',{staticStyle:{\"color\":\"#438bd3\"},attrs:{\"href\":(\"mailto: \" + _vm.contactInfo)}},[_vm._v(_vm._s(_vm.contactInfo))])])]),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"align-items\":\"center\",\"padding\":\"8px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#2d3039\"},attrs:{\"colspan\":\"2\"}},[_c('span',[_vm._v(\"附件:\")]),_vm._l((_vm.files),function(file){return _c('el-image',{key:file,staticStyle:{\"width\":\"80px\",\"height\":\"80px\"},attrs:{\"fit\":\"cover\",\"src\":file,\"previewSrcList\":_vm.files}})})],2)]),_vm._m(4),_c('tr',{attrs:{\"border\":\"0\"}},[_c('td',{staticStyle:{\"width\":\"100%\",\"padding\":\"0\"},attrs:{\"colspan\":\"2\"}},[_c('table',{staticStyle:{\"width\":\"100%\",\"border-collapse\":\"collapse\",\"background-color\":\"#f0f4f7\",\"border-bottom-left-radius\":\"15px\",\"border-bottom-right-radius\":\"15px\"}},[_c('tbody',[_vm._m(5),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"2px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#6d6d6d\"},attrs:{\"colspan\":\"2\"}},_vm._l((_vm.devices),function(device){return _c('div',{key:device.sn},[_c('span',{staticStyle:{\"display\":\"inline-block\",\"width\":\"100px\"}},[_vm._v(\"Type: \"+_vm._s(device.type))]),_c('span',{staticStyle:{\"display\":\"inline-block\",\"width\":\"170px\"}},[_vm._v(\"Sn: \"+_vm._s(device.sn))]),_c('span',[_vm._v(\"Version: \"+_vm._s(device.version))])])}),0)]),_vm._m(6),_c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"2px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#6d6d6d\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n \"+_vm._s(_vm.mark)+\"\\n \")])]),_vm._m(7)])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{attrs:{\"colspan\":\"2\",\"height\":\"5px\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{attrs:{\"colspan\":\"2\",\"height\":\"10px\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{attrs:{\"colspan\":\"2\",\"height\":\"20px\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{attrs:{\"colspan\":\"2\",\"height\":\"40px\"}},[_c('div',{staticStyle:{\"border-bottom\":\"#C5C5C5 1px dashed\",\"margin\":\"0 15px\"}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{attrs:{\"colspan\":\"2\",\"height\":\"10px\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"15px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#6d6d6d\"},attrs:{\"colspan\":\"2\"}},[_c('b',[_vm._v(\"设备信息/device:\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticStyle:{\"vertical-align\":\"top\"}},[_c('td',{staticStyle:{\"width\":\"100px\",\"vertical-align\":\"top\",\"padding\":\"8px 0 0 40px\",\"font-size\":\"12px\",\"color\":\"#6d6d6d\"},attrs:{\"colspan\":\"2\"}},[_c('b',[_vm._v(\"开发信息/devInfo:\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{attrs:{\"colspan\":\"2\",\"height\":\"15px\"}})])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./FeedbackContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./FeedbackContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FeedbackContent.vue?vue&type=template&id=5e2b6555&scoped=true&\"\nimport script from \"./FeedbackContent.vue?vue&type=script&lang=js&\"\nexport * from \"./FeedbackContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e2b6555\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceShadow.vue?vue&type=style&index=0&id=ee8bd3fa&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"account\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'account', 'project_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"account\",\"active\":\"project_list\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-m\",attrs:{\"clearable\":\"\",\"type\":\"number\",\"placeholder\":\"ID\"},model:{value:(_vm.search.id),callback:function ($$v) {_vm.$set(_vm.search, \"id\", $$v)},expression:\"search.id\"}},[_c('el-button',{attrs:{\"slot\":\"append\",\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList},slot:\"append\"})],1)],1)],1),_c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"mini\",\"stripe\":\"\"},on:{\"cell-mouse-enter\":_vm.mouse_enter}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"id\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"name\",\"label\":\"Name\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"at\",\"label\":\"At\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.at*1000)))]}}])}),(_vm.$store.getters.hasAnyPowers([ 1111, 1113 ]))?_c('el-table-column',{attrs:{\"align\":\"left\",\"width\":\"150px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return (_vm.enter.id===scope.row.id)?[(_vm.$store.getters.hasPower(1111))?_c('el-popover',{attrs:{\"placement\":\"right\",\"trigger\":\"manual\"},model:{value:(_vm.enter.popover),callback:function ($$v) {_vm.$set(_vm.enter, \"popover\", $$v)},expression:\"enter.popover\"}},[_c('el-button',{attrs:{\"slot\":\"reference\",\"size\":\"mini\",\"icon\":\"el-icon-user\"},on:{\"click\":function($event){return _vm.member()}},slot:\"reference\"}),(_vm.$store.getters.hasPower(1113))?_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"mini\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('span',[_vm._v(_vm._s(scope.row.name || scope.row.id)+\"'s Members\")])]),_c('el-form-item',[_c('el-select',{staticClass:\"search-input-l\",attrs:{\"remote\":\"\",\"filterable\":\"\",\"remote-method\":_vm.searchMembers,\"placeholder\":\"Account\"},model:{value:(_vm.addMemberId),callback:function ($$v) {_vm.addMemberId=$$v},expression:\"addMemberId\"}},_vm._l((_vm.searchedMembers),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1)],1),_c('el-form-item',[(_vm.localOrHZ)?_c('el-button',{attrs:{\"disabled\":!_vm.addMemberId},on:{\"click\":function($event){return _vm.addMember()}}},[_vm._v(\"Add\")]):_vm._e()],1)],1):_vm._e(),_c('el-button',{staticStyle:{\"float\":\"right\",\"margin\":\"0 -6px\"},attrs:{\"size\":\"mini\",\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.member()}}}),_c('el-table',{attrs:{\"data\":_vm.members,\"size\":\"mini\",\"height\":\"500px\"}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"ID\",\"width\":\"100px\"}}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"Member\",\"width\":\"200px\"}}),_c('el-table-column',{attrs:{\"prop\":\"at\",\"label\":\"At\",\"width\":\"150px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope2){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope2.row.at)))]}}],null,true)}),(_vm.$store.getters.hasPower(1113))?_c('el-table-column',{attrs:{\"align\":\"left\",\"width\":\"120px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope2){return [_c('el-button-group',[(_vm.localOrHZ)?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.editMember(scope2.row)}}}):_vm._e(),(_vm.localOrHZ)?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.deleMember(scope2.row)}}}):_vm._e()],1)]}}],null,true)}):_vm._e()],1)],1):_vm._e()]:undefined}}],null,true)}):_vm._e()],1),(_vm.total)?_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[20, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}):_vm._e(),_c('el-dialog',{attrs:{\"width\":\"500px\",\"title\":\"Edit Member Roles\",\"visible\":_vm.editMemberDialogVisible},on:{\"update:visible\":function($event){_vm.editMemberDialogVisible=$event}}},[_c('el-form',{attrs:{\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"Member\"}},[_c('el-input',{attrs:{\"disabled\":\"\"},model:{value:(_vm.editMemberRow.name),callback:function ($$v) {_vm.$set(_vm.editMemberRow, \"name\", $$v)},expression:\"editMemberRow.name\"}})],1),_c('el-form-item',{attrs:{\"label\":\"Project\"}},[_c('el-input',{attrs:{\"disabled\":\"\"},model:{value:(_vm.enter.name),callback:function ($$v) {_vm.$set(_vm.enter, \"name\", $$v)},expression:\"enter.name\"}})],1)],1),_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"multiple\":\"\"},model:{value:(_vm.editMember_roleList),callback:function ($$v) {_vm.editMember_roleList=$$v},expression:\"editMember_roleList\"}},_vm._l((_vm.roles),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.editMemberDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveEditMember()}}},[_vm._v(\"Confirm\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ProjectList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ProjectList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectList.vue?vue&type=template&id=36b4a7fe&scoped=true&\"\nimport script from \"./ProjectList.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"36b4a7fe\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'device_unbind' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"device_unbind\"}}),_c('el-main',[_c('el-card',{staticStyle:{\"width\":\"600px\",\"margin\":\"50px auto\"}},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(_vm._s(this.$t('deviceUnbind.title')))])]),_c('el-form',{ref:\"formValidate\",staticStyle:{\"margin-right\":\"20px\"},attrs:{\"model\":_vm.value,\"rules\":_vm.ruleValidate,\"label-width\":\"130px\"}},[_c('el-form-item',{attrs:{\"label\":this.$t('userAccount'),\"prop\":\"userAccount\"}},[_c('el-input',{attrs:{\"placeholder\":this.$t('username')},model:{value:(_vm.value.userAccount),callback:function ($$v) {_vm.$set(_vm.value, \"userAccount\", $$v)},expression:\"value.userAccount\"}})],1),_c('el-form-item',{attrs:{\"label\":this.$t('password'),\"prop\":\"password\"}},[_c('el-input',{attrs:{\"placeholder\":this.$t('password'),\"show-password\":\"\"},model:{value:(_vm.value.password),callback:function ($$v) {_vm.$set(_vm.value, \"password\", $$v)},expression:\"value.password\"}})],1),_c('el-form-item',{attrs:{\"label\":this.$t('deviceUnbind.snNum'),\"prop\":\"sn\"}},[_c('el-input',{attrs:{\"placeholder\":this.$t('deviceUnbind.snNum')},model:{value:(_vm.value.sn),callback:function ($$v) {_vm.$set(_vm.value, \"sn\", $$v)},expression:\"value.sn\"}})],1),_c('el-form-item',{attrs:{\"label\":this.$t('deviceUnbind.snNumConfirm'),\"prop\":\"snNumConfirm\"}},[_c('el-input',{attrs:{\"placeholder\":this.$t('deviceUnbind.snNumConfirm')},model:{value:(_vm.value.snNumConfirm),callback:function ($$v) {_vm.$set(_vm.value, \"snNumConfirm\", $$v)},expression:\"value.snNumConfirm\"}})],1),(_vm.power_1571&&this.power_1572)?_c('el-form-item',{attrs:{\"label\":this.$t('serverZone'),\"prop\":\"serverZone\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"placeholder\":this.$t('serverZone')},model:{value:(_vm.value.serverZone),callback:function ($$v) {_vm.$set(_vm.value, \"serverZone\", $$v)},expression:\"value.serverZone\"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1):_vm._e(),_c('el-form-item',[_c('el-button',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.handleSubmit('formValidate')}}},[_vm._v(_vm._s(this.$t('confirmButton')))])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceUnbind.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceUnbind.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeviceUnbind.vue?vue&type=template&id=9ba664a6&scoped=true&\"\nimport script from \"./DeviceUnbind.vue?vue&type=script&lang=js&\"\nexport * from \"./DeviceUnbind.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9ba664a6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"test\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'test', 'test_p2p' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"test\",\"active\":\"test_p2p\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-card',{staticStyle:{\"height\":\"95%\"}},[_c('el-row',[_c('el-col',[_c('div',{staticStyle:{\"float\":\"left\",\"font-size\":\"30px\",\"margin-bottom\":\"20px\"}},[_vm._v(\"P2P校验\")])])],1),_c('el-row',[_c('el-col',[_c('el-button',{staticStyle:{\"float\":\"left\",\"margin-bottom\":\"20px\"},attrs:{\"type\":\"primary\"},on:{\"click\":_vm.test}},[_vm._v(\"全球\")])],1)],1),_c('el-row',[_c('el-col',[_c('div',{staticStyle:{\"float\":\"left\"}},[_vm._v(\"测试时,如果要多次测试,请确保收到了之前测试的结果邮件后再点击按钮\")])])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./TestP2p.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./TestP2p.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TestP2p.vue?vue&type=template&id=34975929&scoped=true&\"\nimport script from \"./TestP2p.vue?vue&type=script&lang=js&\"\nexport * from \"./TestP2p.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"34975929\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'pps_international' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"pps_international\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{ref:\"search\",staticClass:\"search-input\",attrs:{\"model\":_vm.search,\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',{attrs:{\"prop\":\"sourceApp\"}},[_c('el-select',{attrs:{\"placeholder\":\"sourceApp\",\"clearable\":\"\",\"filterable\":\"\",\"loading\":_vm.sourceAppLoading},model:{value:(_vm.search.sourceApp),callback:function ($$v) {_vm.$set(_vm.search, \"sourceApp\", $$v)},expression:\"search.sourceApp\"}},_vm._l((_vm.sourceAppOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"value\":item.value,\"label\":item.label}})}),1)],1),_c('el-form-item',{attrs:{\"prop\":\"name\"}},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('ppsInternationals.name'),\"clearable\":\"\",\"filterable\":\"\",\"loading\":_vm.selectLoading},model:{value:(_vm.search.name),callback:function ($$v) {_vm.$set(_vm.search, \"name\", $$v)},expression:\"search.name\"}},_vm._l((_vm.nameRule),function(item){return _c('el-option',{key:item,attrs:{\"value\":item,\"label\":item}})}),1)],1),_c('el-form-item',{attrs:{\"prop\":\"lngType\"}},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('ppsInternationals.lngType'),\"clearable\":\"\",\"filterable\":\"\",\"loading\":_vm.selectLoading},model:{value:(_vm.search.lngType),callback:function ($$v) {_vm.$set(_vm.search, \"lngType\", $$v)},expression:\"search.lngType\"}},_vm._l((_vm.lngTypeRule),function(item){return _c('el-option',{key:item,attrs:{\"value\":item,\"label\":item}})}),1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.getList()}}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.resetForm('search',true)}}})],1),_c('el-form-item',{staticStyle:{\"float\":\"right\"}},[(_vm.power_1486)?_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.changeEdit('add')}}},[_vm._v(_vm._s(_vm.$t('appNotices.add')))]):_vm._e()],1)],1),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"sourceApp\",\"label\":\"SourceApp\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"name\",\"label\":_vm.$t('ppsInternationals.name')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"lngType\",\"label\":_vm.$t('ppsInternationals.lngType')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"content\",\"label\":_vm.$t('ppsInternationals.content')}}),(_vm.power_1487)?_c('el-table-column',{attrs:{\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-link',{attrs:{\"underline\":false,\"type\":\"primary\"},on:{\"click\":function($event){return _vm.changeEdit('edit',scope.row)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('appNotices.update'))+\"\\n \")])]}}],null,false,1638507194)}):_vm._e()],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":_vm.pageSizes,\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"total\":_vm.totalNum},on:{\"size-change\":_vm.getList,\"current-change\":_vm.getList,\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"update:pageSize\":function($event){_vm.pageSize=$event},\"update:page-size\":function($event){_vm.pageSize=$event}}}),_c('el-drawer',{attrs:{\"title\":_vm.$t('ppsInternationals.addPpsInternational'),\"visible\":_vm.addDrawer},on:{\"update:visible\":function($event){_vm.addDrawer=$event},\"closed\":function($event){return _vm.resetForm('form')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.formLoading),expression:\"formLoading\"}],ref:\"form\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"label-width\":\"120px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"SourceApp\",\"prop\":\"sourceApp\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"disabled\":_vm.edit,\"placeholder\":\"sourceApp\",\"clearable\":\"\",\"filterable\":\"\",\"loading\":_vm.sourceAppLoading},model:{value:(_vm.form.sourceApp),callback:function ($$v) {_vm.$set(_vm.form, \"sourceApp\", $$v)},expression:\"form.sourceApp\"}},_vm._l((_vm.sourceAppOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"value\":item.value,\"label\":item.label}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('ppsInternationals.name'),\"prop\":\"name\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"disabled\":_vm.edit,\"placeholder\":_vm.$t('ppsInternationals.name'),\"clearable\":\"\",\"filterable\":\"\",\"loading\":_vm.selectLoading},model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", $$v)},expression:\"form.name\"}},_vm._l((_vm.nameRule),function(item){return _c('el-option',{key:item,attrs:{\"value\":item,\"label\":item}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('ppsInternationals.lngType'),\"prop\":\"lngType\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"disabled\":_vm.edit,\"placeholder\":_vm.$t('ppsInternationals.lngType'),\"clearable\":\"\",\"filterable\":\"\",\"loading\":_vm.selectLoading},model:{value:(_vm.form.lngType),callback:function ($$v) {_vm.$set(_vm.form, \"lngType\", $$v)},expression:\"form.lngType\"}},_vm._l((_vm.lngTypeRule),function(item){return _c('el-option',{key:item,attrs:{\"value\":item,\"label\":item}})}),1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('ppsInternationals.content'),\"prop\":\"content\"}},[_c('el-input',{attrs:{\"type\":\"textarea\",\"autosize\":{ minRows: 4, maxRows: 10},\"placeholder\":_vm.$t('ppsInternationals.content')},model:{value:(_vm.form.content),callback:function ($$v) {_vm.$set(_vm.form, \"content\", $$v)},expression:\"form.content\"}}),_c('el-popover',{attrs:{\"placement\":\"left\",\"trigger\":\"hover\"}},[_c('div',{staticClass:\"popover-content\"},_vm._l((_vm.contentList),function(item){return _c('el-link',{key:item.value,staticClass:\"popover-content-info\",attrs:{\"underline\":false},on:{\"click\":function($event){_vm.form.content += item.value}}},[_vm._v(_vm._s(item.label)+\"\\n \")])}),1),_c('el-button',{attrs:{\"slot\":\"reference\",\"size\":\"mini\"},slot:\"reference\"},[_vm._v(_vm._s(_vm.$t('ppsInternationals.contentSelect')))])],1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submit('form')}}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('form')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PPSInternational.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PPSInternational.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PPSInternational.vue?vue&type=template&id=073a2b56&scoped=true&\"\nimport script from \"./PPSInternational.vue?vue&type=script&lang=js&\"\nexport * from \"./PPSInternational.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PPSInternational.vue?vue&type=style&index=0&id=073a2b56&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"073a2b56\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"cloud\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'cloud', 'order_charts' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"cloud\",\"active\":\"order_charts\"}}),_c('iframe',{attrs:{\"src\":\"http://192.168.1.19/order-charts/charts.html\",\"width\":\"100%\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./OrderCharts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./OrderCharts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrderCharts.vue?vue&type=template&id=8498c8ce&scoped=true&\"\nimport script from \"./OrderCharts.vue?vue&type=script&lang=js&\"\nexport * from \"./OrderCharts.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OrderCharts.vue?vue&type=style&index=0&id=8498c8ce&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8498c8ce\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Package.vue?vue&type=style&index=0&id=038d5836&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"stat\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'stat', 'stat_user' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"stat\",\"active\":\"stat_user\"}}),_c('el-main',[_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"shadow\":\"never\"}},[_c('div',{staticClass:\"page-title\"},[_vm._v(\"用户统计\")]),_c('el-form',{ref:\"licenseForm\",staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',{staticStyle:{\"float\":\"right\"}},[(_vm.searchType===2)?_c('el-date-picker',{attrs:{\"type\":\"month\",\"placeholder\":\"选择月\"},model:{value:(_vm.search.date),callback:function ($$v) {_vm.$set(_vm.search, \"date\", $$v)},expression:\"search.date\"}}):_vm._e(),(_vm.searchType===1)?_c('el-date-picker',{attrs:{\"type\":\"year\",\"placeholder\":\"选择年\"},model:{value:(_vm.search.date),callback:function ($$v) {_vm.$set(_vm.search, \"date\", $$v)},expression:\"search.date\"}}):_vm._e()],1),_c('el-form-item',{staticStyle:{\"float\":\"right\"}},[_c('el-select',{model:{value:(_vm.searchType),callback:function ($$v) {_vm.searchType=$$v},expression:\"searchType\"}},_vm._l((_vm.searchTypes),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)],1),_c('ve-line',{staticStyle:{\"margin-top\":\"40px\"},attrs:{\"data\":_vm.searchType===2 ? _vm.dataYear : _vm.dataMonth,\"settings\":_vm.chartSettings,\"width\":_vm.chartWidth}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatUser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatUser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatUser.vue?vue&type=template&id=71c84e21&scoped=true&\"\nimport script from \"./StatUser.vue?vue&type=script&lang=js&\"\nexport * from \"./StatUser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatUser.vue?vue&type=style&index=0&id=71c84e21&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"71c84e21\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"stat\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'stat', 'stat_feedback','stat_app_feedback']}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"stat\",\"active\":\"stat_feedback/stat_app_feedback\"}}),(_vm.power_1750)?_c('el-main',[_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"box-card\"},[_c('div',{staticStyle:{\"text-align\":\"start\"},attrs:{\"id\":\"nav-transverse\"}},_vm._l((_vm.feedbackList),function(feedback,index){return _c('div',{key:index,attrs:{\"id\":\"box-feedback\"}},[_c('div',{attrs:{\"id\":\"nav-portrait\"}},[_c('div',{staticStyle:{\"margin\":\"0\"},attrs:{\"id\":\"nav-transverse\"}},[_c('div',{domProps:{\"textContent\":_vm._s(_vm.$t(feedback.name))}})]),_c('div',{staticClass:\"type\",staticStyle:{\"margin\":\"0\"},attrs:{\"id\":\"nav-transverse\"}},[_c('div',[_c('h2',{domProps:{\"textContent\":_vm._s(feedback.total)}})]),_vm._l((feedback.otherInfos),function(otherInfo,index){return _c('div',{key:index,staticStyle:{\"margin-block-start\":\"21px\"}},[_c('label',{domProps:{\"textContent\":_vm._s(_vm.$t(otherInfo.name))}}),_c('span',{staticClass:\"type-total\",domProps:{\"textContent\":_vm._s(0)}})])})],2)])])}),0)]),_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"box-card\",staticStyle:{\"margin-top\":\"10px\"}},[_c('div',{staticClass:\"feedback-charts\"},[_c('div',{attrs:{\"id\":\"feedback-trend\"}},[_c('div',{staticClass:\"feedback-trend-title\"},[_c('h2',{domProps:{\"textContent\":_vm._s(_vm.$t('feedbackInfo.feedback_data'))}})]),_c('div',{staticClass:\"feedback-date\"},[_c('el-radio-group',{attrs:{\"size\":\"medium\"},model:{value:(_vm.radio),callback:function ($$v) {_vm.radio=$$v},expression:\"radio\"}},_vm._l((_vm.dateOptions),function(date,index){return _c('el-radio-button',{key:index,attrs:{\"label\":date.label}})}),1),_c('el-select',{attrs:{\"clearable\":\"\",\"placeholder\":\"请选择类型\",\"size\":\"medium\"},on:{\"change\":_vm.handleOptionChange},model:{value:(_vm.queryInfo.type),callback:function ($$v) {_vm.$set(_vm.queryInfo, \"type\", $$v)},expression:\"queryInfo.type\"}},_vm._l((_vm.selectOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":_vm.$t(item.label),\"value\":item.value}})}),1)],1)]),_c('div',{staticClass:\"chart\"},[_vm._l((_vm.feedbackType),function(item,index){return _c('div',{key:index,staticClass:\"chart-title\",class:{active:(_vm.clickIndex == index )},on:{\"click\":function($event){return _vm.showRingChartInfo(index)}}},[_c('label',{domProps:{\"textContent\":_vm._s(_vm.$t(item))}})])}),_c('div',{staticStyle:{\"padding-top\":\"40px\",\"padding-bottom\":\"20px\",\"overflow-x\":\"auto\",\"width\":\"100%\"}},[_c('ve-ring',{attrs:{\"data\":_vm.chartData,\"extend\":_vm.pieExtend,\"data-empty\":_vm.dataEmpty,\"settings\":_vm.chartSettings,\"legend-visible\":false,\"width\":_vm.chartWidth}})],1)],2)])])],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatAppFeedback.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatAppFeedback.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatAppFeedback.vue?vue&type=template&id=5af0372e&scoped=true&\"\nimport script from \"./StatAppFeedback.vue?vue&type=script&lang=js&\"\nexport * from \"./StatAppFeedback.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatAppFeedback.vue?vue&type=style&index=0&id=5af0372e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5af0372e\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DeviceList.vue?vue&type=style&index=0&id=f9640712&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'gray_release' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"gray_release\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-select',{staticClass:\"search-input-s\",attrs:{\"clearable\":\"\",\"placeholder\":\"Name\"},model:{value:(_vm.search.name),callback:function ($$v) {_vm.$set(_vm.search, \"name\", $$v)},expression:\"search.name\"}},[_c('el-option',{attrs:{\"value\":\"user\"}},[_vm._v(\"user\")]),_c('el-option',{attrs:{\"value\":\"device\"}},[_vm._v(\"device\")])],1)],1),(_vm.search.name==='device')?_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"SN\"},model:{value:(_vm.search.sn),callback:function ($$v) {_vm.$set(_vm.search, \"sn\", $$v)},expression:\"search.sn\"}})],1):_vm._e(),(_vm.search.name==='user')?_c('el-form-item',[_c('el-input',{staticClass:\"search-input\",attrs:{\"clearable\":\"\",\"placeholder\":\"UserID\"},model:{value:(_vm.search.userID),callback:function ($$v) {_vm.$set(_vm.search, \"userID\", $$v)},expression:\"search.userID\"}})],1):_vm._e(),_c('el-form-item',[_c('el-select',{staticClass:\"search-input-s\",attrs:{\"clearable\":\"\",\"placeholder\":\"Release\"},model:{value:(_vm.search.release),callback:function ($$v) {_vm.$set(_vm.search, \"release\", $$v)},expression:\"search.release\"}},[_c('el-option',{attrs:{\"value\":\"0\"}},[_vm._v(\"0\")]),_c('el-option',{attrs:{\"value\":\"1\"}},[_vm._v(\"1\")])],1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),(_vm.$store.getters.hasPower(1432))?_c('el-popover',{attrs:{\"placement\":\"left\"}},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-select',{staticClass:\"search-input-s\",attrs:{\"placeholder\":\"Name\"},model:{value:(_vm.add.name),callback:function ($$v) {_vm.$set(_vm.add, \"name\", $$v)},expression:\"add.name\"}},[_c('el-option',{attrs:{\"value\":\"user\"}},[_vm._v(\"user\")]),_c('el-option',{attrs:{\"value\":\"device\"}},[_vm._v(\"device\")])],1)],1),(_vm.add.name==='device')?_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"SN\"},model:{value:(_vm.add.sn),callback:function ($$v) {_vm.$set(_vm.add, \"sn\", $$v)},expression:\"add.sn\"}})],1):_vm._e(),(_vm.add.name==='user')?_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"type\":\"number\",\"clearable\":\"\",\"placeholder\":\"UserID\"},model:{value:(_vm.add.userID),callback:function ($$v) {_vm.$set(_vm.add, \"userID\", $$v)},expression:\"add.userID\"}})],1):_vm._e(),_c('el-form-item',[_c('el-select',{staticClass:\"search-input-s\",attrs:{\"required\":\"\",\"placeholder\":\"Release\"},model:{value:(_vm.add.release),callback:function ($$v) {_vm.$set(_vm.add, \"release\", $$v)},expression:\"add.release\"}},[_c('el-option',{attrs:{\"value\":\"0\"}},[_vm._v(\"0\")]),_c('el-option',{attrs:{\"value\":\"1\"}},[_vm._v(\"1\")])],1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"disabled\":(_vm.add.name==='device' && !_vm.add.sn) || (_vm.add.name==='user' && !_vm.add.userID),\"icon\":\"el-icon-check\"},on:{\"click\":_vm.save_add}})],1)],1),_c('el-button',{staticStyle:{\"float\":\"right\"},attrs:{\"slot\":\"reference\",\"size\":\"small\",\"type\":\"primary\"},slot:\"reference\"},[_vm._v(\"Add\")])],1):_vm._e(),_c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"small\"}},[_c('el-table-column',{attrs:{\"prop\":\"grayID\",\"label\":\"GrayID\"}}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"Name\"}}),_c('el-table-column',{attrs:{\"prop\":\"sn\",\"label\":\"SN\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"nullValueToNa\")(scope.row.sn)))]}}])}),_c('el-table-column',{attrs:{\"prop\":\"userID\",\"label\":\"UserID\"}}),_c('el-table-column',{attrs:{\"prop\":\"release\",\"label\":\"Release\"}}),(_vm.$store.getters.hasAnyPowers([ 1431, 1433 ]))?_c('el-table-column',{attrs:{\"align\":\"center\",\"fixed\":\"right\",\"width\":\"180px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(_vm.$store.getters.hasPower(1431))?_c('el-popover',{attrs:{\"placement\":\"left\"}},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',{attrs:{\"label\":\"Release\"}},[_c('el-select',{staticClass:\"search-input-s\",model:{value:(_vm.edit.release),callback:function ($$v) {_vm.$set(_vm.edit, \"release\", $$v)},expression:\"edit.release\"}},[_c('el-option',{attrs:{\"value\":\"0\"}},[_vm._v(\"0\")]),_c('el-option',{attrs:{\"value\":\"1\"}},[_vm._v(\"1\")])],1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-check\"},on:{\"click\":_vm.save_edit}})],1)],1),_c('el-button',{staticClass:\"r10\",attrs:{\"slot\":\"reference\",\"size\":\"small\",\"plain\":\"\",\"type\":\"primary\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.on_edit(scope.row)}},slot:\"reference\"})],1):_vm._e(),(_vm.$store.getters.hasPower(1433))?_c('el-button',{attrs:{\"size\":\"small\",\"plain\":\"\",\"type\":\"danger\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.on_dele(scope.row)}}}):_vm._e()]}}],null,false,1941075696)}):_vm._e()],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GrayRelease.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GrayRelease.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GrayRelease.vue?vue&type=template&id=09ed8a58&scoped=true&\"\nimport script from \"./GrayRelease.vue?vue&type=script&lang=js&\"\nexport * from \"./GrayRelease.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GrayRelease.vue?vue&type=style&index=0&id=09ed8a58&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"09ed8a58\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"customerService\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'customerService', 'guestList' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"customerService\",\"active\":\"guestList\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{ref:\"search\",staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}},[_c('el-form-item',{attrs:{\"prop\":\"id\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('guests.customerId')},model:{value:(_vm.search.customerId),callback:function ($$v) {_vm.$set(_vm.search, \"customerId\", $$v)},expression:\"search.customerId\"}})],1),_c('el-form-item',{attrs:{\"prop\":\"account\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('guests.account')},model:{value:(_vm.search.account),callback:function ($$v) {_vm.$set(_vm.search, \"account\", $$v)},expression:\"search.account\"}})],1),_c('el-form-item',{attrs:{\"prop\":\"oemId\"}},[_c('el-select',{attrs:{\"placeholder\":\"OEM ID\",\"loading\":_vm.selectLoading,\"filterable\":\"\",\"clearable\":\"\"},on:{\"change\":_vm.getList},model:{value:(_vm.search.oemId),callback:function ($$v) {_vm.$set(_vm.search, \"oemId\", $$v)},expression:\"search.oemId\"}},_vm._l((_vm.oemIds),function(item){return _c('el-option',{key:item.oemId,attrs:{\"value\":item.oemId,\"label\":item.oemName+'('+item.oemId+')'+'('+item.sourceApp+')'}})}),1)],1),_c('el-form-item',{attrs:{\"prop\":\"status\"}},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('guests.status'),\"filterable\":\"\",\"clearable\":\"\"},on:{\"change\":_vm.getList},model:{value:(_vm.search.status),callback:function ($$v) {_vm.$set(_vm.search, \"status\", $$v)},expression:\"search.status\"}},_vm._l((_vm.statusList),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.getList()}}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.cleanSearch_getList()}}})],1),(_vm.power_13041)?_c('el-form-item',{staticStyle:{\"float\":\"right\"}},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){_vm.addDrawer = true}}},[_vm._v(_vm._s(_vm.$t('guests.addCustomer')))])],1):_vm._e()],1),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"customerId\",\"label\":_vm.$t('guests.customerId')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"c\"+_vm._s(scope.row.customerId))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"account\",\"label\":_vm.$t('guests.account')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"status\",\"label\":_vm.$t('guests.status')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('span',{style:({color:_vm.getStatus(scope.row.status,'color'),fontSize:'12px'})},[_vm._v(\"\\n \"+_vm._s(_vm.getStatus(scope.row.status,'label'))+\"\\n \")])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"oemId\",\"label\":\"OEM ID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createTime\",\"label\":_vm.$t('guests.dateCreated')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('span',[_vm._v(_vm._s(_vm.$formatDate(scope.row.createTime)))])]}}])}),(_vm.power_13041)?_c('el-table-column',{attrs:{\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"text\"},on:{\"click\":function($event){return _vm.getEditData(scope.row)}}},[_vm._v(_vm._s(_vm.$t('guests.updateStatus'))+\"\\n \")])]}}],null,false,1795015894)}):_vm._e()],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 50, 100, 200],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.getList,\"current-change\":_vm.getList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}}),_c('el-drawer',{attrs:{\"title\":_vm.$t('guests.addCustomer'),\"visible\":_vm.addDrawer},on:{\"update:visible\":function($event){_vm.addDrawer=$event},\"closed\":function($event){return _vm.resetForm('form')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.formLoading),expression:\"formLoading\"}],ref:\"form\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"label-width\":\"150px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('guests.account'),\"prop\":\"account\"}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('guests.account')},model:{value:(_vm.form.account),callback:function ($$v) {_vm.$set(_vm.form, \"account\", $$v)},expression:\"form.account\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('guests.password'),\"prop\":\"password\"}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('guests.password')},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}})],1),_c('el-form-item',{attrs:{\"label\":\"OEM ID\",\"prop\":\"oemId\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"placeholder\":\"OEM ID\",\"loading\":_vm.selectLoading,\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.form.oemId),callback:function ($$v) {_vm.$set(_vm.form, \"oemId\", $$v)},expression:\"form.oemId\"}},_vm._l((_vm.oemIds),function(item){return _c('el-option',{key:item.oemId,attrs:{\"label\":item.oemName+'('+item.oemId+')'+'('+item.sourceApp+')',\"value\":item.oemId}})}),1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submit('form')}}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('form')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1),_c('el-drawer',{attrs:{\"title\":_vm.$t('guests.updateStatus'),\"visible\":_vm.editDrawer,\"size\":\"500px\"},on:{\"update:visible\":function($event){_vm.editDrawer=$event},\"closed\":function($event){_vm.editForm = {}}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.formLoading),expression:\"formLoading\"}],ref:\"editForm\",attrs:{\"model\":_vm.editForm,\"label-width\":\"120px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('guests.customerId'),\"prop\":\"customerId\"}},[_c('el-input',{attrs:{\"disabled\":\"\"},model:{value:('c'+_vm.editForm.customerId),callback:function ($$v) {_vm.$set('c'+_vm.editForm, \"customerId\", $$v)},expression:\"'c'+editForm.customerId\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('guests.status'),\"prop\":\"status\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"placeholder\":_vm.$t('guests.status'),\"filterable\":\"\",\"clearable\":\"\"},model:{value:(_vm.editForm.status),callback:function ($$v) {_vm.$set(_vm.editForm, \"status\", $$v)},expression:\"editForm.status\"}},_vm._l((_vm.statusList),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.update('editForm')}}},[_vm._v(_vm._s(_vm.$t('submit')))])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GuestList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GuestList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GuestList.vue?vue&type=template&id=0ca59542&scoped=true&\"\nimport script from \"./GuestList.vue?vue&type=script&lang=js&\"\nexport * from \"./GuestList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GuestList.vue?vue&type=style&index=0&id=0ca59542&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ca59542\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"customerService\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'customerService', 'guestWorkOrder' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"customerService\",\"active\":\"guestWorkOrder\"}}),_c('el-main',[_c('Official')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GuestWorkOrder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./GuestWorkOrder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GuestWorkOrder.vue?vue&type=template&id=1f82e21d&scoped=true&\"\nimport script from \"./GuestWorkOrder.vue?vue&type=script&lang=js&\"\nexport * from \"./GuestWorkOrder.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f82e21d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"stat\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'stat', 'data_overview' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"stat\",\"active\":\"data_overview\"}}),_c('el-main',[_c('TotalCard',{attrs:{\"chartWidth\":_vm.chartWidth}}),_c('TodayCard',{attrs:{\"chartWidth\":_vm.chartWidth}}),_c('WholeCard',{attrs:{\"chartWidth\":_vm.chartWidth}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DataOverview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DataOverview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DataOverview.vue?vue&type=template&id=4757e21e&scoped=true&\"\nimport script from \"./DataOverview.vue?vue&type=script&lang=js&\"\nexport * from \"./DataOverview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DataOverview.vue?vue&type=style&index=0&id=4757e21e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4757e21e\",\n null\n \n)\n\nexport default component.exports","//所有问题类型\n\nimport {isEmpty} from \"./index\";\n\nconst problemTypes = [\n {value: 1, label: '网络无法连接'},\n {value: 2, label: '搜索不到设备'},\n {value: 3, label: '无法收到推送消息'},\n {value: 4, label: '界面太难操作'},\n {value: 5, label: '设备复位时无反应'},\n {value: 6, label: '其他'},\n {value: 7, label: 'App崩溃'},\n {value: 8, label: '收不到验证码'},\n {value: 9, label: '配网问题'},\n {value: 10, label: '操作问题'},\n {value: 11, label: '预览问题'},\n {value: 12, label: '报警推送问题'},\n {value: 13, label: '画面显示问题'},\n {value: 14, label: '夜视问题'},\n {value: 15, label: '对讲问题'},\n {value: 16, label: 'SD卡问题'},\n {value: 17, label: '云存储问题'},\n {value: 18, label: '分享问题'},\n {value: 19, label: '时区问题'},\n {value: 20, label: '云支付问题'},\n {value: 21, label: '设备未认证'},\n {value: 22, label: '建议'},\n {value: 24, label: '网络连接问题'},\n {value: 25, label: '设备问题'},\n {value: 26, label: '充不进电'},\n {value: 27, label: '设备离线'},\n {value: 28, label: '设备没电'},\n {value: 29, label: '设备运行正常'},\n {value: 30, label: 'WiFi设置'},\n {value: 31, label: '叮咚铃铛问题'},\n {value: 32, label: '移动侦测问题'},\n];\n\nconst getLabel = (value) => {\n value = Number(value);\n let item = problemTypes.find(item => item.value === value);\n return item ? item.label : '--';\n};\nconst getAllLabel = (value = '') => {\n let list = value.split(',');\n let list1 = [];\n list.map((item) => {\n let value = Number(item);\n let item1 = problemTypes.find(item => item.value === value);\n if (!isEmpty(item1)) {\n list1.push(item1.label);\n }\n });\n return list1.join(',');\n};\nconst Problem = {\n problemTypes,\n getLabel,\n getAllLabel\n};\n\nexport default Problem;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'dynamic_picture' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"dynamic_picture\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('div',{staticClass:\"button-box\"},[(_vm.$store.getters.hasPower(1496) && _vm.typeList.length > 0)?_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"loading\":_vm.saveLoading},on:{\"click\":_vm.save}},[_vm._v(_vm._s(_vm.$t('save'))+\"\\n \")]):_vm._e()],1),_c('div',{staticClass:\"card-page\"},[_c('div',{staticClass:\"product-box\"},[_c('div',{ref:\"typeList\",staticClass:\"left-box\"},_vm._l((_vm.typeList),function(item){return _c('div',{key:item.productType,class:_vm.type===item.productType?'type-box type-box-act':'type-box',on:{\"click\":function($event){return _vm.changeType(item.productType)}}},[_vm._v(\"\\n \"+_vm._s(item.productType)+\"\\n \")])}),0),_c('div',{staticClass:\"right-box\"},[(_vm.modalList.length > 0)?_c('el-table',{key:_vm.type,attrs:{\"data\":_vm.modalList,\"header-cell-style\":{background:'#F9F9F9'}}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"productID\",\"label\":_vm.$t('productList.productID')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"productType\",\"label\":_vm.$t('productList.productType')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"kindDeviceType\",\"label\":_vm.$t('productList.kindDeviceType')}}),(_vm.$store.getters.hasPower(1497))?_c('el-table-column',{attrs:{\"align\":\"center\",\"width\":\"80\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-link',{attrs:{\"underline\":false,\"type\":\"primary\"},on:{\"click\":function($event){return _vm.goDetail(scope.row)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('detail'))+\"\\n \")])]}}],null,false,2384393231)}):_vm._e()],1):_c('div',{staticClass:\"no-data-box\"},[_c('div',{staticClass:\"no-data-img\"}),_c('span',[_vm._v(_vm._s(_vm.$t('noData')))])])],1)])]),_c('el-drawer',{attrs:{\"title\":_vm.$t('add'),\"visible\":_vm.addDrawer},on:{\"update:visible\":function($event){_vm.addDrawer=$event},\"closed\":function($event){return _vm.resetForm('form')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.formLoading),expression:\"formLoading\"}],ref:\"form\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"label-width\":\"120px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('productList.productType'),\"prop\":\"productType\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('productList.productType')},model:{value:(_vm.form.productType),callback:function ($$v) {_vm.$set(_vm.form, \"productType\", $$v)},expression:\"form.productType\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('productList.kindDeviceType'),\"prop\":\"kindDeviceType\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('productList.kindDeviceType')},model:{value:(_vm.form.kindDeviceType),callback:function ($$v) {_vm.$set(_vm.form, \"kindDeviceType\", $$v)},expression:\"form.kindDeviceType\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.add('form')}}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('form')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**!\n * Sortable 1.13.0\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.13.0\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !!\n /*@__PURE__*/\n navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n/**\n * Returns the \"bounding client rect\" of given element\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\n * @param {[HTMLElement]} container The parent the element will be placed in\n * @return {Object} The boundingClientRect of el, with specified adjustments\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\n * Checks if a side of an element is scrolled past a side of its parents\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\n * and non-draggable elements\n * @param {HTMLElement} el The parent element\n * @param {Number} childNum The index of the child\n * @param {Object} options Parent Sortable's options\n * @return {HTMLElement} The child at index childNum, or null if not found\n */\n\n\nfunction getChild(el, childNum, options) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\n * @param {HTMLElement} el Parent element\n * @param {selector} selector Any other elements that should be ignored\n * @return {HTMLElement} The last child, ignoring ghostEl\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\n * Returns the index of an element within its parent for a selected set of\n * elements\n * @param {HTMLElement} el\n * @param {selector} selector\n * @return {number}\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\n * The value is returned in real pixels.\n * @param {HTMLElement} el\n * @return {Array} Offsets in the format of [left, top]\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\n * Returns the index of the object within the given array\n * @param {Array} arr Array that may or may not hold the object\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\n * @return {Number} The index of the object in the array, or -1\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n this.forRepaintDummy = repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.forEach(function (p) {\n if (p.pluginName === plugin.pluginName) {\n throw \"Sortable: Cannot mount plugin \".concat(plugin.pluginName, \" more than once\");\n }\n });\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param {Number} x X position\n * @param {Number} y Y position\n * @return {HTMLElement} Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n if (lastChild(sortable)) return;\n var rect = getRect(sortable),\n threshold = sortable[expando].options.emptyInsertThreshold,\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (threshold && insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\n * @class Sortable\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window && !Safari,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n } // Safari ignores further event handling after mousedown\n\n\n if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === 'SELECT') {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // assign target only if condition is true\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n css(dragEl, 'transform', '');\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function sort(order, useAnimation) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n useAnimation && this.captureAnimationState();\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n useAnimation && this.animateAll();\n },\n\n /**\n * Save the current sorting\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\n * Destroy\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n this._disableDelayedDragEvents();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\n * @return {Number} Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\n * Generate id\n * @param {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param {HTMLElement} element The element\n * @return {Sortable|undefined} The instance of Sortable\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PictureTypeList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PictureTypeList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PictureTypeList.vue?vue&type=template&id=520612ec&scoped=true&\"\nimport script from \"./PictureTypeList.vue?vue&type=script&lang=js&\"\nexport * from \"./PictureTypeList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PictureTypeList.vue?vue&type=style&index=0&id=520612ec&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"520612ec\",\n null\n \n)\n\nexport default component.exports","const public_key = `-----BEGIN PUBLIC KEY-----\r\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB\r\n-----END PUBLIC KEY-----\r\n`;\r\nlet jse = new JSEncrypt();\r\njse.setPublicKey(public_key);\r\n\r\nexport const encrypt = pas => jse.getKey().encrypt(pas);\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"log\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'log', 'buried_point_analysis' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"log\",\"active\":\"buried_point_analysis\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"},nativeOn:{\"submit\":function($event){$event.preventDefault();}}},[_c('el-form-item',[_c('el-date-picker',{attrs:{\"type\":\"date\",\"placeholder\":_vm.$t('appStatisticLog.endDataPlaceholder'),\"value-format\":\"timestamp\"},model:{value:(_vm.search.searchTime),callback:function ($$v) {_vm.$set(_vm.search, \"searchTime\", $$v)},expression:\"search.searchTime\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appStatisticLog.userID')},model:{value:(_vm.search.userID),callback:function ($$v) {_vm.$set(_vm.search, \"userID\", $$v)},expression:\"search.userID\"}})],1),_c('el-form-item',[_c('el-select',{attrs:{\"placeholder\":\"Select\"},model:{value:(_vm.search.connectResult),callback:function ($$v) {_vm.$set(_vm.search, \"connectResult\", $$v)},expression:\"search.connectResult\"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"data\":_vm.list,\"size\":\"small\"}},[_c('el-table-column',{attrs:{\"prop\":\"userID\",\"label\":_vm.$t('appStatisticLog.userID')}}),_c('el-table-column',{attrs:{\"prop\":\"connectResult\",\"label\":_vm.$t('appStatisticLog.connectResult')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{staticStyle:{\"'word-wrap\":\"break-word\",\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(scope.row.connectResult === 1?_vm.$t('appStatisticLog.success'):_vm.$t('appStatisticLog.fail')))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"connectCount\",\"label\":_vm.$t('appStatisticLog.connectCount')}}),_c('el-table-column',{attrs:{\"prop\":\"connectCount\",\"label\":_vm.$t('appStatisticLog.connectTime')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{staticStyle:{\"'word-wrap\":\"break-word\",\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.renderTime(scope.row)))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"data\",\"label\":_vm.$t('appStatisticLog.data')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{staticStyle:{\"'word-wrap\":\"break-word\",\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.renderData(scope.row)))])]}}])}),_c('el-table-column',{attrs:{\"prop\":\"log\",\"label\":_vm.$t('appStatisticLog.log')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"icon\":\"el-icon-reading\"},on:{\"click\":function($event){return _vm.showDetail(scope.row)}}})]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50,200],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./BuriedPointAnalysis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./BuriedPointAnalysis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BuriedPointAnalysis.vue?vue&type=template&id=46433ba2&scoped=true&\"\nimport script from \"./BuriedPointAnalysis.vue?vue&type=script&lang=js&\"\nexport * from \"./BuriedPointAnalysis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"46433ba2\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Order.vue?vue&type=style&index=0&id=494ce246&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"monitor\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'monitor', 'pid' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"monitor\",\"active\":\"pid\"}}),_c('iframe',{attrs:{\"src\":_vm.src,\"width\":\"100%\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ServerPing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ServerPing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServerPing.vue?vue&type=template&id=c7394a84&scoped=true&\"\nimport script from \"./ServerPing.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerPing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServerPing.vue?vue&type=style&index=0&id=c7394a84&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c7394a84\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"cloud\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'cloud', 'cost' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"cloud\",\"active\":\"cost\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-card',{staticStyle:{\"width\":\"100%\"}},[_c('el-row',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-date-picker',{attrs:{\"type\":\"year\",\"value-format\":\"yyyy\",\"placeholder\":\"选择年份\"},model:{value:(_vm.year),callback:function ($$v) {_vm.year=$$v},expression:\"year\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.filterData}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.reset}})],1)],1)],1),_c('el-row',[_c('el-col',{attrs:{\"span\":11}},[_c('h4',[_c('span',{staticStyle:{\"float\":\"left\"}},[_vm._v(\"收入表: (单位:CNY)\")]),_c('span',{staticStyle:{\"text-align\":\"right\"}},[_vm._v(\"实时汇率: 1 USD = \"+_vm._s(_vm.usdRate)+\" CNY\")])]),_c('el-table',{attrs:{\"data\":_vm.incomeTable,\"show-summary\":\"\"}},[_c('el-table-column',{attrs:{\"label\":\"类别\",\"prop\":\"text\"}}),_c('el-table-column',{attrs:{\"label\":\"HZ\",\"prop\":\"hz\"}}),_c('el-table-column',{attrs:{\"label\":\"US\",\"prop\":\"us\"}}),_c('el-table-column',{attrs:{\"label\":\"EU\",\"prop\":\"eu\"}})],1)],1),_c('el-col',{attrs:{\"span\":11,\"offset\":2}},[_c('h4',[_c('span',{staticStyle:{\"float\":\"left\"}},[_vm._v(\"成本表: (单位:CNY)\")]),_c('span',{staticStyle:{\"text-align\":\"right\"}},[_vm._v(\" \")])]),_c('el-table',{attrs:{\"data\":_vm.costTable,\"show-summary\":\"\"}},[_c('el-table-column',{attrs:{\"label\":\"类别\",\"prop\":\"text\"}}),_c('el-table-column',{attrs:{\"label\":\"值\",\"prop\":\"value\"}})],1)],1)],1),_c('ve-histogram',{staticStyle:{\"width\":\"90%\",\"margin-top\":\"50px\"},attrs:{\"data\":_vm.chartData}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Cost.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Cost.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Cost.vue?vue&type=template&id=5373b810&scoped=true&\"\nimport script from \"./Cost.vue?vue&type=script&lang=js&\"\nexport * from \"./Cost.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5373b810\",\n null\n \n)\n\nexport default component.exports","/*\n\nJSZip - A Javascript class for generating and reading zip files\n\n\n(c) 2009-2014 Stuart Knightley \nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/master/LICENSE\n\nNote: since JSZip 3 removed critical functionality, this version assigns to the\n`JSZipSync` variable. Another JSZip version can be loaded in parallel.\n*/\n(function(e){\n\tif(\"object\"==typeof exports&&\"undefined\"!=typeof module&&\"undefined\"==typeof DO_NOT_EXPORT_JSZIP)module.exports=e();\n\telse if(\"function\"==typeof define&&define.amd&&\"undefined\"==typeof DO_NOT_EXPORT_JSZIP){JSZipSync=e();define([],e);}\n\telse{\n\t\tvar f;\n\t\t\"undefined\"!=typeof window?f=window:\n\t\t\"undefined\"!=typeof global?f=global:\n\t\t\"undefined\"!=typeof $ && $.global?f=$.global:\n\t\t\"undefined\"!=typeof self&&(f=self),f.JSZipSync=e()\n\t}\n}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error(\"Cannot find module '\"+o+\"'\")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o> 2;\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n }\n else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\n\n }\n\n return output;\n};\n\n// public method for decoding\nexports.decode = function(input, utf8) {\n var output = \"\";\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n while (i < input.length) {\n\n enc1 = _keyStr.indexOf(input.charAt(i++));\n enc2 = _keyStr.indexOf(input.charAt(i++));\n enc3 = _keyStr.indexOf(input.charAt(i++));\n enc4 = _keyStr.indexOf(input.charAt(i++));\n\n chr1 = (enc1 << 2) | (enc2 >> 4);\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n chr3 = ((enc3 & 3) << 6) | enc4;\n\n output = output + String.fromCharCode(chr1);\n\n if (enc3 != 64) {\n output = output + String.fromCharCode(chr2);\n }\n if (enc4 != 64) {\n output = output + String.fromCharCode(chr3);\n }\n\n }\n\n return output;\n\n};\n\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nfunction CompressedObject() {\n this.compressedSize = 0;\n this.uncompressedSize = 0;\n this.crc32 = 0;\n this.compressionMethod = null;\n this.compressedContent = null;\n}\n\nCompressedObject.prototype = {\n /**\n * Return the decompressed content in an unspecified format.\n * The format will depend on the decompressor.\n * @return {Object} the decompressed content.\n */\n getContent: function() {\n return null; // see implementation\n },\n /**\n * Return the compressed content in an unspecified format.\n * The format will depend on the compressed conten source.\n * @return {Object} the compressed content.\n */\n getCompressedContent: function() {\n return null; // see implementation\n }\n};\nmodule.exports = CompressedObject;\n\n},{}],3:[function(_dereq_,module,exports){\n'use strict';\nexports.STORE = {\n magic: \"\\x00\\x00\",\n compress: function(content) {\n return content; // no compression\n },\n uncompress: function(content) {\n return content; // no compression\n },\n compressInputType: null,\n uncompressInputType: null\n};\nexports.DEFLATE = _dereq_('./flate');\n\n},{\"./flate\":8}],4:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\nvar table = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D\n];\n\n/**\n *\n * Javascript crc32\n * http://www.webtoolkit.info/\n *\n */\nmodule.exports = function crc32(input, crc) {\n if (typeof input === \"undefined\" || !input.length) {\n return 0;\n }\n\n var isArray = utils.getTypeOf(input) !== \"string\";\n\n if (typeof(crc) == \"undefined\") {\n crc = 0;\n }\n var x = 0;\n var y = 0;\n var b = 0;\n\n crc = crc ^ (-1);\n for (var i = 0, iTop = input.length; i < iTop; i++) {\n b = isArray ? input[i] : input.charCodeAt(i);\n y = (crc ^ b) & 0xFF;\n x = table[y];\n crc = (crc >>> 8) ^ x;\n }\n\n return crc ^ (-1);\n};\n// vim: set shiftwidth=4 softtabstop=4:\n\n},{\"./utils\":21}],5:[function(_dereq_,module,exports){\n'use strict';\nvar utils = _dereq_('./utils');\n\nfunction DataReader(data) {\n this.data = null; // type : see implementation\n this.length = 0;\n this.index = 0;\n}\nDataReader.prototype = {\n /**\n * Check that the offset will not go too far.\n * @param {string} offset the additional offset to check.\n * @throws {Error} an Error if the offset is out of bounds.\n */\n checkOffset: function(offset) {\n this.checkIndex(this.index + offset);\n },\n /**\n * Check that the specifed index will not be too far.\n * @param {string} newIndex the index to check.\n * @throws {Error} an Error if the index is out of bounds.\n */\n checkIndex: function(newIndex) {\n if (this.length < newIndex || newIndex < 0) {\n throw new Error(\"End of data reached (data length = \" + this.length + \", asked index = \" + (newIndex) + \"). Corrupted zip ?\");\n }\n },\n /**\n * Change the index.\n * @param {number} newIndex The new index.\n * @throws {Error} if the new index is out of the data.\n */\n setIndex: function(newIndex) {\n this.checkIndex(newIndex);\n this.index = newIndex;\n },\n /**\n * Skip the next n bytes.\n * @param {number} n the number of bytes to skip.\n * @throws {Error} if the new index is out of the data.\n */\n skip: function(n) {\n this.setIndex(this.index + n);\n },\n /**\n * Get the byte at the specified index.\n * @param {number} i the index to use.\n * @return {number} a byte.\n */\n byteAt: function(i) {\n // see implementations\n },\n /**\n * Get the next number with a given byte size.\n * @param {number} size the number of bytes to read.\n * @return {number} the corresponding number.\n */\n readInt: function(size) {\n var result = 0,\n i;\n this.checkOffset(size);\n for (i = this.index + size - 1; i >= this.index; i--) {\n result = (result << 8) + this.byteAt(i);\n }\n this.index += size;\n return result;\n },\n /**\n * Get the next string with a given byte size.\n * @param {number} size the number of bytes to read.\n * @return {string} the corresponding string.\n */\n readString: function(size) {\n return utils.transformTo(\"string\", this.readData(size));\n },\n /**\n * Get raw data without conversion, bytes.\n * @param {number} size the number of bytes to read.\n * @return {Object} the raw data, implementation specific.\n */\n readData: function(size) {\n // see implementations\n },\n /**\n * Find the last occurence of a zip signature (4 bytes).\n * @param {string} sig the signature to find.\n * @return {number} the index of the last occurence, -1 if not found.\n */\n lastIndexOfSignature: function(sig) {\n // see implementations\n },\n /**\n * Get the next date.\n * @return {Date} the date.\n */\n readDate: function() {\n var dostime = this.readInt(4);\n return new Date(\n ((dostime >> 25) & 0x7f) + 1980, // year\n ((dostime >> 21) & 0x0f) - 1, // month\n (dostime >> 16) & 0x1f, // day\n (dostime >> 11) & 0x1f, // hour\n (dostime >> 5) & 0x3f, // minute\n (dostime & 0x1f) << 1); // second\n }\n};\nmodule.exports = DataReader;\n\n},{\"./utils\":21}],6:[function(_dereq_,module,exports){\n'use strict';\nexports.base64 = false;\nexports.binary = false;\nexports.dir = false;\nexports.createFolders = false;\nexports.date = null;\nexports.compression = null;\nexports.comment = null;\n\n},{}],7:[function(_dereq_,module,exports){\n'use strict';\nvar utils = _dereq_('./utils');\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2binary = function(str) {\n return utils.string2binary(str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2Uint8Array = function(str) {\n return utils.transformTo(\"uint8array\", str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.uint8Array2String = function(array) {\n return utils.transformTo(\"string\", array);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.string2Blob = function(str) {\n var buffer = utils.transformTo(\"arraybuffer\", str);\n return utils.arrayBuffer2Blob(buffer);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.arrayBuffer2Blob = function(buffer) {\n return utils.arrayBuffer2Blob(buffer);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.transformTo = function(outputType, input) {\n return utils.transformTo(outputType, input);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.getTypeOf = function(input) {\n return utils.getTypeOf(input);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.checkSupport = function(type) {\n return utils.checkSupport(type);\n};\n\n/**\n * @deprecated\n * This value will be removed in a future version without replacement.\n */\nexports.MAX_VALUE_16BITS = utils.MAX_VALUE_16BITS;\n\n/**\n * @deprecated\n * This value will be removed in a future version without replacement.\n */\nexports.MAX_VALUE_32BITS = utils.MAX_VALUE_32BITS;\n\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.pretty = function(str) {\n return utils.pretty(str);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.findCompression = function(compressionMethod) {\n return utils.findCompression(compressionMethod);\n};\n\n/**\n * @deprecated\n * This function will be removed in a future version without replacement.\n */\nexports.isRegExp = function (object) {\n return utils.isRegExp(object);\n};\n\n\n},{\"./utils\":21}],8:[function(_dereq_,module,exports){\n'use strict';\nvar USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined');\n\nvar pako = _dereq_(\"pako\");\nexports.uncompressInputType = USE_TYPEDARRAY ? \"uint8array\" : \"array\";\nexports.compressInputType = USE_TYPEDARRAY ? \"uint8array\" : \"array\";\n\nexports.magic = \"\\x08\\x00\";\nexports.compress = function(input) {\n return pako.deflateRaw(input);\n};\nexports.uncompress = function(input) {\n return pako.inflateRaw(input);\n};\n\n},{\"pako\":24}],9:[function(_dereq_,module,exports){\n'use strict';\n\nvar base64 = _dereq_('./base64');\n\n/**\nUsage:\n zip = new JSZip();\n zip.file(\"hello.txt\", \"Hello, World!\").file(\"tempfile\", \"nothing\");\n zip.folder(\"images\").file(\"smile.gif\", base64Data, {base64: true});\n zip.file(\"Xmas.txt\", \"Ho ho ho !\", {date : new Date(\"December 25, 2007 00:00:01\")});\n zip.remove(\"tempfile\");\n\n base64zip = zip.generate();\n\n**/\n\n/**\n * Representation a of zip file in js\n * @constructor\n * @param {String=|ArrayBuffer=|Uint8Array=} data the data to load, if any (optional).\n * @param {Object=} options the options for creating this objects (optional).\n */\nfunction JSZipSync(data, options) {\n // if this constructor is used without `new`, it adds `new` before itself:\n if(!(this instanceof JSZipSync)) return new JSZipSync(data, options);\n\n // object containing the files :\n // {\n // \"folder/\" : {...},\n // \"folder/data.txt\" : {...}\n // }\n this.files = {};\n\n this.comment = null;\n\n // Where we are in the hierarchy\n this.root = \"\";\n if (data) {\n this.load(data, options);\n }\n this.clone = function() {\n var newObj = new JSZipSync();\n for (var i in this) {\n if (typeof this[i] !== \"function\") {\n newObj[i] = this[i];\n }\n }\n return newObj;\n };\n}\nJSZipSync.prototype = _dereq_('./object');\nJSZipSync.prototype.load = _dereq_('./load');\nJSZipSync.support = _dereq_('./support');\nJSZipSync.defaults = _dereq_('./defaults');\n\n/**\n * @deprecated\n * This namespace will be removed in a future version without replacement.\n */\nJSZipSync.utils = _dereq_('./deprecatedPublicUtils');\n\nJSZipSync.base64 = {\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n encode : function(input) {\n return base64.encode(input);\n },\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n decode : function(input) {\n return base64.decode(input);\n }\n};\nJSZipSync.compressions = _dereq_('./compressions');\nmodule.exports = JSZipSync;\n\n},{\"./base64\":1,\"./compressions\":3,\"./defaults\":6,\"./deprecatedPublicUtils\":7,\"./load\":10,\"./object\":13,\"./support\":17}],10:[function(_dereq_,module,exports){\n'use strict';\nvar base64 = _dereq_('./base64');\nvar ZipEntries = _dereq_('./zipEntries');\nmodule.exports = function(data, options) {\n var files, zipEntries, i, input;\n options = options || {};\n if (options.base64) {\n data = base64.decode(data);\n }\n\n zipEntries = new ZipEntries(data, options);\n files = zipEntries.files;\n for (i = 0; i < files.length; i++) {\n input = files[i];\n this.file(input.fileName, input.decompressed, {\n binary: true,\n optimizedBinaryString: true,\n date: input.date,\n dir: input.dir,\n comment : input.fileComment.length ? input.fileComment : null,\n createFolders: options.createFolders\n });\n }\n if (zipEntries.zipComment.length) {\n this.comment = zipEntries.zipComment;\n }\n\n return this;\n};\n\n},{\"./base64\":1,\"./zipEntries\":22}],11:[function(_dereq_,module,exports){\n(function (Buffer){\n'use strict';\nvar Buffer_from = /*::(*/function(){}/*:: :any)*/;\nif(typeof Buffer !== 'undefined') {\n\tvar nbfs = !Buffer.from;\n\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\tBuffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t// $FlowIgnore\n\tif(!Buffer.alloc) Buffer.alloc = function(n) { return new Buffer(n); };\n}\nmodule.exports = function(data, encoding){\n return typeof data == 'number' ? Buffer.alloc(data) : Buffer_from(data, encoding);\n};\nmodule.exports.test = function(b){\n return Buffer.isBuffer(b);\n};\n}).call(this,(typeof Buffer !== \"undefined\" ? Buffer : undefined))\n},{}],12:[function(_dereq_,module,exports){\n'use strict';\nvar Uint8ArrayReader = _dereq_('./uint8ArrayReader');\n\nfunction NodeBufferReader(data) {\n this.data = data;\n this.length = this.data.length;\n this.index = 0;\n}\nNodeBufferReader.prototype = new Uint8ArrayReader();\n\n/**\n * @see DataReader.readData\n */\nNodeBufferReader.prototype.readData = function(size) {\n this.checkOffset(size);\n var result = this.data.slice(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = NodeBufferReader;\n\n},{\"./uint8ArrayReader\":18}],13:[function(_dereq_,module,exports){\n'use strict';\nvar support = _dereq_('./support');\nvar utils = _dereq_('./utils');\nvar crc32 = _dereq_('./crc32');\nvar signature = _dereq_('./signature');\nvar defaults = _dereq_('./defaults');\nvar base64 = _dereq_('./base64');\nvar compressions = _dereq_('./compressions');\nvar CompressedObject = _dereq_('./compressedObject');\nvar nodeBuffer = _dereq_('./nodeBuffer');\nvar utf8 = _dereq_('./utf8');\nvar StringWriter = _dereq_('./stringWriter');\nvar Uint8ArrayWriter = _dereq_('./uint8ArrayWriter');\n\n/**\n * Returns the raw data of a ZipObject, decompress the content if necessary.\n * @param {ZipObject} file the file to use.\n * @return {String|ArrayBuffer|Uint8Array|Buffer} the data.\n */\nvar getRawData = function(file) {\n if (file._data instanceof CompressedObject) {\n file._data = file._data.getContent();\n file.options.binary = true;\n file.options.base64 = false;\n\n if (utils.getTypeOf(file._data) === \"uint8array\") {\n var copy = file._data;\n // when reading an arraybuffer, the CompressedObject mechanism will keep it and subarray() a Uint8Array.\n // if we request a file in the same format, we might get the same Uint8Array or its ArrayBuffer (the original zip file).\n file._data = new Uint8Array(copy.length);\n // with an empty Uint8Array, Opera fails with a \"Offset larger than array size\"\n if (copy.length !== 0) {\n file._data.set(copy, 0);\n }\n }\n }\n return file._data;\n};\n\n/**\n * Returns the data of a ZipObject in a binary form. If the content is an unicode string, encode it.\n * @param {ZipObject} file the file to use.\n * @return {String|ArrayBuffer|Uint8Array|Buffer} the data.\n */\nvar getBinaryData = function(file) {\n var result = getRawData(file),\n type = utils.getTypeOf(result);\n if (type === \"string\") {\n if (!file.options.binary) {\n // unicode text !\n // unicode string => binary string is a painful process, check if we can avoid it.\n if (support.nodebuffer) {\n return nodeBuffer(result, \"utf-8\");\n }\n }\n return file.asBinary();\n }\n return result;\n};\n\n/**\n * Transform this._data into a string.\n * @param {function} filter a function String -> String, applied if not null on the result.\n * @return {String} the string representing this._data.\n */\nvar dataToString = function(asUTF8) {\n var result = getRawData(this);\n if (result === null || typeof result === \"undefined\") {\n return \"\";\n }\n // if the data is a base64 string, we decode it before checking the encoding !\n if (this.options.base64) {\n result = base64.decode(result);\n }\n if (asUTF8 && this.options.binary) {\n // JSZip.prototype.utf8decode supports arrays as input\n // skip to array => string step, utf8decode will do it.\n result = out.utf8decode(result);\n }\n else {\n // no utf8 transformation, do the array => string step.\n result = utils.transformTo(\"string\", result);\n }\n\n if (!asUTF8 && !this.options.binary) {\n result = utils.transformTo(\"string\", out.utf8encode(result));\n }\n return result;\n};\n/**\n * A simple object representing a file in the zip file.\n * @constructor\n * @param {string} name the name of the file\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data\n * @param {Object} options the options of the file\n */\nvar ZipObject = function(name, data, options) {\n this.name = name;\n this.dir = options.dir;\n this.date = options.date;\n this.comment = options.comment;\n\n this._data = data;\n this.options = options;\n\n /*\n * This object contains initial values for dir and date.\n * With them, we can check if the user changed the deprecated metadata in\n * `ZipObject#options` or not.\n */\n this._initialMetadata = {\n dir : options.dir,\n date : options.date\n };\n};\n\nZipObject.prototype = {\n /**\n * Return the content as UTF8 string.\n * @return {string} the UTF8 string.\n */\n asText: function() {\n return dataToString.call(this, true);\n },\n /**\n * Returns the binary content.\n * @return {string} the content as binary.\n */\n asBinary: function() {\n return dataToString.call(this, false);\n },\n /**\n * Returns the content as a nodejs Buffer.\n * @return {Buffer} the content as a Buffer.\n */\n asNodeBuffer: function() {\n var result = getBinaryData(this);\n return utils.transformTo(\"nodebuffer\", result);\n },\n /**\n * Returns the content as an Uint8Array.\n * @return {Uint8Array} the content as an Uint8Array.\n */\n asUint8Array: function() {\n var result = getBinaryData(this);\n return utils.transformTo(\"uint8array\", result);\n },\n /**\n * Returns the content as an ArrayBuffer.\n * @return {ArrayBuffer} the content as an ArrayBufer.\n */\n asArrayBuffer: function() {\n return this.asUint8Array().buffer;\n }\n};\n\n/**\n * Transform an integer into a string in hexadecimal.\n * @private\n * @param {number} dec the number to convert.\n * @param {number} bytes the number of bytes to generate.\n * @returns {string} the result.\n */\nvar decToHex = function(dec, bytes) {\n var hex = \"\",\n i;\n for (i = 0; i < bytes; i++) {\n hex += String.fromCharCode(dec & 0xff);\n dec = dec >>> 8;\n }\n return hex;\n};\n\n/**\n * Merge the objects passed as parameters into a new one.\n * @private\n * @param {...Object} var_args All objects to merge.\n * @return {Object} a new object with the data of the others.\n */\nvar extend = function() {\n var result = {}, i, attr;\n for (i = 0; i < arguments.length; i++) { // arguments is not enumerable in some browsers\n for (attr in arguments[i]) {\n if (arguments[i].hasOwnProperty(attr) && typeof result[attr] === \"undefined\") {\n result[attr] = arguments[i][attr];\n }\n }\n }\n return result;\n};\n\n/**\n * Transforms the (incomplete) options from the user into the complete\n * set of options to create a file.\n * @private\n * @param {Object} o the options from the user.\n * @return {Object} the complete set of options.\n */\nvar prepareFileAttrs = function(o) {\n o = o || {};\n if (o.base64 === true && (o.binary === null || o.binary === undefined)) {\n o.binary = true;\n }\n o = extend(o, defaults);\n o.date = o.date || new Date();\n if (o.compression !== null) o.compression = o.compression.toUpperCase();\n\n return o;\n};\n\n/**\n * Add a file in the current folder.\n * @private\n * @param {string} name the name of the file\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data of the file\n * @param {Object} o the options of the file\n * @return {Object} the new file.\n */\nvar fileAdd = function(name, data, o) {\n // be sure sub folders exist\n var dataType = utils.getTypeOf(data),\n parent;\n\n o = prepareFileAttrs(o);\n\n if (o.createFolders && (parent = parentFolder(name))) {\n folderAdd.call(this, parent, true);\n }\n\n if (o.dir || data === null || typeof data === \"undefined\") {\n o.base64 = false;\n o.binary = false;\n data = null;\n }\n else if (dataType === \"string\") {\n if (o.binary && !o.base64) {\n // optimizedBinaryString == true means that the file has already been filtered with a 0xFF mask\n if (o.optimizedBinaryString !== true) {\n // this is a string, not in a base64 format.\n // Be sure that this is a correct \"binary string\"\n data = utils.string2binary(data);\n }\n }\n }\n else { // arraybuffer, uint8array, ...\n o.base64 = false;\n o.binary = true;\n\n if (!dataType && !(data instanceof CompressedObject)) {\n throw new Error(\"The data of '\" + name + \"' is in an unsupported format !\");\n }\n\n // special case : it's way easier to work with Uint8Array than with ArrayBuffer\n if (dataType === \"arraybuffer\") {\n data = utils.transformTo(\"uint8array\", data);\n }\n }\n\n var object = new ZipObject(name, data, o);\n this.files[name] = object;\n return object;\n};\n\n/**\n * Find the parent folder of the path.\n * @private\n * @param {string} path the path to use\n * @return {string} the parent folder, or \"\"\n */\nvar parentFolder = function (path) {\n if (path.slice(-1) == '/') {\n path = path.substring(0, path.length - 1);\n }\n var lastSlash = path.lastIndexOf('/');\n return (lastSlash > 0) ? path.substring(0, lastSlash) : \"\";\n};\n\n/**\n * Add a (sub) folder in the current folder.\n * @private\n * @param {string} name the folder's name\n * @param {boolean=} [createFolders] If true, automatically create sub\n * folders. Defaults to false.\n * @return {Object} the new folder.\n */\nvar folderAdd = function(name, createFolders) {\n // Check the name ends with a /\n if (name.slice(-1) != \"/\") {\n name += \"/\"; // IE doesn't like substr(-1)\n }\n\n createFolders = (typeof createFolders !== 'undefined') ? createFolders : false;\n\n // Does this folder already exist?\n if (!this.files[name]) {\n fileAdd.call(this, name, null, {\n dir: true,\n createFolders: createFolders\n });\n }\n return this.files[name];\n};\n\n/**\n * Generate a JSZip.CompressedObject for a given zipOject.\n * @param {ZipObject} file the object to read.\n * @param {JSZip.compression} compression the compression to use.\n * @return {JSZip.CompressedObject} the compressed result.\n */\nvar generateCompressedObjectFrom = function(file, compression) {\n var result = new CompressedObject(),\n content;\n\n // the data has not been decompressed, we might reuse things !\n if (file._data instanceof CompressedObject) {\n result.uncompressedSize = file._data.uncompressedSize;\n result.crc32 = file._data.crc32;\n\n if (result.uncompressedSize === 0 || file.dir) {\n compression = compressions['STORE'];\n result.compressedContent = \"\";\n result.crc32 = 0;\n }\n else if (file._data.compressionMethod === compression.magic) {\n result.compressedContent = file._data.getCompressedContent();\n }\n else {\n content = file._data.getContent();\n // need to decompress / recompress\n result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content));\n }\n }\n else {\n // have uncompressed data\n content = getBinaryData(file);\n if (!content || content.length === 0 || file.dir) {\n compression = compressions['STORE'];\n content = \"\";\n }\n result.uncompressedSize = content.length;\n result.crc32 = crc32(content);\n result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content));\n }\n\n result.compressedSize = result.compressedContent.length;\n result.compressionMethod = compression.magic;\n\n return result;\n};\n\n/**\n * Generate the various parts used in the construction of the final zip file.\n * @param {string} name the file name.\n * @param {ZipObject} file the file content.\n * @param {JSZip.CompressedObject} compressedObject the compressed object.\n * @param {number} offset the current offset from the start of the zip file.\n * @return {object} the zip parts.\n */\nvar generateZipParts = function(name, file, compressedObject, offset) {\n var data = compressedObject.compressedContent,\n utfEncodedFileName = utils.transformTo(\"string\", utf8.utf8encode(file.name)),\n comment = file.comment || \"\",\n utfEncodedComment = utils.transformTo(\"string\", utf8.utf8encode(comment)),\n useUTF8ForFileName = utfEncodedFileName.length !== file.name.length,\n useUTF8ForComment = utfEncodedComment.length !== comment.length,\n o = file.options,\n dosTime,\n dosDate,\n extraFields = \"\",\n unicodePathExtraField = \"\",\n unicodeCommentExtraField = \"\",\n dir, date;\n\n\n // handle the deprecated options.dir\n if (file._initialMetadata.dir !== file.dir) {\n dir = file.dir;\n } else {\n dir = o.dir;\n }\n\n // handle the deprecated options.date\n if(file._initialMetadata.date !== file.date) {\n date = file.date;\n } else {\n date = o.date;\n }\n\n\n dosTime = date.getHours();\n dosTime = dosTime << 6;\n dosTime = dosTime | date.getMinutes();\n dosTime = dosTime << 5;\n dosTime = dosTime | date.getSeconds() / 2;\n\n dosDate = date.getFullYear() - 1980;\n dosDate = dosDate << 4;\n dosDate = dosDate | (date.getMonth() + 1);\n dosDate = dosDate << 5;\n dosDate = dosDate | date.getDate();\n\n if (useUTF8ForFileName) {\n // set the unicode path extra field. unzip needs at least one extra\n // field to correctly handle unicode path, so using the path is as good\n // as any other information. This could improve the situation with\n // other archive managers too.\n // This field is usually used without the utf8 flag, with a non\n // unicode path in the header (winrar, winzip). This helps (a bit)\n // with the messy Windows' default compressed folders feature but\n // breaks on p7zip which doesn't seek the unicode path extra field.\n // So for now, UTF-8 everywhere !\n unicodePathExtraField =\n // Version\n decToHex(1, 1) +\n // NameCRC32\n decToHex(crc32(utfEncodedFileName), 4) +\n // UnicodeName\n utfEncodedFileName;\n\n extraFields +=\n // Info-ZIP Unicode Path Extra Field\n \"\\x75\\x70\" +\n // size\n decToHex(unicodePathExtraField.length, 2) +\n // content\n unicodePathExtraField;\n }\n\n if(useUTF8ForComment) {\n\n unicodeCommentExtraField =\n // Version\n decToHex(1, 1) +\n // CommentCRC32\n decToHex(this.crc32(utfEncodedComment), 4) +\n // UnicodeName\n utfEncodedComment;\n\n extraFields +=\n // Info-ZIP Unicode Path Extra Field\n \"\\x75\\x63\" +\n // size\n decToHex(unicodeCommentExtraField.length, 2) +\n // content\n unicodeCommentExtraField;\n }\n\n var header = \"\";\n\n // version needed to extract\n header += \"\\x0A\\x00\";\n // general purpose bit flag\n // set bit 11 if utf8\n header += (useUTF8ForFileName || useUTF8ForComment) ? \"\\x00\\x08\" : \"\\x00\\x00\";\n // compression method\n header += compressedObject.compressionMethod;\n // last mod file time\n header += decToHex(dosTime, 2);\n // last mod file date\n header += decToHex(dosDate, 2);\n // crc-32\n header += decToHex(compressedObject.crc32, 4);\n // compressed size\n header += decToHex(compressedObject.compressedSize, 4);\n // uncompressed size\n header += decToHex(compressedObject.uncompressedSize, 4);\n // file name length\n header += decToHex(utfEncodedFileName.length, 2);\n // extra field length\n header += decToHex(extraFields.length, 2);\n\n\n var fileRecord = signature.LOCAL_FILE_HEADER + header + utfEncodedFileName + extraFields;\n\n var dirRecord = signature.CENTRAL_FILE_HEADER +\n // version made by (00: DOS)\n \"\\x14\\x00\" +\n // file header (common to file and central directory)\n header +\n // file comment length\n decToHex(utfEncodedComment.length, 2) +\n // disk number start\n \"\\x00\\x00\" +\n // internal file attributes TODO\n \"\\x00\\x00\" +\n // external file attributes\n (dir === true ? \"\\x10\\x00\\x00\\x00\" : \"\\x00\\x00\\x00\\x00\") +\n // relative offset of local header\n decToHex(offset, 4) +\n // file name\n utfEncodedFileName +\n // extra field\n extraFields +\n // file comment\n utfEncodedComment;\n\n return {\n fileRecord: fileRecord,\n dirRecord: dirRecord,\n compressedObject: compressedObject\n };\n};\n\n\n// return the actual prototype of JSZip\nvar out = {\n /**\n * Read an existing zip and merge the data in the current JSZip object.\n * The implementation is in jszip-load.js, don't forget to include it.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} stream The stream to load\n * @param {Object} options Options for loading the stream.\n * options.base64 : is the stream in base64 ? default : false\n * @return {JSZip} the current JSZip object\n */\n load: function(stream, options) {\n throw new Error(\"Load method is not defined. Is the file jszip-load.js included ?\");\n },\n\n /**\n * Filter nested files/folders with the specified function.\n * @param {Function} search the predicate to use :\n * function (relativePath, file) {...}\n * It takes 2 arguments : the relative path and the file.\n * @return {Array} An array of matching elements.\n */\n filter: function(search) {\n var result = [],\n filename, relativePath, file, fileClone;\n for (filename in this.files) {\n if (!this.files.hasOwnProperty(filename)) {\n continue;\n }\n file = this.files[filename];\n // return a new object, don't let the user mess with our internal objects :)\n fileClone = new ZipObject(file.name, file._data, extend(file.options));\n relativePath = filename.slice(this.root.length, filename.length);\n if (filename.slice(0, this.root.length) === this.root && // the file is in the current root\n search(relativePath, fileClone)) { // and the file matches the function\n result.push(fileClone);\n }\n }\n return result;\n },\n\n /**\n * Add a file to the zip file, or search a file.\n * @param {string|RegExp} name The name of the file to add (if data is defined),\n * the name of the file to find (if no data) or a regex to match files.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded\n * @param {Object} o File options\n * @return {JSZip|Object|Array} this JSZip object (when adding a file),\n * a file (when searching by string) or an array of files (when searching by regex).\n */\n file: function(name, data, o) {\n if (arguments.length === 1) {\n if (utils.isRegExp(name)) {\n var regexp = name;\n return this.filter(function(relativePath, file) {\n return !file.dir && regexp.test(relativePath);\n });\n }\n else { // text\n return this.filter(function(relativePath, file) {\n return !file.dir && relativePath === name;\n })[0] || null;\n }\n }\n else { // more than one argument : we have data !\n name = this.root + name;\n fileAdd.call(this, name, data, o);\n }\n return this;\n },\n\n /**\n * Add a directory to the zip file, or search.\n * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders.\n * @return {JSZip} an object with the new directory as the root, or an array containing matching folders.\n */\n folder: function(arg) {\n if (!arg) {\n return this;\n }\n\n if (utils.isRegExp(arg)) {\n return this.filter(function(relativePath, file) {\n return file.dir && arg.test(relativePath);\n });\n }\n\n // else, name is a new folder\n var name = this.root + arg;\n var newFolder = folderAdd.call(this, name);\n\n // Allow chaining by returning a new object with this folder as the root\n var ret = this.clone();\n ret.root = newFolder.name;\n return ret;\n },\n\n /**\n * Delete a file, or a directory and all sub-files, from the zip\n * @param {string} name the name of the file to delete\n * @return {JSZip} this JSZip object\n */\n remove: function(name) {\n name = this.root + name;\n var file = this.files[name];\n if (!file) {\n // Look for any folders\n if (name.slice(-1) != \"/\") {\n name += \"/\";\n }\n file = this.files[name];\n }\n\n if (file && !file.dir) {\n // file\n delete this.files[name];\n } else {\n // maybe a folder, delete recursively\n var kids = this.filter(function(relativePath, file) {\n return file.name.slice(0, name.length) === name;\n });\n for (var i = 0; i < kids.length; i++) {\n delete this.files[kids[i].name];\n }\n }\n\n return this;\n },\n\n /**\n * Generate the complete zip file\n * @param {Object} options the options to generate the zip file :\n * - base64, (deprecated, use type instead) true to generate base64.\n * - compression, \"STORE\" by default.\n * - type, \"base64\" by default. Values are : string, base64, uint8array, arraybuffer, blob.\n * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file\n */\n generate: function(options) {\n options = extend(options || {}, {\n base64: true,\n compression: \"STORE\",\n type: \"base64\",\n comment: null\n });\n\n utils.checkSupport(options.type);\n\n var zipData = [],\n localDirLength = 0,\n centralDirLength = 0,\n writer, i,\n utfEncodedComment = utils.transformTo(\"string\", this.utf8encode(options.comment || this.comment || \"\"));\n\n // first, generate all the zip parts.\n for (var name in this.files) {\n if (!this.files.hasOwnProperty(name)) {\n continue;\n }\n var file = this.files[name];\n\n var compressionName = file.options.compression || options.compression.toUpperCase();\n var compression = compressions[compressionName];\n if (!compression) {\n throw new Error(compressionName + \" is not a valid compression method !\");\n }\n\n var compressedObject = generateCompressedObjectFrom.call(this, file, compression);\n\n var zipPart = generateZipParts.call(this, name, file, compressedObject, localDirLength);\n localDirLength += zipPart.fileRecord.length + compressedObject.compressedSize;\n centralDirLength += zipPart.dirRecord.length;\n zipData.push(zipPart);\n }\n\n var dirEnd = \"\";\n\n // end of central dir signature\n dirEnd = signature.CENTRAL_DIRECTORY_END +\n // number of this disk\n \"\\x00\\x00\" +\n // number of the disk with the start of the central directory\n \"\\x00\\x00\" +\n // total number of entries in the central directory on this disk\n decToHex(zipData.length, 2) +\n // total number of entries in the central directory\n decToHex(zipData.length, 2) +\n // size of the central directory 4 bytes\n decToHex(centralDirLength, 4) +\n // offset of start of central directory with respect to the starting disk number\n decToHex(localDirLength, 4) +\n // .ZIP file comment length\n decToHex(utfEncodedComment.length, 2) +\n // .ZIP file comment\n utfEncodedComment;\n\n\n // we have all the parts (and the total length)\n // time to create a writer !\n var typeName = options.type.toLowerCase();\n if(typeName===\"uint8array\"||typeName===\"arraybuffer\"||typeName===\"blob\"||typeName===\"nodebuffer\") {\n writer = new Uint8ArrayWriter(localDirLength + centralDirLength + dirEnd.length);\n }else{\n writer = new StringWriter(localDirLength + centralDirLength + dirEnd.length);\n }\n\n for (i = 0; i < zipData.length; i++) {\n writer.append(zipData[i].fileRecord);\n writer.append(zipData[i].compressedObject.compressedContent);\n }\n for (i = 0; i < zipData.length; i++) {\n writer.append(zipData[i].dirRecord);\n }\n\n writer.append(dirEnd);\n\n var zip = writer.finalize();\n\n\n\n switch(options.type.toLowerCase()) {\n // case \"zip is an Uint8Array\"\n case \"uint8array\" :\n case \"arraybuffer\" :\n case \"nodebuffer\" :\n return utils.transformTo(options.type.toLowerCase(), zip);\n case \"blob\" :\n return utils.arrayBuffer2Blob(utils.transformTo(\"arraybuffer\", zip));\n // case \"zip is a string\"\n case \"base64\" :\n return (options.base64) ? base64.encode(zip) : zip;\n default : // case \"string\" :\n return zip;\n }\n\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n crc32: function (input, crc) {\n return crc32(input, crc);\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n utf8encode: function (string) {\n return utils.transformTo(\"string\", utf8.utf8encode(string));\n },\n\n /**\n * @deprecated\n * This method will be removed in a future version without replacement.\n */\n utf8decode: function (input) {\n return utf8.utf8decode(input);\n }\n};\nmodule.exports = out;\n\n},{\"./base64\":1,\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./defaults\":6,\"./nodeBuffer\":11,\"./signature\":14,\"./stringWriter\":16,\"./support\":17,\"./uint8ArrayWriter\":19,\"./utf8\":20,\"./utils\":21}],14:[function(_dereq_,module,exports){\n'use strict';\nexports.LOCAL_FILE_HEADER = \"PK\\x03\\x04\";\nexports.CENTRAL_FILE_HEADER = \"PK\\x01\\x02\";\nexports.CENTRAL_DIRECTORY_END = \"PK\\x05\\x06\";\nexports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = \"PK\\x06\\x07\";\nexports.ZIP64_CENTRAL_DIRECTORY_END = \"PK\\x06\\x06\";\nexports.DATA_DESCRIPTOR = \"PK\\x07\\x08\";\n\n},{}],15:[function(_dereq_,module,exports){\n'use strict';\nvar DataReader = _dereq_('./dataReader');\nvar utils = _dereq_('./utils');\n\nfunction StringReader(data, optimizedBinaryString) {\n this.data = data;\n if (!optimizedBinaryString) {\n this.data = utils.string2binary(this.data);\n }\n this.length = this.data.length;\n this.index = 0;\n}\nStringReader.prototype = new DataReader();\n/**\n * @see DataReader.byteAt\n */\nStringReader.prototype.byteAt = function(i) {\n return this.data.charCodeAt(i);\n};\n/**\n * @see DataReader.lastIndexOfSignature\n */\nStringReader.prototype.lastIndexOfSignature = function(sig) {\n return this.data.lastIndexOf(sig);\n};\n/**\n * @see DataReader.readData\n */\nStringReader.prototype.readData = function(size) {\n this.checkOffset(size);\n // this will work because the constructor applied the \"& 0xff\" mask.\n var result = this.data.slice(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = StringReader;\n\n},{\"./dataReader\":5,\"./utils\":21}],16:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\n/**\n * An object to write any content to a string.\n * @constructor\n */\nvar StringWriter = function() {\n this.data = [];\n};\nStringWriter.prototype = {\n /**\n * Append any content to the current string.\n * @param {Object} input the content to add.\n */\n append: function(input) {\n input = utils.transformTo(\"string\", input);\n this.data.push(input);\n },\n /**\n * Finalize the construction an return the result.\n * @return {string} the generated string.\n */\n finalize: function() {\n return this.data.join(\"\");\n }\n};\n\nmodule.exports = StringWriter;\n\n},{\"./utils\":21}],17:[function(_dereq_,module,exports){\n(function (Buffer){\n'use strict';\nexports.base64 = true;\nexports.array = true;\nexports.string = true;\nexports.arraybuffer = typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\";\n// contains true if JSZip can read/generate nodejs Buffer, false otherwise.\n// Browserify will provide a Buffer implementation for browsers, which is\n// an augmented Uint8Array (i.e., can be used as either Buffer or U8).\nexports.nodebuffer = typeof Buffer !== \"undefined\";\n// contains true if JSZip can read/generate Uint8Array, false otherwise.\nexports.uint8array = typeof Uint8Array !== \"undefined\";\n\nif (typeof ArrayBuffer === \"undefined\") {\n exports.blob = false;\n}\nelse {\n var buffer = new ArrayBuffer(0);\n try {\n exports.blob = new Blob([buffer], {\n type: \"application/zip\"\n }).size === 0;\n }\n catch (e) {\n try {\n var Builder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n var builder = new Builder();\n builder.append(buffer);\n exports.blob = builder.getBlob('application/zip').size === 0;\n }\n catch (e) {\n exports.blob = false;\n }\n }\n}\n\n}).call(this,(typeof Buffer !== \"undefined\" ? Buffer : undefined))\n},{}],18:[function(_dereq_,module,exports){\n'use strict';\nvar DataReader = _dereq_('./dataReader');\n\nfunction Uint8ArrayReader(data) {\n if (data) {\n this.data = data;\n this.length = this.data.length;\n this.index = 0;\n }\n}\nUint8ArrayReader.prototype = new DataReader();\n/**\n * @see DataReader.byteAt\n */\nUint8ArrayReader.prototype.byteAt = function(i) {\n return this.data[i];\n};\n/**\n * @see DataReader.lastIndexOfSignature\n */\nUint8ArrayReader.prototype.lastIndexOfSignature = function(sig) {\n var sig0 = sig.charCodeAt(0),\n sig1 = sig.charCodeAt(1),\n sig2 = sig.charCodeAt(2),\n sig3 = sig.charCodeAt(3);\n for (var i = this.length - 4; i >= 0; --i) {\n if (this.data[i] === sig0 && this.data[i + 1] === sig1 && this.data[i + 2] === sig2 && this.data[i + 3] === sig3) {\n return i;\n }\n }\n\n return -1;\n};\n/**\n * @see DataReader.readData\n */\nUint8ArrayReader.prototype.readData = function(size) {\n this.checkOffset(size);\n if(size === 0) {\n // in IE10, when using subarray(idx, idx), we get the array [0x00] instead of [].\n return new Uint8Array(0);\n }\n var result = this.data.subarray(this.index, this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = Uint8ArrayReader;\n\n},{\"./dataReader\":5}],19:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\n\n/**\n * An object to write any content to an Uint8Array.\n * @constructor\n * @param {number} length The length of the array.\n */\nvar Uint8ArrayWriter = function(length) {\n this.data = new Uint8Array(length);\n this.index = 0;\n};\nUint8ArrayWriter.prototype = {\n /**\n * Append any content to the current array.\n * @param {Object} input the content to add.\n */\n append: function(input) {\n if (input.length !== 0) {\n // with an empty Uint8Array, Opera fails with a \"Offset larger than array size\"\n input = utils.transformTo(\"uint8array\", input);\n this.data.set(input, this.index);\n this.index += input.length;\n }\n },\n /**\n * Finalize the construction an return the result.\n * @return {Uint8Array} the generated array.\n */\n finalize: function() {\n return this.data;\n }\n};\n\nmodule.exports = Uint8ArrayWriter;\n\n},{\"./utils\":21}],20:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('./utils');\nvar support = _dereq_('./support');\nvar nodeBuffer = _dereq_('./nodeBuffer');\n\n/**\n * The following functions come from pako, from pako/lib/utils/strings\n * released under the MIT license, see pako https://github.com/nodeca/pako/\n */\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new Array(256);\nfor (var i=0; i<256; i++) {\n _utf8len[i] = (i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);\n}\n_utf8len[254]=_utf8len[254]=1; // Invalid sequence start\n\n// convert string to array (typed, when possible)\nvar string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if (((c & 0xfc00) === 0xd800) && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += (c < 0x80) ? 1 : ((c < 0x800) ? 2 : ((c < 0x10000) ? 3 : 4));\n }\n\n // allocate buffer\n if (support.uint8array) {\n buf = new Uint8Array(buf_len);\n } else {\n buf = new Array(buf_len);\n }\n\n // convert\n for (i=0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | ((c >>> 6) & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | ((c >>> 12) & 0x3f);\n buf[i++] = 0x80 | ((c >>> 6) & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nvar utf8border = function(buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max-1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Fuckup - very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means vuffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n// convert array to string\nvar buf2string = function (buf) {\n var str, i, out, c, c_len;\n var len = buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len*2);\n\n for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n // shrinkBuf(utf16buf, out)\n if (utf16buf.length !== out) {\n if(utf16buf.subarray) {\n utf16buf = utf16buf.subarray(0, out);\n } else {\n utf16buf.length = out;\n }\n }\n\n // return String.fromCharCode.apply(null, utf16buf);\n return utils.applyFromCharCode(utf16buf);\n};\n\n\n// That's all for the pako functions.\n\n\n/**\n * Transform a javascript string into an array (typed if possible) of bytes,\n * UTF-8 encoded.\n * @param {String} str the string to encode\n * @return {Array|Uint8Array|Buffer} the UTF-8 encoded string.\n */\nexports.utf8encode = function utf8encode(str) {\n if (support.nodebuffer) {\n return nodeBuffer(str, \"utf-8\");\n }\n\n return string2buf(str);\n};\n\n\n/**\n * Transform a bytes array (or a representation) representing an UTF-8 encoded\n * string into a javascript string.\n * @param {Array|Uint8Array|Buffer} buf the data de decode\n * @return {String} the decoded string.\n */\nexports.utf8decode = function utf8decode(buf) {\n if (support.nodebuffer) {\n return utils.transformTo(\"nodebuffer\", buf).toString(\"utf-8\");\n }\n\n buf = utils.transformTo(support.uint8array ? \"uint8array\" : \"array\", buf);\n\n // return buf2string(buf);\n // Chrome prefers to work with \"small\" chunks of data\n // for the method buf2string.\n // Firefox and Chrome has their own shortcut, IE doesn't seem to really care.\n var result = [], k = 0, len = buf.length, chunk = 65536;\n while (k < len) {\n var nextBoundary = utf8border(buf, Math.min(k + chunk, len));\n if (support.uint8array) {\n result.push(buf2string(buf.subarray(k, nextBoundary)));\n } else {\n result.push(buf2string(buf.slice(k, nextBoundary)));\n }\n k = nextBoundary;\n }\n return result.join(\"\");\n\n};\n// vim: set shiftwidth=4 softtabstop=4:\n\n},{\"./nodeBuffer\":11,\"./support\":17,\"./utils\":21}],21:[function(_dereq_,module,exports){\n'use strict';\nvar support = _dereq_('./support');\nvar compressions = _dereq_('./compressions');\nvar nodeBuffer = _dereq_('./nodeBuffer');\n/**\n * Convert a string to a \"binary string\" : a string containing only char codes between 0 and 255.\n * @param {string} str the string to transform.\n * @return {String} the binary string.\n */\nexports.string2binary = function(str) {\n var result = \"\";\n for (var i = 0; i < str.length; i++) {\n result += String.fromCharCode(str.charCodeAt(i) & 0xff);\n }\n return result;\n};\nexports.arrayBuffer2Blob = function(buffer) {\n exports.checkSupport(\"blob\");\n\n try {\n // Blob constructor\n return new Blob([buffer], {\n type: \"application/zip\"\n });\n }\n catch (e) {\n\n try {\n // deprecated, browser only, old way\n var Builder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n var builder = new Builder();\n builder.append(buffer);\n return builder.getBlob('application/zip');\n }\n catch (e) {\n\n // well, fuck ?!\n throw new Error(\"Bug : can't construct the Blob.\");\n }\n }\n\n\n};\n/**\n * The identity function.\n * @param {Object} input the input.\n * @return {Object} the same input.\n */\nfunction identity(input) {\n return input;\n}\n\n/**\n * Fill in an array with a string.\n * @param {String} str the string to use.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to fill in (will be mutated).\n * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated array.\n */\nfunction stringToArrayLike(str, array) {\n for (var i = 0; i < str.length; ++i) {\n array[i] = str.charCodeAt(i) & 0xFF;\n }\n return array;\n}\n\n/**\n * Transform an array-like object to a string.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.\n * @return {String} the result.\n */\nfunction arrayLikeToString(array) {\n // Performances notes :\n // --------------------\n // String.fromCharCode.apply(null, array) is the fastest, see\n // see http://jsperf.com/converting-a-uint8array-to-a-string/2\n // but the stack is limited (and we can get huge arrays !).\n //\n // result += String.fromCharCode(array[i]); generate too many strings !\n //\n // This code is inspired by http://jsperf.com/arraybuffer-to-string-apply-performance/2\n var chunk = 65536;\n var result = [],\n len = array.length,\n type = exports.getTypeOf(array),\n k = 0,\n canUseApply = true;\n try {\n switch(type) {\n case \"uint8array\":\n String.fromCharCode.apply(null, new Uint8Array(0));\n break;\n case \"nodebuffer\":\n String.fromCharCode.apply(null, nodeBuffer(0));\n break;\n }\n } catch(e) {\n canUseApply = false;\n }\n\n // no apply : slow and painful algorithm\n // default browser on android 4.*\n if (!canUseApply) {\n var resultStr = \"\";\n for(var i = 0; i < array.length;i++) {\n resultStr += String.fromCharCode(array[i]);\n }\n return resultStr;\n }\n while (k < len && chunk > 1) {\n try {\n if (type === \"array\" || type === \"nodebuffer\") {\n result.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len))));\n }\n else {\n result.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len))));\n }\n k += chunk;\n }\n catch (e) {\n chunk = Math.floor(chunk / 2);\n }\n }\n return result.join(\"\");\n}\n\nexports.applyFromCharCode = arrayLikeToString;\n\n\n/**\n * Copy the data from an array-like to an other array-like.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayFrom the origin array.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayTo the destination array which will be mutated.\n * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated destination array.\n */\nfunction arrayLikeToArrayLike(arrayFrom, arrayTo) {\n for (var i = 0; i < arrayFrom.length; i++) {\n arrayTo[i] = arrayFrom[i];\n }\n return arrayTo;\n}\n\n// a matrix containing functions to transform everything into everything.\nvar transform = {};\n\n// string to ?\ntransform[\"string\"] = {\n \"string\": identity,\n \"array\": function(input) {\n return stringToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return transform[\"string\"][\"uint8array\"](input).buffer;\n },\n \"uint8array\": function(input) {\n return stringToArrayLike(input, new Uint8Array(input.length));\n },\n \"nodebuffer\": function(input) {\n return stringToArrayLike(input, nodeBuffer(input.length));\n }\n};\n\n// array to ?\ntransform[\"array\"] = {\n \"string\": arrayLikeToString,\n \"array\": identity,\n \"arraybuffer\": function(input) {\n return (new Uint8Array(input)).buffer;\n },\n \"uint8array\": function(input) {\n return new Uint8Array(input);\n },\n \"nodebuffer\": function(input) {\n return nodeBuffer(input);\n }\n};\n\n// arraybuffer to ?\ntransform[\"arraybuffer\"] = {\n \"string\": function(input) {\n return arrayLikeToString(new Uint8Array(input));\n },\n \"array\": function(input) {\n return arrayLikeToArrayLike(new Uint8Array(input), new Array(input.byteLength));\n },\n \"arraybuffer\": identity,\n \"uint8array\": function(input) {\n return new Uint8Array(input);\n },\n \"nodebuffer\": function(input) {\n return nodeBuffer(new Uint8Array(input));\n }\n};\n\n// uint8array to ?\ntransform[\"uint8array\"] = {\n \"string\": arrayLikeToString,\n \"array\": function(input) {\n return arrayLikeToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return input.buffer;\n },\n \"uint8array\": identity,\n \"nodebuffer\": function(input) {\n return nodeBuffer(input);\n }\n};\n\n// nodebuffer to ?\ntransform[\"nodebuffer\"] = {\n \"string\": arrayLikeToString,\n \"array\": function(input) {\n return arrayLikeToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return transform[\"nodebuffer\"][\"uint8array\"](input).buffer;\n },\n \"uint8array\": function(input) {\n return arrayLikeToArrayLike(input, new Uint8Array(input.length));\n },\n \"nodebuffer\": identity\n};\n\n/**\n * Transform an input into any type.\n * The supported output type are : string, array, uint8array, arraybuffer, nodebuffer.\n * If no output type is specified, the unmodified input will be returned.\n * @param {String} outputType the output type.\n * @param {String|Array|ArrayBuffer|Uint8Array|Buffer} input the input to convert.\n * @throws {Error} an Error if the browser doesn't support the requested output type.\n */\nexports.transformTo = function(outputType, input) {\n if (!input) {\n // undefined, null, etc\n // an empty string won't harm.\n input = \"\";\n }\n if (!outputType) {\n return input;\n }\n exports.checkSupport(outputType);\n var inputType = exports.getTypeOf(input);\n var result = transform[inputType][outputType](input);\n return result;\n};\n\n/**\n * Return the type of the input.\n * The type will be in a format valid for JSZip.utils.transformTo : string, array, uint8array, arraybuffer.\n * @param {Object} input the input to identify.\n * @return {String} the (lowercase) type of the input.\n */\nexports.getTypeOf = function(input) {\n if (typeof input === \"string\") {\n return \"string\";\n }\n if (Object.prototype.toString.call(input) === \"[object Array]\") {\n return \"array\";\n }\n if (support.nodebuffer && nodeBuffer.test(input)) {\n return \"nodebuffer\";\n }\n if (support.uint8array && input instanceof Uint8Array) {\n return \"uint8array\";\n }\n if (support.arraybuffer && input instanceof ArrayBuffer) {\n return \"arraybuffer\";\n }\n};\n\n/**\n * Throw an exception if the type is not supported.\n * @param {String} type the type to check.\n * @throws {Error} an Error if the browser doesn't support the requested type.\n */\nexports.checkSupport = function(type) {\n var supported = support[type.toLowerCase()];\n if (!supported) {\n throw new Error(type + \" is not supported by this browser\");\n }\n};\nexports.MAX_VALUE_16BITS = 65535;\nexports.MAX_VALUE_32BITS = -1; // well, \"\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\" is parsed as -1\n\n/**\n * Prettify a string read as binary.\n * @param {string} str the string to prettify.\n * @return {string} a pretty string.\n */\nexports.pretty = function(str) {\n var res = '',\n code, i;\n for (i = 0; i < (str || \"\").length; i++) {\n code = str.charCodeAt(i);\n res += '\\\\x' + (code < 16 ? \"0\" : \"\") + code.toString(16).toUpperCase();\n }\n return res;\n};\n\n/**\n * Find a compression registered in JSZip.\n * @param {string} compressionMethod the method magic to find.\n * @return {Object|null} the JSZip compression object, null if none found.\n */\nexports.findCompression = function(compressionMethod) {\n for (var method in compressions) {\n if (!compressions.hasOwnProperty(method)) {\n continue;\n }\n if (compressions[method].magic === compressionMethod) {\n return compressions[method];\n }\n }\n return null;\n};\n/**\n* Cross-window, cross-Node-context regular expression detection\n* @param {Object} object Anything\n* @return {Boolean} true if the object is a regular expression,\n* false otherwise\n*/\nexports.isRegExp = function (object) {\n return Object.prototype.toString.call(object) === \"[object RegExp]\";\n};\n\n\n},{\"./compressions\":3,\"./nodeBuffer\":11,\"./support\":17}],22:[function(_dereq_,module,exports){\n'use strict';\nvar StringReader = _dereq_('./stringReader');\nvar NodeBufferReader = _dereq_('./nodeBufferReader');\nvar Uint8ArrayReader = _dereq_('./uint8ArrayReader');\nvar utils = _dereq_('./utils');\nvar sig = _dereq_('./signature');\nvar ZipEntry = _dereq_('./zipEntry');\nvar support = _dereq_('./support');\nvar jszipProto = _dereq_('./object');\n// class ZipEntries {{{\n/**\n * All the entries in the zip file.\n * @constructor\n * @param {String|ArrayBuffer|Uint8Array} data the binary stream to load.\n * @param {Object} loadOptions Options for loading the stream.\n */\nfunction ZipEntries(data, loadOptions) {\n this.files = [];\n this.loadOptions = loadOptions;\n if (data) {\n this.load(data);\n }\n}\nZipEntries.prototype = {\n /**\n * Check that the reader is on the speficied signature.\n * @param {string} expectedSignature the expected signature.\n * @throws {Error} if it is an other signature.\n */\n checkSignature: function(expectedSignature) {\n var signature = this.reader.readString(4);\n if (signature !== expectedSignature) {\n throw new Error(\"Corrupted zip or bug : unexpected signature \" + \"(\" + utils.pretty(signature) + \", expected \" + utils.pretty(expectedSignature) + \")\");\n }\n },\n /**\n * Read the end of the central directory.\n */\n readBlockEndOfCentral: function() {\n this.diskNumber = this.reader.readInt(2);\n this.diskWithCentralDirStart = this.reader.readInt(2);\n this.centralDirRecordsOnThisDisk = this.reader.readInt(2);\n this.centralDirRecords = this.reader.readInt(2);\n this.centralDirSize = this.reader.readInt(4);\n this.centralDirOffset = this.reader.readInt(4);\n\n this.zipCommentLength = this.reader.readInt(2);\n // warning : the encoding depends of the system locale\n // On a linux machine with LANG=en_US.utf8, this field is utf8 encoded.\n // On a windows machine, this field is encoded with the localized windows code page.\n this.zipComment = this.reader.readString(this.zipCommentLength);\n // To get consistent behavior with the generation part, we will assume that\n // this is utf8 encoded.\n this.zipComment = jszipProto.utf8decode(this.zipComment);\n },\n /**\n * Read the end of the Zip 64 central directory.\n * Not merged with the method readEndOfCentral :\n * The end of central can coexist with its Zip64 brother,\n * I don't want to read the wrong number of bytes !\n */\n readBlockZip64EndOfCentral: function() {\n this.zip64EndOfCentralSize = this.reader.readInt(8);\n this.versionMadeBy = this.reader.readString(2);\n this.versionNeeded = this.reader.readInt(2);\n this.diskNumber = this.reader.readInt(4);\n this.diskWithCentralDirStart = this.reader.readInt(4);\n this.centralDirRecordsOnThisDisk = this.reader.readInt(8);\n this.centralDirRecords = this.reader.readInt(8);\n this.centralDirSize = this.reader.readInt(8);\n this.centralDirOffset = this.reader.readInt(8);\n\n this.zip64ExtensibleData = {};\n var extraDataSize = this.zip64EndOfCentralSize - 44,\n index = 0,\n extraFieldId,\n extraFieldLength,\n extraFieldValue;\n while (index < extraDataSize) {\n extraFieldId = this.reader.readInt(2);\n extraFieldLength = this.reader.readInt(4);\n extraFieldValue = this.reader.readString(extraFieldLength);\n this.zip64ExtensibleData[extraFieldId] = {\n id: extraFieldId,\n length: extraFieldLength,\n value: extraFieldValue\n };\n }\n },\n /**\n * Read the end of the Zip 64 central directory locator.\n */\n readBlockZip64EndOfCentralLocator: function() {\n this.diskWithZip64CentralDirStart = this.reader.readInt(4);\n this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8);\n this.disksCount = this.reader.readInt(4);\n if (this.disksCount > 1) {\n throw new Error(\"Multi-volumes zip are not supported\");\n }\n },\n /**\n * Read the local files, based on the offset read in the central part.\n */\n readLocalFiles: function() {\n var i, file;\n for (i = 0; i < this.files.length; i++) {\n file = this.files[i];\n this.reader.setIndex(file.localHeaderOffset);\n this.checkSignature(sig.LOCAL_FILE_HEADER);\n file.readLocalPart(this.reader);\n file.handleUTF8();\n }\n },\n /**\n * Read the central directory.\n */\n readCentralDir: function() {\n var file;\n\n this.reader.setIndex(this.centralDirOffset);\n while (this.reader.readString(4) === sig.CENTRAL_FILE_HEADER) {\n file = new ZipEntry({\n zip64: this.zip64\n }, this.loadOptions);\n file.readCentralPart(this.reader);\n this.files.push(file);\n }\n },\n /**\n * Read the end of central directory.\n */\n readEndOfCentral: function() {\n var offset = this.reader.lastIndexOfSignature(sig.CENTRAL_DIRECTORY_END);\n if (offset === -1) {\n throw new Error(\"Corrupted zip : can't find end of central directory\");\n }\n this.reader.setIndex(offset);\n this.checkSignature(sig.CENTRAL_DIRECTORY_END);\n this.readBlockEndOfCentral();\n\n\n /* extract from the zip spec :\n 4) If one of the fields in the end of central directory\n record is too small to hold required data, the field\n should be set to -1 (0xFFFF or 0xFFFFFFFF) and the\n ZIP64 format record should be created.\n 5) The end of central directory record and the\n Zip64 end of central directory locator record must\n reside on the same disk when splitting or spanning\n an archive.\n */\n if (this.diskNumber === utils.MAX_VALUE_16BITS || this.diskWithCentralDirStart === utils.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === utils.MAX_VALUE_16BITS || this.centralDirRecords === utils.MAX_VALUE_16BITS || this.centralDirSize === utils.MAX_VALUE_32BITS || this.centralDirOffset === utils.MAX_VALUE_32BITS) {\n this.zip64 = true;\n\n /*\n Warning : the zip64 extension is supported, but ONLY if the 64bits integer read from\n the zip file can fit into a 32bits integer. This cannot be solved : Javascript represents\n all numbers as 64-bit double precision IEEE 754 floating point numbers.\n So, we have 53bits for integers and bitwise operations treat everything as 32bits.\n see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Bitwise_Operators\n and http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf section 8.5\n */\n\n // should look for a zip64 EOCD locator\n offset = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);\n if (offset === -1) {\n throw new Error(\"Corrupted zip : can't find the ZIP64 end of central directory locator\");\n }\n this.reader.setIndex(offset);\n this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);\n this.readBlockZip64EndOfCentralLocator();\n\n // now the zip64 EOCD record\n this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir);\n this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_END);\n this.readBlockZip64EndOfCentral();\n }\n },\n prepareReader: function(data) {\n var type = utils.getTypeOf(data);\n if (type === \"string\" && !support.uint8array) {\n this.reader = new StringReader(data, this.loadOptions.optimizedBinaryString);\n }\n else if (type === \"nodebuffer\") {\n this.reader = new NodeBufferReader(data);\n }\n else {\n this.reader = new Uint8ArrayReader(utils.transformTo(\"uint8array\", data));\n }\n },\n /**\n * Read a zip file and create ZipEntries.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the binary string representing a zip file.\n */\n load: function(data) {\n this.prepareReader(data);\n this.readEndOfCentral();\n this.readCentralDir();\n this.readLocalFiles();\n }\n};\n// }}} end of ZipEntries\nmodule.exports = ZipEntries;\n\n},{\"./nodeBufferReader\":12,\"./object\":13,\"./signature\":14,\"./stringReader\":15,\"./support\":17,\"./uint8ArrayReader\":18,\"./utils\":21,\"./zipEntry\":23}],23:[function(_dereq_,module,exports){\n'use strict';\nvar StringReader = _dereq_('./stringReader');\nvar utils = _dereq_('./utils');\nvar CompressedObject = _dereq_('./compressedObject');\nvar jszipProto = _dereq_('./object');\n// class ZipEntry {{{\n/**\n * An entry in the zip file.\n * @constructor\n * @param {Object} options Options of the current file.\n * @param {Object} loadOptions Options for loading the stream.\n */\nfunction ZipEntry(options, loadOptions) {\n this.options = options;\n this.loadOptions = loadOptions;\n}\nZipEntry.prototype = {\n /**\n * say if the file is encrypted.\n * @return {boolean} true if the file is encrypted, false otherwise.\n */\n isEncrypted: function() {\n // bit 1 is set\n return (this.bitFlag & 0x0001) === 0x0001;\n },\n /**\n * say if the file has utf-8 filename/comment.\n * @return {boolean} true if the filename/comment is in utf-8, false otherwise.\n */\n useUTF8: function() {\n // bit 11 is set\n return (this.bitFlag & 0x0800) === 0x0800;\n },\n /**\n * Prepare the function used to generate the compressed content from this ZipFile.\n * @param {DataReader} reader the reader to use.\n * @param {number} from the offset from where we should read the data.\n * @param {number} length the length of the data to read.\n * @return {Function} the callback to get the compressed content (the type depends of the DataReader class).\n */\n prepareCompressedContent: function(reader, from, length) {\n return function() {\n var previousIndex = reader.index;\n reader.setIndex(from);\n var compressedFileData = reader.readData(length);\n reader.setIndex(previousIndex);\n\n return compressedFileData;\n };\n },\n /**\n * Prepare the function used to generate the uncompressed content from this ZipFile.\n * @param {DataReader} reader the reader to use.\n * @param {number} from the offset from where we should read the data.\n * @param {number} length the length of the data to read.\n * @param {JSZip.compression} compression the compression used on this file.\n * @param {number} uncompressedSize the uncompressed size to expect.\n * @return {Function} the callback to get the uncompressed content (the type depends of the DataReader class).\n */\n prepareContent: function(reader, from, length, compression, uncompressedSize) {\n return function() {\n\n var compressedFileData = utils.transformTo(compression.uncompressInputType, this.getCompressedContent());\n var uncompressedFileData = compression.uncompress(compressedFileData);\n\n if (uncompressedFileData.length !== uncompressedSize) {\n throw new Error(\"Bug : uncompressed data size mismatch\");\n }\n\n return uncompressedFileData;\n };\n },\n /**\n * Read the local part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readLocalPart: function(reader) {\n var compression, localExtraFieldsLength;\n\n // we already know everything from the central dir !\n // If the central dir data are false, we are doomed.\n // On the bright side, the local part is scary : zip64, data descriptors, both, etc.\n // The less data we get here, the more reliable this should be.\n // Let's skip the whole header and dash to the data !\n reader.skip(22);\n // in some zip created on windows, the filename stored in the central dir contains \\ instead of /.\n // Strangely, the filename here is OK.\n // I would love to treat these zip files as corrupted (see http://www.info-zip.org/FAQ.html#backslashes\n // or APPNOTE#4.4.17.1, \"All slashes MUST be forward slashes '/'\") but there are a lot of bad zip generators...\n // Search \"unzip mismatching \"local\" filename continuing with \"central\" filename version\" on\n // the internet.\n //\n // I think I see the logic here : the central directory is used to display\n // content and the local directory is used to extract the files. Mixing / and \\\n // may be used to display \\ to windows users and use / when extracting the files.\n // Unfortunately, this lead also to some issues : http://seclists.org/fulldisclosure/2009/Sep/394\n this.fileNameLength = reader.readInt(2);\n localExtraFieldsLength = reader.readInt(2); // can't be sure this will be the same as the central dir\n this.fileName = reader.readString(this.fileNameLength);\n reader.skip(localExtraFieldsLength);\n\n if (this.compressedSize == -1 || this.uncompressedSize == -1) {\n throw new Error(\"Bug or corrupted zip : didn't get enough informations from the central directory \" + \"(compressedSize == -1 || uncompressedSize == -1)\");\n }\n\n compression = utils.findCompression(this.compressionMethod);\n if (compression === null) { // no compression found\n throw new Error(\"Corrupted zip : compression \" + utils.pretty(this.compressionMethod) + \" unknown (inner file : \" + this.fileName + \")\");\n }\n this.decompressed = new CompressedObject();\n this.decompressed.compressedSize = this.compressedSize;\n this.decompressed.uncompressedSize = this.uncompressedSize;\n this.decompressed.crc32 = this.crc32;\n this.decompressed.compressionMethod = this.compressionMethod;\n this.decompressed.getCompressedContent = this.prepareCompressedContent(reader, reader.index, this.compressedSize, compression);\n this.decompressed.getContent = this.prepareContent(reader, reader.index, this.compressedSize, compression, this.uncompressedSize);\n\n // we need to compute the crc32...\n if (this.loadOptions.checkCRC32) {\n this.decompressed = utils.transformTo(\"string\", this.decompressed.getContent());\n if (jszipProto.crc32(this.decompressed) !== this.crc32) {\n throw new Error(\"Corrupted zip : CRC32 mismatch\");\n }\n }\n },\n\n /**\n * Read the central part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readCentralPart: function(reader) {\n this.versionMadeBy = reader.readString(2);\n this.versionNeeded = reader.readInt(2);\n this.bitFlag = reader.readInt(2);\n this.compressionMethod = reader.readString(2);\n this.date = reader.readDate();\n this.crc32 = reader.readInt(4);\n this.compressedSize = reader.readInt(4);\n this.uncompressedSize = reader.readInt(4);\n this.fileNameLength = reader.readInt(2);\n this.extraFieldsLength = reader.readInt(2);\n this.fileCommentLength = reader.readInt(2);\n this.diskNumberStart = reader.readInt(2);\n this.internalFileAttributes = reader.readInt(2);\n this.externalFileAttributes = reader.readInt(4);\n this.localHeaderOffset = reader.readInt(4);\n\n if (this.isEncrypted()) {\n throw new Error(\"Encrypted zip are not supported\");\n }\n\n this.fileName = reader.readString(this.fileNameLength);\n this.readExtraFields(reader);\n this.parseZIP64ExtraField(reader);\n this.fileComment = reader.readString(this.fileCommentLength);\n\n // warning, this is true only for zip with madeBy == DOS (plateform dependent feature)\n this.dir = this.externalFileAttributes & 0x00000010 ? true : false;\n },\n /**\n * Parse the ZIP64 extra field and merge the info in the current ZipEntry.\n * @param {DataReader} reader the reader to use.\n */\n parseZIP64ExtraField: function(reader) {\n\n if (!this.extraFields[0x0001]) {\n return;\n }\n\n // should be something, preparing the extra reader\n var extraReader = new StringReader(this.extraFields[0x0001].value);\n\n // I really hope that these 64bits integer can fit in 32 bits integer, because js\n // won't let us have more.\n if (this.uncompressedSize === utils.MAX_VALUE_32BITS) {\n this.uncompressedSize = extraReader.readInt(8);\n }\n if (this.compressedSize === utils.MAX_VALUE_32BITS) {\n this.compressedSize = extraReader.readInt(8);\n }\n if (this.localHeaderOffset === utils.MAX_VALUE_32BITS) {\n this.localHeaderOffset = extraReader.readInt(8);\n }\n if (this.diskNumberStart === utils.MAX_VALUE_32BITS) {\n this.diskNumberStart = extraReader.readInt(4);\n }\n },\n /**\n * Read the central part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readExtraFields: function(reader) {\n var start = reader.index,\n extraFieldId,\n extraFieldLength,\n extraFieldValue;\n\n this.extraFields = this.extraFields || {};\n\n while (reader.index < start + this.extraFieldsLength) {\n extraFieldId = reader.readInt(2);\n extraFieldLength = reader.readInt(2);\n extraFieldValue = reader.readString(extraFieldLength);\n\n this.extraFields[extraFieldId] = {\n id: extraFieldId,\n length: extraFieldLength,\n value: extraFieldValue\n };\n }\n },\n /**\n * Apply an UTF8 transformation if needed.\n */\n handleUTF8: function() {\n if (this.useUTF8()) {\n this.fileName = jszipProto.utf8decode(this.fileName);\n this.fileComment = jszipProto.utf8decode(this.fileComment);\n } else {\n var upath = this.findExtraFieldUnicodePath();\n if (upath !== null) {\n this.fileName = upath;\n }\n var ucomment = this.findExtraFieldUnicodeComment();\n if (ucomment !== null) {\n this.fileComment = ucomment;\n }\n }\n },\n\n /**\n * Find the unicode path declared in the extra field, if any.\n * @return {String} the unicode path, null otherwise.\n */\n findExtraFieldUnicodePath: function() {\n var upathField = this.extraFields[0x7075];\n if (upathField) {\n var extraReader = new StringReader(upathField.value);\n\n // wrong version\n if (extraReader.readInt(1) !== 1) {\n return null;\n }\n\n // the crc of the filename changed, this field is out of date.\n if (jszipProto.crc32(this.fileName) !== extraReader.readInt(4)) {\n return null;\n }\n\n return jszipProto.utf8decode(extraReader.readString(upathField.length - 5));\n }\n return null;\n },\n\n /**\n * Find the unicode comment declared in the extra field, if any.\n * @return {String} the unicode comment, null otherwise.\n */\n findExtraFieldUnicodeComment: function() {\n var ucommentField = this.extraFields[0x6375];\n if (ucommentField) {\n var extraReader = new StringReader(ucommentField.value);\n\n // wrong version\n if (extraReader.readInt(1) !== 1) {\n return null;\n }\n\n // the crc of the comment changed, this field is out of date.\n if (jszipProto.crc32(this.fileComment) !== extraReader.readInt(4)) {\n return null;\n }\n\n return jszipProto.utf8decode(extraReader.readString(ucommentField.length - 5));\n }\n return null;\n }\n};\nmodule.exports = ZipEntry;\n\n},{\"./compressedObject\":2,\"./object\":13,\"./stringReader\":15,\"./utils\":21}],24:[function(_dereq_,module,exports){\n// Top level file is just a mixin of submodules & constants\n'use strict';\n\nvar assign = _dereq_('./lib/utils/common').assign;\n\nvar deflate = _dereq_('./lib/deflate');\nvar inflate = _dereq_('./lib/inflate');\nvar constants = _dereq_('./lib/zlib/constants');\n\nvar pako = {};\n\nassign(pako, deflate, inflate, constants);\n\nmodule.exports = pako;\n},{\"./lib/deflate\":25,\"./lib/inflate\":26,\"./lib/utils/common\":27,\"./lib/zlib/constants\":30}],25:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar zlib_deflate = _dereq_('./zlib/deflate.js');\nvar utils = _dereq_('./utils/common');\nvar strings = _dereq_('./utils/strings');\nvar msg = _dereq_('./zlib/messages');\nvar zstream = _dereq_('./zlib/zstream');\n\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nvar Z_NO_FLUSH = 0;\nvar Z_FINISH = 4;\n\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n\nvar Z_DEFAULT_COMPRESSION = -1;\n\nvar Z_DEFAULT_STRATEGY = 0;\n\nvar Z_DEFLATED = 8;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overriden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nvar Deflate = function(options) {\n\n this.options = utils.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n var status = zlib_deflate.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\n }\n};\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|String): input data. Strings will be converted to\n * utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` meansh Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That flush internal pending buffers and call\n * [[Deflate#onEnd]].\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate.prototype.push = function(data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = zlib_deflate.deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && _mode === Z_FINISH)) {\n if (this.options.to === 'string') {\n this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = zlib_deflate.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): ouput data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function(chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that input stream complete\n * or error happenned. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function(status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate alrorythm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate(input, options);\n}\n\n\nexports.Deflate = Deflate;\nexports.deflate = deflate;\nexports.deflateRaw = deflateRaw;\nexports.gzip = gzip;\n},{\"./utils/common\":27,\"./utils/strings\":28,\"./zlib/deflate.js\":32,\"./zlib/messages\":37,\"./zlib/zstream\":39}],26:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar zlib_inflate = _dereq_('./zlib/inflate.js');\nvar utils = _dereq_('./utils/common');\nvar strings = _dereq_('./utils/strings');\nvar c = _dereq_('./zlib/constants');\nvar msg = _dereq_('./zlib/messages');\nvar zstream = _dereq_('./zlib/zstream');\nvar gzheader = _dereq_('./zlib/gzheader');\n\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overriden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nvar Inflate = function(options) {\n\n this.options = utils.assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n var status = zlib_inflate.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new gzheader();\n\n zlib_inflate.inflateGetHeader(this.strm, this.header);\n};\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` meansh Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That flush internal pending buffers and call\n * [[Inflate#onEnd]].\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate.prototype.push = function(data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = strings.binstring2buf(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */\n\n if (status !== c.Z_STREAM_END && status !== c.Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && _mode === c.Z_FINISH)) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n } while ((strm.avail_in > 0) && status !== c.Z_STREAM_END);\n\n if (status === c.Z_STREAM_END) {\n _mode = c.Z_FINISH;\n }\n // Finalize on the last chunk.\n if (_mode === c.Z_FINISH) {\n status = zlib_inflate.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === c.Z_OK;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): ouput data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function(chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell inflate that input stream complete\n * or error happenned. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function(status) {\n // On success - join\n if (status === c.Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 alligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nexports.Inflate = Inflate;\nexports.inflate = inflate;\nexports.inflateRaw = inflateRaw;\nexports.ungzip = inflate;\n\n},{\"./utils/common\":27,\"./utils/strings\":28,\"./zlib/constants\":30,\"./zlib/gzheader\":33,\"./zlib/inflate.js\":35,\"./zlib/messages\":37,\"./zlib/zstream\":39}],27:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof(source) !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (source.hasOwnProperty(p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs+len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for(var i=0; i= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);\n}\n_utf8len[254]=_utf8len[254]=1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nexports.string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new utils.Buf8(buf_len);\n\n // convert\n for (i=0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper (used in 2 places)\nfunction buf2binstring(buf, len) {\n // use fallback for big arrays to avoid stack overflow\n if (len < 65537) {\n if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {\n return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for(var i=0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nexports.buf2binstring = function(buf) {\n return buf2binstring(buf, buf.length);\n};\n\n\n// Convert binary string (typed, when possible)\nexports.binstring2buf = function(str) {\n var buf = new utils.Buf8(str.length);\n for(var i=0, len=buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n};\n\n\n// convert array to string\nexports.buf2string = function (buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len*2);\n\n for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nexports.utf8border = function(buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max-1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Fuckup - very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means vuffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n},{\"./common\":27}],29:[function(_dereq_,module,exports){\n'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It doesn't worth to make additional optimizationa as in original.\n// Small size is preferable.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0\n , s2 = ((adler >>> 16) & 0xffff) |0\n , n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n},{}],30:[function(_dereq_,module,exports){\nmodule.exports = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n //Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n},{}],31:[function(_dereq_,module,exports){\n'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for(var n =0; n < 256; n++){\n c = n;\n for(var k =0; k < 8; k++){\n c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable\n , end = pos + len;\n\n crc = crc ^ (-1);\n\n for (var i = pos; i < end; i++ ) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n},{}],32:[function(_dereq_,module,exports){\n'use strict';\n\nvar utils = _dereq_('../utils/common');\nvar trees = _dereq_('./trees');\nvar adler32 = _dereq_('./adler32');\nvar crc32 = _dereq_('./crc32');\nvar msg = _dereq_('./messages');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\n//var Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n//var Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION = 0;\n//var Z_BEST_SPEED = 1;\n//var Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY = 0;\n//var Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES = 30;\n/* number of distance codes */\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE = 2*L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only (s, last) {\n trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n utils.arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH-1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH-1)) ? s.strstart : MIN_MATCH-1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH-1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size-MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH-1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = trees._tr_tally(s, s.strstart - 1- s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length-1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH-1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart-1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart-1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH-1 ? s.strstart : MIN_MATCH-1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nvar Config = function (good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n};\n\nvar configuration_table;\n\nconfiguration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);\n this.dyn_dtree = new utils.Buf16((2*D_CODES+1) * 2);\n this.bl_tree = new utils.Buf16((2*BL_CODES+1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new utils.Buf16(MAX_BITS+1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new utils.Buf16(2*L_CODES+1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new utils.Buf16(2*L_CODES+1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n trees._tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new utils.Buf8(s.w_size * 2);\n s.head = new utils.Buf16(s.hash_size);\n s.prev = new utils.Buf16(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n s.d_buf = s.lit_bufsize >> 1;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg){\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n trees._tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n trees._tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n/* =========================================================================\n * Copy the source state to the destination state\n */\n//function deflateCopy(dest, source) {\n//\n//}\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n},{\"../utils/common\":27,\"./adler32\":29,\"./crc32\":31,\"./messages\":37,\"./trees\":38}],33:[function(_dereq_,module,exports){\n'use strict';\n\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nmodule.exports = GZheader;\n},{}],34:[function(_dereq_,module,exports){\n'use strict';\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n var window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n},{}],35:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\nvar adler32 = _dereq_('./adler32');\nvar crc32 = _dereq_('./crc32');\nvar inflate_fast = _dereq_('./inffast');\nvar inflate_table = _dereq_('./inftrees');\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction ZSWAP32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, {bits: 9});\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, {bits: 5});\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window,src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window,src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window,src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more conveniend processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0 /*crc32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = ZSWAP32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = {bits: state.lenbits};\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = {bits: state.lenbits};\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = {bits: state.distbits};\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) -1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) -1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) -1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) -1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) -1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) -1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' insdead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, ZSWAP32 returns signed too\n if ((state.flags ? hold : ZSWAP32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n},{\"../utils/common\":27,\"./adler32\":29,\"./crc32\":31,\"./inffast\":34,\"./inftrees\":36}],36:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS+1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS+1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n var i=0;\n /* process all codes and make table entries */\n for (;;) {\n i++;\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n},{\"../utils/common\":27}],37:[function(_dereq_,module,exports){\n'use strict';\n\nmodule.exports = {\n '2': 'need dictionary', /* Z_NEED_DICT 2 */\n '1': 'stream end', /* Z_STREAM_END 1 */\n '0': '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n},{}],38:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar utils = _dereq_('../utils/common');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED = 1;\n//var Z_HUFFMAN_ONLY = 2;\n//var Z_RLE = 3;\nvar Z_FIXED = 4;\n//var Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2*L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\nvar extra_lbits = /* extra bits for each length code */\n [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];\n\nvar extra_dbits = /* extra bits for each distance code */\n [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array insdead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree = new Array((L_CODES+2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code = new Array(MAX_MATCH-MIN_MATCH+1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nvar StaticTreeDesc = function (static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n};\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nvar TreeDesc = function(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n};\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short (s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c*2]/*.Code*/, tree[c*2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max]*2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max+1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n*2 +1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n*2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n-base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n*2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length-1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits+1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m*2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m*2 + 1]/*.Len*/)*tree[m*2]/*.Freq*/;\n tree[m*2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS+1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits-1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES-1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1< dist code (0..29) */\n dist = 0;\n for (code = 0 ; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1<>= 7; /* from now on, all distances are divided by 128 */\n for ( ; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n*2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n*2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n*2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n*2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES+1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n*2 + 1]/*.Len*/ = 5;\n static_dtree[n*2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc =new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n*2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n*2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n*2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK*2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n*2;\n var _m2 = m*2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j+1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx*2] << 8) | (s.pending_buf[s.d_buf + lx*2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code+LITERALS+1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n*2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node*2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n*2 + 1]/*.Dad*/ = tree[m*2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0*2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code+1)*2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n+1)*2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6*2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10*2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138*2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0*2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n+1)*2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count-3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count-3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count-11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex]*2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3*(max_blindex+1) + 5+5+4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes-1, 5);\n send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank]*2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes-1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes-1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n*2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK<<1)+(last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES<<1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len+3+7) >>> 3;\n static_lenb = (s.static_len+3+7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len+4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES<<1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES<<1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code+1, s.d_desc.max_code+1, max_blindex+1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc*2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc]+LITERALS+1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defailts,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize-1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\nexports._tr_init = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n},{\"../utils/common\":27}],39:[function(_dereq_,module,exports){\n'use strict';\n\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nmodule.exports = ZStream;\n},{}]},{},[9])\n(9)\n}));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'user_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"user_list\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('userList.userAccount')},model:{value:(_vm.search.userAccount),callback:function ($$v) {_vm.$set(_vm.search, \"userAccount\", $$v)},expression:\"search.userAccount\"}})],1),_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('userList.nickName')},model:{value:(_vm.search.nickName),callback:function ($$v) {_vm.$set(_vm.search, \"nickName\", $$v)},expression:\"search.nickName\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('userList.userID')},model:{value:(_vm.search.userID),callback:function ($$v) {_vm.$set(_vm.search, \"userID\", $$v)},expression:\"search.userID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('userList.sourceApp')},model:{value:(_vm.search.sourceApp),callback:function ($$v) {_vm.$set(_vm.search, \"sourceApp\", $$v)},expression:\"search.sourceApp\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('el-form',{staticClass:\"table-expand-from\",attrs:{\"size\":\"mini\",\"inline\":\"\"}},_vm._l((_vm.detailList),function(item,index){return _c('el-form-item',{key:index,attrs:{\"label\":_vm.$t('userList.' + item)}},[_c('span',[_vm._v(_vm._s(props.row[item]))])])}),1)]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"userID\",\"label\":_vm.$t('userList.userID')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"userAccount\",\"label\":_vm.$t('userList.userAccount')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"countryCode\",\"label\":_vm.$t('userList.countryCode')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"nickName\",\"label\":_vm.$t('userList.nickName')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"lngType\",\"label\":_vm.$t('userList.lngType')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":_vm.$t('userList.createDate')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"sourceApp\",\"label\":_vm.$t('userList.sourceApp')}})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 30, 50,200],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=df6c3db2&scoped=true&\"\nimport script from \"./UserList.vue?vue&type=script&lang=js&\"\nexport * from \"./UserList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserList.vue?vue&type=style&index=0&id=df6c3db2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"df6c3db2\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=df6c3db2&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ServerPing.vue?vue&type=style&index=0&id=c7394a84&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"monitor\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'monitor', 'mongo' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"monitor\",\"active\":\"mongo\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-date-picker',{attrs:{\"clearable\":false,\"value-format\":\"yyyyMMdd\",\"placeholder\":\"CreateDate\"},model:{value:(_vm.day),callback:function ($$v) {_vm.day=$$v},expression:\"day\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.fetchList}})],1)],1),_c('iframe',{attrs:{\"src\":_vm.src,\"width\":\"100%\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Mongo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Mongo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Mongo.vue?vue&type=template&id=1098cf26&scoped=true&\"\nimport script from \"./Mongo.vue?vue&type=script&lang=js&\"\nexport * from \"./Mongo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Mongo.vue?vue&type=style&index=0&id=1098cf26&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1098cf26\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"log\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'log', 'servers_log' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"log\",\"active\":\"servers_log\"}}),_c('el-main',[_c('iframe',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\"},attrs:{\"src\":_vm.url}})])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ServersLog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ServersLog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServersLog.vue?vue&type=template&id=519f7a77&scoped=true&\"\nimport script from \"./ServersLog.vue?vue&type=script&lang=js&\"\nexport * from \"./ServersLog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"519f7a77\",\n null\n \n)\n\nexport default component.exports","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"account\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'account', 'permission_group' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"account\",\"active\":\"permission_group\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[(_vm.localOrHZ && _vm.$store.getters.hasPower(1132))?_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\"},on:{\"click\":function($event){return _vm.add()}}})],1)],1):_vm._e(),_c('el-table',{attrs:{\"data\":_vm.list,\"size\":\"mini\",\"stripe\":\"\"},on:{\"cell-mouse-enter\":function (row){this$1.enter.id=row.id;}}},[_c('el-table-column',{attrs:{\"prop\":\"id\",\"label\":\"ID\"}}),_c('el-table-column',{attrs:{\"prop\":\"name\",\"label\":\"Name\"}}),_c('el-table-column',{attrs:{\"prop\":\"type\",\"label\":\"Type\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n \"+_vm._s(scope.row.type === 1 ? _vm.$t('back_permission') : _vm.$t('project_permission'))+\"\\n \")]}}])}),(_vm.$store.getters.hasAnyPowers([1133,1134]))?_c('el-table-column',{attrs:{\"align\":\"left\",\"width\":\"150px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(_vm.localOrHZ && _vm.enter.id===scope.row.id)?_c('el-button-group',[(_vm.$store.getters.hasPower(1133))?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.edit(scope.row)}}}):_vm._e(),(_vm.$store.getters.hasPower(1134))?_c('el-button',{attrs:{\"size\":\"mini\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.dele(scope.row)}}}):_vm._e()],1):_vm._e()]}}],null,false,187385934)}):_vm._e(),_c('el-table-column')],1)],1),_c('el-dialog',{attrs:{\"title\":\"Add Permission Group\",\"visible\":_vm.addDialogVisible,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.addDialogVisible=$event}}},[_c('el-form',{ref:\"add_form\",attrs:{\"model\":_vm.addData,\"rules\":_vm.add_rules,\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"Name\",\"prop\":\"name\"}},[_c('el-input',{model:{value:(_vm.addData.name),callback:function ($$v) {_vm.$set(_vm.addData, \"name\", $$v)},expression:\"addData.name\"}})],1),_c('el-form-item',{attrs:{\"label\":\"Type\",\"prop\":\"type\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},model:{value:(_vm.addData.type),callback:function ($$v) {_vm.$set(_vm.addData, \"type\", $$v)},expression:\"addData.type\"}},[_c('el-option',{attrs:{\"value\":1,\"label\":_vm.$t('back_permission')}}),_c('el-option',{attrs:{\"value\":2,\"label\":_vm.$t('project_permission')}})],1)],1)],1),(_vm.addData.type)?_c('el-tree',{ref:\"addPowerTree\",staticStyle:{\"height\":\"400px\",\"overflow-y\":\"auto\"},attrs:{\"data\":_vm.addData.type===2?_vm.project_power_data:_vm.back_power_data,\"node-key\":\"power\",\"check-strictly\":true,\"show-checkbox\":\"\",\"default-expand-all\":\"\"}}):_vm._e(),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.addDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveAdd()}}},[_vm._v(\"Confirm\")])],1)],1),_c('el-dialog',{attrs:{\"title\":\"Edit Permission Group\",\"visible\":_vm.editDialogVisible,\"width\":\"500px\"},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{ref:\"edit_form\",attrs:{\"model\":_vm.editData,\"rules\":_vm.add_rules,\"label-width\":\"100px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"Name\",\"prop\":\"name\"}},[_c('el-input',{model:{value:(_vm.editData.name),callback:function ($$v) {_vm.$set(_vm.editData, \"name\", $$v)},expression:\"editData.name\"}})],1),_c('el-form-item',{attrs:{\"label\":\"Type\",\"prop\":\"type\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"disabled\":\"\"},model:{value:(_vm.editData.type),callback:function ($$v) {_vm.$set(_vm.editData, \"type\", $$v)},expression:\"editData.type\"}},[_c('el-option',{attrs:{\"value\":1,\"label\":_vm.$t('back_permission')}}),_c('el-option',{attrs:{\"value\":2,\"label\":_vm.$t('project_permission')}})],1)],1)],1),(_vm.editData.type)?_c('el-tree',{ref:\"editPowerTree\",staticStyle:{\"height\":\"400px\",\"overflow-y\":\"auto\"},attrs:{\"data\":_vm.editData.type===2?_vm.project_power_data:_vm.back_power_data,\"node-key\":\"power\",\"check-strictly\":true,\"show-checkbox\":\"\",\"default-expand-all\":\"\"}}):_vm._e(),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.editDialogVisible = false}}},[_vm._v(\"Cancel\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveEdit()}}},[_vm._v(\"Confirm\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PermissionGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./PermissionGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PermissionGroup.vue?vue&type=template&id=3a78f5f4&scoped=true&\"\nimport script from \"./PermissionGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./PermissionGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a78f5f4\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppCrash.vue?vue&type=style&index=0&id=0620cc5e&scoped=true&lang=css&\"","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"cloud\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'cloud', 'activationOrder' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"cloud\",\"active\":\"activationOrder\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":true}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('activationOrderList.id')},model:{value:(_vm.search.id),callback:function ($$v) {_vm.$set(_vm.search, \"id\", $$v)},expression:\"search.id\"}})],1),_c('el-form-item',[_c('el-select',{attrs:{\"placeholder\":_vm.$t('activationOrderList.source_app')},model:{value:(_vm.search.source_app),callback:function ($$v) {_vm.$set(_vm.search, \"source_app\", $$v)},expression:\"search.source_app\"}},_vm._l((_vm.firmList),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1)],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list,\"stripe\":\"\"}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"id\",\"label\":_vm.$t('activationOrderList.id')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"source_app\",\"label\":_vm.$t('activationOrderList.source_app')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(_vm.firmIdMap[scope.row.source_app]))])]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"count\",\"label\":_vm.$t('activationOrderList.count')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"type\",\"label\":_vm.$t('activationOrderList.type')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"price\",\"label\":_vm.$t('activationOrderList.price')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"total_price\",\"label\":_vm.$t('activationOrderList.total_price')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"currency\",\"label\":_vm.$t('activationOrderList.currency')}})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ActivationOrder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ActivationOrder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ActivationOrder.vue?vue&type=template&id=c50ad648&scoped=true&\"\nimport script from \"./ActivationOrder.vue?vue&type=script&lang=js&\"\nexport * from \"./ActivationOrder.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c50ad648\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./AppBuriedPoint.vue?vue&type=style&index=0&id=209d7f3f&scoped=true&lang=css&\"","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"extend\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'extend', 'two_way_config' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"extend\",\"active\":\"two_way_config\"}}),_c('el-main',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}]},[_c('el-form',{ref:\"search\",staticClass:\"search-input\",attrs:{\"model\":_vm.search,\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',{attrs:{\"prop\":\"sourceApp\"}},[_c('el-select',{attrs:{\"placeholder\":\"sourceApp\",\"clearable\":\"\",\"filterable\":\"\",\"loading\":_vm.sourceAppLoading},model:{value:(_vm.search.sourceApp),callback:function ($$v) {_vm.$set(_vm.search, \"sourceApp\", $$v)},expression:\"search.sourceApp\"}},_vm._l((_vm.sourceAppOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"value\":item.value,\"label\":item.label}})}),1)],1),_c('el-form-item',{attrs:{\"prop\":\"tp\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"tp\"},model:{value:(_vm.search.tp),callback:function ($$v) {_vm.$set(_vm.search, \"tp\", $$v)},expression:\"search.tp\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":function($event){return _vm.getList()}}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.resetForm('search',true)}}})],1),_c('el-form-item',{staticStyle:{\"float\":\"right\"}},[(_vm.power_1426)?_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.changeEdit('add')}}},[_vm._v(_vm._s(_vm.$t('appNotices.add')))]):_vm._e()],1)],1),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"sourceApp\",\"label\":\"sourceApp\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"tp\",\"label\":\"tp\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"iconName\",\"label\":_vm.$t('iconName')}}),(_vm.$hasAnyPowers([1427,1428]))?_c('el-table-column',{attrs:{\"align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"size\":\"mini\"},on:{\"click\":function($event){return _vm.changeEdit('edit',scope.row)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('appNotices.update'))+\"\\n \")]),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"danger\"},on:{\"click\":function($event){return _vm.changeDelete(scope.row)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('appNotices.delete'))+\"\\n \")])]}}],null,false,357387228)}):_vm._e()],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":_vm.pageSizes,\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"total\":_vm.totalNum},on:{\"size-change\":_vm.getList,\"current-change\":_vm.getList,\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"update:pageSize\":function($event){_vm.pageSize=$event},\"update:page-size\":function($event){_vm.pageSize=$event}}}),_c('el-drawer',{attrs:{\"title\":_vm.$t('two_way_config'),\"visible\":_vm.addDrawer},on:{\"update:visible\":function($event){_vm.addDrawer=$event},\"closed\":function($event){return _vm.resetForm('form')}}},[_c('el-form',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.formLoading),expression:\"formLoading\"}],ref:\"form\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"label-width\":\"120px\",\"label-position\":\"left\"}},[_c('el-form-item',{attrs:{\"label\":\"sourceApp\",\"prop\":\"sourceApp\"}},[_c('el-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"disabled\":_vm.edit,\"placeholder\":\"sourceApp\",\"clearable\":\"\",\"filterable\":\"\",\"loading\":_vm.sourceAppLoading},model:{value:(_vm.form.sourceApp),callback:function ($$v) {_vm.$set(_vm.form, \"sourceApp\", $$v)},expression:\"form.sourceApp\"}},_vm._l((_vm.sourceAppOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"value\":item.value,\"label\":item.label}})}),1)],1),_c('el-form-item',{attrs:{\"label\":\"tp\",\"prop\":\"tp\"}},[_c('el-input',{attrs:{\"placeholder\":\"tp\",\"disabled\":_vm.edit},model:{value:(_vm.form.tp),callback:function ($$v) {_vm.$set(_vm.form, \"tp\", $$v)},expression:\"form.tp\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('iconName'),\"prop\":\"iconName\"}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('iconName')},model:{value:(_vm.form.iconName),callback:function ($$v) {_vm.$set(_vm.form, \"iconName\", $$v)},expression:\"form.iconName\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submit('form')}}},[_vm._v(_vm._s(_vm.$t('submit')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('form')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./TwoWayConfig.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./TwoWayConfig.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TwoWayConfig.vue?vue&type=template&id=b85d91aa&scoped=true&\"\nimport script from \"./TwoWayConfig.vue?vue&type=script&lang=js&\"\nexport * from \"./TwoWayConfig.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TwoWayConfig.vue?vue&type=style&index=0&id=b85d91aa&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b85d91aa\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DataOverview.vue?vue&type=style&index=0&id=4757e21e&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./ServerLogTable.vue?vue&type=style&index=0&id=18047310&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"stat\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'stat', 'stat_feedback','stat_product_feedback']}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"stat\",\"active\":\"stat_feedback/stat_product_feedback\"}}),(_vm.power_1750)?_c('el-main',[_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"box-card\"},[_c('div',{staticStyle:{\"text-align\":\"start\"},attrs:{\"id\":\"nav-transverse\"}},_vm._l((_vm.feedbackList),function(feedback,index){return _c('div',{key:index,attrs:{\"id\":\"box-feedback\"}},[_c('div',{attrs:{\"id\":\"nav-portrait\"}},[_c('div',{staticStyle:{\"margin\":\"0\"},attrs:{\"id\":\"nav-transverse\"}},[_c('div',{domProps:{\"textContent\":_vm._s(_vm.$t(feedback.name))}})]),_c('div',{staticClass:\"type\",staticStyle:{\"margin\":\"0\"},attrs:{\"id\":\"nav-transverse\"}},[_c('div',[_c('h2',{domProps:{\"textContent\":_vm._s(feedback.total)}})]),_vm._l((feedback.otherInfos),function(otherInfo,index){return _c('div',{key:index,staticStyle:{\"margin-block-start\":\"21px\"}},[_c('label',{domProps:{\"textContent\":_vm._s(_vm.$t(otherInfo.name))}}),_c('span',{staticClass:\"type-total\",domProps:{\"textContent\":_vm._s(0)}})])})],2)])])}),0)]),_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"box-card\",staticStyle:{\"margin-top\":\"10px\"}},[_c('div',{staticClass:\"feedback-charts\"},[_c('div',{attrs:{\"id\":\"feedback-trend\"}},[_c('div',{staticClass:\"feedback-trend-title\"},[_c('h2',{domProps:{\"textContent\":_vm._s(_vm.$t('feedbackInfo.feedback_data'))}})]),_c('div',{staticClass:\"feedback-date\"},[_c('el-radio-group',{attrs:{\"size\":\"medium\"},model:{value:(_vm.radio),callback:function ($$v) {_vm.radio=$$v},expression:\"radio\"}},_vm._l((_vm.dateOptions),function(date,index){return _c('el-radio-button',{key:index,attrs:{\"label\":date.label}})}),1),_c('el-select',{attrs:{\"clearable\":\"\",\"placeholder\":\"请选择类型\",\"size\":\"medium\"},on:{\"change\":_vm.handleOptionChange},model:{value:(_vm.queryInfo.type),callback:function ($$v) {_vm.$set(_vm.queryInfo, \"type\", $$v)},expression:\"queryInfo.type\"}},_vm._l((_vm.selectOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":_vm.$t(item.label),\"value\":item.value}})}),1)],1)]),_c('div',{staticClass:\"chart\"},[_vm._l((_vm.feedbackType),function(item,index){return _c('div',{key:index,staticClass:\"chart-title\",class:{active:(_vm.clickIndex == index )},on:{\"click\":function($event){return _vm.showRingChartInfo(index)}}},[_c('label',{domProps:{\"textContent\":_vm._s(_vm.$t(item))}})])}),_c('div',{staticStyle:{\"padding-top\":\"40px\",\"padding-bottom\":\"20px\",\"overflow-x\":\"auto\",\"width\":\"100%\"}},[_c('ve-ring',{attrs:{\"data\":_vm.chartData,\"extend\":_vm.pieExtend,\"data-empty\":_vm.dataEmpty,\"settings\":_vm.chartSettings,\"legend-visible\":false,\"width\":_vm.chartWidth}})],1)],2)])])],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatProductFeedback.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatProductFeedback.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatProductFeedback.vue?vue&type=template&id=7de07037&scoped=true&\"\nimport script from \"./StatProductFeedback.vue?vue&type=script&lang=js&\"\nexport * from \"./StatProductFeedback.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatProductFeedback.vue?vue&type=style&index=0&id=7de07037&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7de07037\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./CloudRefund.vue?vue&type=style&index=0&id=51ef5a10&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"stat\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'stat', 'stat_device' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"stat\",\"active\":\"stat_device\"}}),_c('el-main',[_c('el-card',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"shadow\":\"never\"}},[_c('div',{staticClass:\"page-title\"},[_vm._v(\"设备统计\")]),_c('el-form',{ref:\"licenseForm\",staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',{staticStyle:{\"float\":\"right\"}},[(_vm.searchType===2)?_c('el-date-picker',{attrs:{\"type\":\"month\",\"placeholder\":\"选择月\"},model:{value:(_vm.search.date),callback:function ($$v) {_vm.$set(_vm.search, \"date\", $$v)},expression:\"search.date\"}}):_vm._e(),(_vm.searchType===1)?_c('el-date-picker',{attrs:{\"type\":\"year\",\"placeholder\":\"选择年\"},model:{value:(_vm.search.date),callback:function ($$v) {_vm.$set(_vm.search, \"date\", $$v)},expression:\"search.date\"}}):_vm._e()],1),_c('el-form-item',{staticStyle:{\"float\":\"right\"}},[_c('el-select',{model:{value:(_vm.searchType),callback:function ($$v) {_vm.searchType=$$v},expression:\"searchType\"}},_vm._l((_vm.searchTypes),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)],1),_c('ve-line',{staticStyle:{\"margin-top\":\"40px\"},attrs:{\"data\":_vm.searchType===2?_vm.dataYear:_vm.dataMonth,\"settings\":_vm.chartSettings,\"width\":_vm.chartWidth}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatDevice.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatDevice.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatDevice.vue?vue&type=template&id=fb143808&scoped=true&\"\nimport script from \"./StatDevice.vue?vue&type=script&lang=js&\"\nexport * from \"./StatDevice.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatDevice.vue?vue&type=style&index=0&id=fb143808&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fb143808\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"license\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'license', 'license_conflict_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"license\",\"active\":\"license_conflict_list\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":\"LicenseID\"},model:{value:(_vm.search.licenseID),callback:function ($$v) {_vm.$set(_vm.search, \"licenseID\", $$v)},expression:\"search.licenseID\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"ServerMac\"},model:{value:(_vm.search.serverMac),callback:function ($$v) {_vm.$set(_vm.search, \"serverMac\", $$v)},expression:\"search.serverMac\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":\"DeviceMac\"},model:{value:(_vm.search.deviceMac),callback:function ($$v) {_vm.$set(_vm.search, \"deviceMac\", $$v)},expression:\"search.deviceMac\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-table',{attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"snNum\",\"label\":\"LicenseID\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"serverMac\",\"label\":\"ServerMac\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceMac\",\"label\":\"DeviceMac\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":\"CreateDate\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[15, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./LicenseConflictList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./LicenseConflictList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LicenseConflictList.vue?vue&type=template&id=da2e5c06&scoped=true&\"\nimport script from \"./LicenseConflictList.vue?vue&type=script&lang=js&\"\nexport * from \"./LicenseConflictList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"da2e5c06\",\n null\n \n)\n\nexport default component.exports","/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */\nvar XLSX = {};\nfunction make_xlsx_lib(XLSX){\nXLSX.version = '0.15.6';\nvar current_codepage = 1200, current_ansi = 1252;\n/*global cptable:true, window */\nif(typeof module !== \"undefined\" && typeof require !== 'undefined') {\n\tif(typeof cptable === 'undefined') {\n\t\tif(typeof global !== 'undefined') global.cptable = require('./dist/cpexcel.js');\n\t\telse if(typeof window !== 'undefined') window.cptable = require('./dist/cpexcel.js');\n\t}\n}\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950 ];\nfor(var i = 0; i <= 8; ++i) VALID_ANSI.push(1250 + i);\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n0: 1252, /* ANSI */\n1: 65001, /* DEFAULT */\n2: 65001, /* SYMBOL */\n77: 10000, /* MAC */\n128: 932, /* SHIFTJIS */\n129: 949, /* HANGUL */\n130: 1361, /* JOHAB */\n134: 936, /* GB2312 */\n136: 950, /* CHINESEBIG5 */\n161: 1253, /* GREEK */\n162: 1254, /* TURKISH */\n163: 1258, /* VIETNAMESE */\n177: 1255, /* HEBREW */\n178: 1256, /* ARABIC */\n186: 1257, /* BALTIC */\n204: 1251, /* RUSSIAN */\n222: 874, /* THAI */\n238: 1250, /* EASTEUROPE */\n255: 1252, /* OEM */\n69: 6969 /* MISC */\n});\n\nvar set_ansi = function(cp) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data) { var o = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data) {\n\tvar o = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data) {\n\tvar o = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data) {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x) { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x) { return String.fromCharCode(x); };\nif(typeof cptable !== 'undefined') {\n\tset_cp = function(cp) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x) {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x) {\n\t\treturn cptable.utils.decode(current_ansi, [x])[0];\n\t};\n}\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64 = (function make_b64(){\n\tvar map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\treturn {\n\t\tencode: function(input) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0;\n\t\t\tfor(var i = 0; i < input.length; ) {\n\t\t\t\tc1 = input.charCodeAt(i++);\n\t\t\t\te1 = (c1 >> 2);\n\n\t\t\t\tc2 = input.charCodeAt(i++);\n\t\t\t\te2 = ((c1 & 3) << 4) | (c2 >> 4);\n\n\t\t\t\tc3 = input.charCodeAt(i++);\n\t\t\t\te3 = ((c2 & 15) << 2) | (c3 >> 6);\n\t\t\t\te4 = (c3 & 63);\n\t\t\t\tif (isNaN(c2)) { e3 = e4 = 64; }\n\t\t\t\telse if (isNaN(c3)) { e4 = 64; }\n\t\t\t\to += map.charAt(e1) + map.charAt(e2) + map.charAt(e3) + map.charAt(e4);\n\t\t\t}\n\t\t\treturn o;\n\t\t},\n\t\tdecode: function b64_decode(input) {\n\t\t\tvar o = \"\";\n\t\t\tvar c1=0, c2=0, c3=0, e1=0, e2=0, e3=0, e4=0;\n\t\t\tinput = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n\t\t\tfor(var i = 0; i < input.length;) {\n\t\t\t\te1 = map.indexOf(input.charAt(i++));\n\t\t\t\te2 = map.indexOf(input.charAt(i++));\n\t\t\t\tc1 = (e1 << 2) | (e2 >> 4);\n\t\t\t\to += String.fromCharCode(c1);\n\n\t\t\t\te3 = map.indexOf(input.charAt(i++));\n\t\t\t\tc2 = ((e2 & 15) << 4) | (e3 >> 2);\n\t\t\t\tif (e3 !== 64) { o += String.fromCharCode(c2); }\n\n\t\t\t\te4 = map.indexOf(input.charAt(i++));\n\t\t\t\tc3 = ((e3 & 3) << 6) | e4;\n\t\t\t\tif (e4 !== 64) { o += String.fromCharCode(c3); }\n\t\t\t}\n\t\t\treturn o;\n\t\t}\n\t};\n})();\nvar has_buf = (typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node);\n\nvar Buffer_from = function(){};\n\nif(typeof Buffer !== 'undefined') {\n\tvar nbfs = !Buffer.from;\n\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\tBuffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t// $FlowIgnore\n\tif(!Buffer.alloc) Buffer.alloc = function(n) { return new Buffer(n); };\n\t// $FlowIgnore\n\tif(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };\n}\n\nfunction new_raw_buf(len) {\n\t/* jshint -W056 */\n\treturn has_buf ? Buffer.alloc(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len) {\n\t/* jshint -W056 */\n\treturn has_buf ? Buffer.allocUnsafe(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s) {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x){ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s) {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data) {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data) {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data) {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\nvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = function(bufs) { return [].concat.apply([], bufs); };\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nvar SSF = ({});\nvar make_ssf = function make_ssf(SSF){\nSSF.version = '0.10.3';\nfunction _strrev(x) { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\nfunction pad0(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v,d){var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v,d){var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v,d){var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v,d){var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = Math.pow(2,32);\nfunction pad0r(v,d){if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\nfunction isgeneral(s, i) { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction init_table(t) {\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n\tt[65535]= 'General';\n}\n\nvar table_fmt = {};\ninit_table(table_fmt);\nfunction frac(x, D, mixed) {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction parse_date_code(v,opts,b2) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nSSF.parse_date_code = parse_date_code;\nvar basedate = new Date(1899, 11, 31, 0, 0, 0);\nvar dnthresh = basedate.getTime();\nvar base1904 = new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v, date1904) {\n\tvar epoch = v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= base1904) epoch += 24*60*60*1000;\n\treturn (epoch - (dnthresh + (v.getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\nfunction general_fmt_int(v) { return v.toString(10); }\nSSF._general_int = general_fmt_int;\nvar general_fmt_num = (function make_general_fmt_num() {\nvar gnr1 = /\\.(\\d*[1-9])0+$/, gnr2 = /\\.0*$/, gnr4 = /\\.(\\d*[1-9])0+/, gnr5 = /\\.0*[Ee]/, gnr6 = /(E[+-])(\\d)$/;\nfunction gfn2(v) {\n\tvar w = (v<0?12:11);\n\tvar o = gfn5(v.toFixed(12)); if(o.length <= w) return o;\n\to = v.toPrecision(10); if(o.length <= w) return o;\n\treturn v.toExponential(5);\n}\nfunction gfn3(v) {\n\tvar o = v.toFixed(11).replace(gnr1,\".$1\");\n\tif(o.length > (v<0?12:11)) o = v.toPrecision(6);\n\treturn o;\n}\nfunction gfn4(o) {\n\tfor(var i = 0; i != o.length; ++i) if((o.charCodeAt(i) | 0x20) === 101) return o.replace(gnr4,\".$1\").replace(gnr5,\"E\").replace(\"e\",\"E\").replace(gnr6,\"$10$2\");\n\treturn o;\n}\nfunction gfn5(o) {\n\treturn o.indexOf(\".\") > -1 ? o.replace(gnr2,\"\").replace(gnr1,\".$1\") : o;\n}\nreturn function general_fmt_num(v) {\n\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\telse if(Math.abs(V) <= 9) o = gfn2(v);\n\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\telse o = gfn3(v);\n\treturn gfn5(gfn4(o));\n};})();\nSSF._general_num = general_fmt_num;\nfunction general_fmt(v, opts) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : general_fmt_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\nSSF._general = general_fmt;\nfunction fix_hijri() { return 0; }\n/*jshint -W086 */\nfunction write_date(type, fmt, val, ss0) {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\nif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1;\n\t}\n\tif(outl > 0) return pad0(out, outl); else return \"\";\n}\n/*jshint +W086 */\nfunction commaify(s) {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar write_num = (function make_write_num(){\nvar pct1 = /%/g;\nfunction write_num_pct(type, fmt, val){\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\nfunction write_num_cm(type, fmt, val){\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\nfunction write_num_exp(fmt, val){\n\tvar o;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r, aval, sign) {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r, aval, sign) {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str) {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val, d) { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val, d) {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 0;\n\t}\n\treturn Math.round((val-Math.floor(val))*Math.pow(10,d));\n}\nfunction carry(val, d) {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val) { if(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0)); return \"\"+Math.floor(val); }\nfunction write_num_flt(type, fmt, val) {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\no = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\nreturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\nSSF.is_date = fmt_is_date;\nfunction eval_fmt(fmt, v, opts, flen) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(abstime)) {\n\t\t\t\t\tif(dt==null) { dt=parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while((++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && i < fmt.length - 2 && \"0#\".indexOf(fmt.charAt(i+2))>-1)) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase \"$\": out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\nif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\nif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\nout[i].v = write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '(': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = general_fmt(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('(', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?('.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?('.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\nSSF._eval = eval_fmt;\nvar cfregex = /\\[[=<>]/;\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f, v) {\n\tvar fmt = split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(cfregex) != null || fmt[1].match(cfregex) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction format(fmt,v,o) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table) : table_fmt)[fmt];\n\t\t\tbreak;\n\t}\n\tif(isgeneral(sfmt,0)) return general_fmt(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(isgeneral(f[1])) return general_fmt(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction load_entry(fmt, idx) {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\nfor(var i = 0; i < 0x0188; ++i) {\nif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\nif(idx < 0) idx = 0x187;\n\t}\ntable_fmt[idx] = fmt;\n\treturn idx;\n}\nSSF.load = load_entry;\nSSF._table = table_fmt;\nSSF.get_table = function get_table() { return table_fmt; };\nSSF.load_table = function load_table(tbl) {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) load_entry(tbl[i], i);\n};\nSSF.init_table = init_table;\nSSF.format = format;\n};\nmake_ssf(SSF);\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*{[string]:string}*/ = ({\n\t\"General Number\": \"General\",\n\t\"General Date\": SSF._table[22],\n\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\"Medium Date\": SSF._table[15],\n\t\"Short Date\": SSF._table[14],\n\t\"Long Time\": SSF._table[19],\n\t\"Medium Time\": SSF._table[18],\n\t\"Short Time\": SSF._table[20],\n\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"Fixed\": SSF._table[2],\n\t\"Standard\": SSF._table[4],\n\t\"Percent\": SSF._table[10],\n\t\"Scientific\": SSF._table[11],\n\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n});\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n});\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF) {\n\tvar fmt = typeof dateNF == \"number\" ? SSF._table[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str, dateNF, match) {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\nvar DO_NOT_EXPORT_CFB = true;\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32;\n(function (factory) {\n\t/*jshint ignore:start */\n\t/*eslint-disable */\n\tfactory(CRC32 = {});\n\t/*eslint-enable */\n\t/*jshint ignore:end */\n}(function(CRC32) {\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table() {\n\tvar c = 0, table = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T = signed_crc_table();\nfunction crc32_bstr(bstr, seed) {\n\tvar C = seed ^ -1, L = bstr.length - 1;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^bstr.charCodeAt(i++))&0xFF];\n\t\tC = (C>>>8) ^ T[(C^bstr.charCodeAt(i++))&0xFF];\n\t}\n\tif(i === L) C = (C>>>8) ^ T[(C ^ bstr.charCodeAt(i))&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_buf(buf, seed) {\n\tif(buf.length > 10000) return crc32_buf_8(buf, seed);\n\tvar C = seed ^ -1, L = buf.length - 3;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t}\n\twhile(i < L+3) C = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_buf_8(buf, seed) {\n\tvar C = seed ^ -1, L = buf.length - 7;\n\tfor(var i = 0; i < L;) {\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t\tC = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\t}\n\twhile(i < L+7) C = (C>>>8) ^ T[(C^buf[i++])&0xFF];\n\treturn C ^ -1;\n}\n\nfunction crc32_str(str, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L=str.length, c, d; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T[(C ^ c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn C ^ -1;\n}\nCRC32.table = T;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\n}));\n/* [MS-CFB] v20171201 */\nvar CFB = (function _CFB(){\nvar exports = {};\nexports.version = '1.1.4';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l, r) {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p) {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p) {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf, date) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf) {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob) {\n\tprep_blob(blob, 0);\n\tvar o = {};\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs;\nfunction get_fs() { return fs || (fs = require('fs')); }\nfunction parse(file, options) {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob = file.slice(0,512);\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = file.slice(0,ssz); prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files = {}, Paths = [], FileIndex = [], FullPaths = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob) {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob, mver) {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file, ssz) {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI, FP, Paths) {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad = [], q = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry, payload, mini) {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size));\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0));\n\treturn (bconcat(o).slice(0, entry.size));\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx, cnt, sectors, ssz, fat_addrs) {\n\tvar q = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors, start, fat_addrs, ssz, chkd) {\n\tvar buf = [], buf_chain = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors, dir_start, fat_addrs, ssz) {\n\tvar sl = sectors.length, sector_list = ([]);\n\tvar chkd = [], buf = [], buf_chain = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])});\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob = sector.slice(i, i+128);\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size));\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob, offset) {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename, options) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob, options) {\n\tswitch(options && options.type || \"base64\") {\n\t\tcase \"file\": return read_file(blob, options);\n\t\tcase \"base64\": return parse(s2a(Base64.decode(blob)), options);\n\t\tcase \"binary\": return parse(s2a(blob), options);\n\t}\n\treturn parse(blob, options);\n}\n\nfunction init_cfb(cfb, opts) {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 });\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb) {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb, f) {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\tvar data = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = false;\n\t\tfor(j = 0; j < data.length; ++j) if(data[j][0] === dad) s = true;\n\t\tif(!s) data.push([dad, ({\n\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\ttype: 1,\n\t\t\tclsid: HEADER_CLSID,\n\t\t\tct: now, mt: now,\n\t\t\tcontent: null\n\t\t})]);\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb, options) {\n\tvar _opts = options || {};\n\trebuild_cfb(cfb);\n\tif(_opts.fileType == 'zip') return write_zip(cfb, _opts);\n\tvar L = (function(cfb){\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\nvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w) {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\nflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\nif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\nif(file.size > 0 && file.size < 0x1000) {\n\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t}\n\t}\n\twhile(o.l < o.length) o.write_shift(1, 0);\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb, path) {\n\tvar UCFullPaths = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath = path.toUpperCase();\n\tvar w = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb, filename, options) {\n\tget_fs();\n\tvar o = _write(cfb, options);\nfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o) {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb, options) {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type) {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o)); return o;\n\t\tcase \"binary\": return a2s(o);\n\t\tcase \"base64\": return Base64.encode(a2s(o));\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < b.length; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}var _deflate = (function() {\nvar _deflateRaw = (function() {\n\treturn function deflateRaw(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\t/* TODO: this is only type 0 stored */\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t};\n})();\n\nreturn function(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n};\n})();\n/* modified inflate function also moves original read head */\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX) {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\tif(typeof data.copy === 'function') {\n\t\t\t\t// $FlowIgnore\n\t\t\t\tdata.copy(outbuf, woff, boff>>>3, (boff>>>3)+sz);\n\t\t\t\twoff += sz; boff += 8*sz;\n\t\t\t} else while(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\tcontinue;\n\t\t} else if((header >>> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\treturn [usz ? outbuf : outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file, options) {\n\tvar blob = file;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex = [], FullPaths = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(blob.slice(blob.l+namelen, blob.l+namelen+efsz));\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob, csz, usz, o, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(blob.slice(blob.l, blob.l + efsz));\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break;\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\tvar _crc32 = CRC32.buf(data, 0);\n\tif((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb, options) {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(fi.content, 0);\n\n\t\tvar outbuf = fi.content;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : fi.content.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: encryption header ? */\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, fi.content.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, fi.content.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out)), bconcat(cdirs), o]));\n}\nfunction cfb_new(opts) {\n\tvar o = ({});\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb, name, content, opts) {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2});\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\nfile.content = (content);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb, name) {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb, old_name, new_name) {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb) { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nif(typeof require !== 'undefined' && typeof module !== 'undefined' && typeof DO_NOT_EXPORT_CFB === 'undefined') { module.exports = CFB; }\nvar _fs;\nif(typeof require !== 'undefined') try { _fs = require('fs'); } catch(e) {}\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname, payload, enc) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\nif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\nif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\nif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\nif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\na.download = fname; a.href = url; document.body.appendChild(a); a.click();\ndocument.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o) {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj, key) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj) {\n\tvar o = ([]), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nvar dnthresh = basedate.getTime() + (new Date().getTimezoneOffset() - basedate.getTimezoneOffset()) * 60000;\nfunction datenum(v, date1904) {\n\tvar epoch = v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nfunction numdate(v) {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date = new Date('2017-02-19T19:06:09.000Z');\nif(isNaN(good_pd_date.getFullYear())) good_pd_date = new Date('2/19/17');\nvar good_pd = good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str, fixdate) {\n\tvar d = new Date(str);\n\tif(good_pd) {\nif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr) {\n\tvar o = \"\";\n\tfor(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]);\n\treturn o;\n}\n\nfunction dup(o) {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c,l) { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s) {\n\tvar v = Number(s);\n\tif(!isNaN(v)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nfunction fuzzydate(s) {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.toLowerCase().match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\nfunction split_regex(str, re, def) {\n\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\tvar p = str.split(re), o = [p[0]];\n\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\treturn o;\n}\nfunction getdatastr(data) {\n\tif(!data) return null;\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\tif(data.content && data.type) return debom(cc2str(data.content));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase(), g = f.replace(/\\//g,'\\\\');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s?[\\/\\?]?>/g;\n\nif(!(XML_HEADER.match(tagregex))) tagregex = /<[^>]*>/g;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag, skip_root, skip_LC) {\n\tvar z = ({});\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x) { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml = (function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\treturn function unescapexml(text) {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text){ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text){\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr = (function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$,$1) { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str) { return str.replace(entregex,entrepl); };\n})();\nvar xlml_unfixstr = (function() {\n\treturn function xlml_unfixstr(str) { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); };\n})();\n\nfunction parsexmlbool(value) {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nvar utf8read = function utf8reada(orig) {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n};\n\nvar utf8write = function(orig) {\n\tvar out = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\nif(has_buf) {\n\tvar utf8readb = function utf8readb(data) {\n\t\tvar out = Buffer.alloc(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\t\tfor(i = 0; i < data.length; i+=j) {\n\t\t\tj = 1;\n\t\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\t\telse { j = 4;\n\t\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t\t}\n\t\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t\t}\n\t\treturn out.slice(0,k).toString('ucs2');\n\t};\n\tvar corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\n\tif(utf8read(corpus) == utf8readb(corpus)) utf8read = utf8readb;\n\tvar utf8readc = function utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); };\n\tif(utf8read(corpus) == utf8readc(corpus)) utf8read = utf8readc;\n\n\tutf8write = function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); };\n}\n\n// matches ... extracts content\nvar matchtag = (function() {\n\tvar mtcache = ({});\n\treturn function matchtag(f,g) {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)',((g||\"\"))));\n\t};\n})();\n\nvar htmldecode = (function() {\n\tvar entities = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str) {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/[\\t\\n\\r ]+$/,\"\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\s+ tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = (function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)' + g + ''; }\n\nfunction wxt_helper(h) { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f,g,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d, t) { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s) {\n\tswitch(typeof s) {\n\t\tcase 'string': return writextag('vt:lpwstr', escapexml(s));\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nvar XMLNS = ({\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n});\n\nXMLNS.main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n});\nfunction read_double_le(b, idx) {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b, v, idx) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar __toBuffer = function(bufs) { var x=[],w=10240; for(var i=0;i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___lpstr = __lpstr;\nvar __cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___cpstr = __cpstr;\nvar __lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar ___lpwstr = __lpwstr;\nvar __lpp4, ___lpp4;\n__lpp4 = ___lpp4 = function lpp4_(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar ___8lpp4 = __8lpp4;\nvar __double, ___double;\n__double = ___double = function(b, idx) { return read_double_le(b, idx);};\nvar is_buf = function is_buf_a(a) { return Array.isArray(a); };\n\nif(has_buf) {\n\t__utf16le = function(b,s,e) { if(!Buffer.isBuffer(b)) return ___utf16le(b,s,e); return b.toString('utf16le',s,e).replace(chr0,'')/*.replace(chr1,'!')*/; };\n\t__hexlify = function(b,s,l) { return Buffer.isBuffer(b) ? b.toString('hex',s,s+l) : ___hexlify(b,s,l); };\n\t__lpstr = function lpstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b, i) { if(!Buffer.isBuffer(b)) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b, i) { if(!Buffer.isBuffer(b)) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__utf8 = function utf8_b(b, s, e) { return (Buffer.isBuffer(b)) ? b.toString('utf8',s,e) : ___utf8(b,s,e); };\n\t__toBuffer = function(bufs) { return (bufs[0].length > 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0]) : ___toBuffer(bufs);};\n\tbconcat = function(bufs) { return Buffer.isBuffer(bufs[0]) ? Buffer.concat(bufs) : [].concat.apply([], bufs); };\n\t__double = function double_(b, i) { if(Buffer.isBuffer(b)) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a); };\n}\n\n/* from js-xls */\nif(typeof cptable !== 'undefined') {\n\t__utf16le = function(b,s,e) { return cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b,s,e) { return cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b,i) { var len = 2*__readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b,i) { var len = __readUInt32LE(b,i); return len > 0 ? cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\n\nvar __readUInt8 = function(b, idx) { return b[idx]; };\nvar __readUInt16LE = function(b, idx) { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b, idx) { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b, idx) { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b, idx) { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b, idx) { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size, t) {\n\tvar o=\"\", oI, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof cptable !== 'undefined') o = cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof cptable !== 'undefined') {\n\t\t\t\to = cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b, val, idx) { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t, val, f) {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\nfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\tif(typeof cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\nfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cppayload = cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cppayload[0];\n\t\t\t}\n\t\t} else {\nval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\nfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t}\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\nthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\nvar end = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr, fld) {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos) {\n\tblob.l = pos;\n\tblob.read_shift = ReadShift;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length) { blob.l += length; }\n\nfunction new_buf(sz) {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb, opts) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = (R.f||parsenoop)(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R.n, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array() {\n\tvar bufs = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz) {\n\t\tvar o = (new_buf(sz));\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz) {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn __toBuffer([bufs]);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs });\n}\n\nfunction write_record(ba, type, payload, length) {\n\tvar t = +XLSBRE[type], l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell, tgt, opts) {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c, biff) {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts) {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nvar OFFCRYPTO = {};\n\nvar make_offcrypto = function(O, _crypto) {\n\tvar crypto;\n\tif(typeof _crypto !== 'undefined') crypto = _crypto;\n\telse if(typeof require !== 'undefined') {\n\t\ttry { crypto = require('crypto'); }\n\t\tcatch(e) { crypto = null; }\n\t}\n\n\tO.rc4 = function(key, data) {\n\t\tvar S = new Array(256);\n\t\tvar c = 0, i = 0, j = 0, t = 0;\n\t\tfor(i = 0; i != 256; ++i) S[i] = i;\n\t\tfor(i = 0; i != 256; ++i) {\n\t\t\tj = (j + S[i] + (key[i%key.length]).charCodeAt(0))&255;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t}\n\t\t// $FlowIgnore\n\t\ti = j = 0; var out = Buffer(data.length);\n\t\tfor(c = 0; c != data.length; ++c) {\n\t\t\ti = (i + 1)&255;\n\t\t\tj = (j + S[i])%256;\n\t\t\tt = S[i]; S[i] = S[j]; S[j] = t;\n\t\t\tout[c] = (data[c] ^ S[(S[i]+S[j])&255]);\n\t\t}\n\t\treturn out;\n\t};\n\n\tO.md5 = function(hex) {\n\t\tif(!crypto) throw new Error(\"Unsupported crypto\");\n\t\treturn crypto.createHash('md5').update(hex).digest('hex');\n\t};\n};\n/*global crypto:true */\nmake_offcrypto(OFFCRYPTO, typeof crypto !== \"undefined\" ? crypto : undefined);\n\nfunction decode_row(rowstr) { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row) { return \"\" + (row + 1); }\nfunction fix_row(cstr) { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr) { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr) { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col) { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr) { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr) { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr) { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\nfunction decode_cell(cstr) { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction encode_cell(cell) { return encode_col(cell.c) + encode_row(cell.r); }\nfunction decode_range(range) { var x =range.split(\":\").map(decode_cell); return {s:x[0],e:x[x.length-1]}; }\nfunction encode_range(cs,ce) {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\nreturn encode_range(cs.s, cs.e);\n\t}\nif(typeof cs !== 'string') cs = encode_cell((cs));\n\tif(typeof ce !== 'string') ce = encode_cell((ce));\nreturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range) {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || range.charCodeAt(++i) === 58) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell, v) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF.format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF.format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell, v, o) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet, opts) {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws, data, opts) {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws = _ws || (dense ? ([]) : ({}));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar range = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}});\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell = ({v: data[R][C] });\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) { if(cell.f) cell.t = 'n'; else if(!o.sheetStubs) continue; else cell.t = 'z'; }\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || SSF._table[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF.format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF.format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tif(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z;\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}));\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data, opts) { return sheet_add_aoa(null, data, opts); }\n\nfunction write_UInt32LE(x, o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data, o) {\n\tvar _null = false; if(o == null) { _null = true; o = new_buf(4+2*data.length); }\n\to.write_shift(4, data.length);\n\tif(data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data) {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length) {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str });\n\tif((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor(var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ich:0, ifnt:0}];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str, o) {\n\t/* TODO: formatted string */\n\tvar _null = false; if(o == null) { _null = true; o = new_buf(15+4*str.t.length); }\n\to.write_shift(1,0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str, o) {\n\t/* TODO: formatted string */\n\tvar _null = false; if(o == null) { _null = true; o = new_buf(23+4*str.t.length); }\n\to.write_shift(1,1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4,1);\n\twrite_StrRun({ich:0,ifnt:0}, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data) {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c:col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell, o) {\n\tif(o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data) {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data, o) {\n\tvar _null = false; if(o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif(data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data) {\n\tvar b = data.slice(data.l, data.l+4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l+=4;\n\tb[0] &= 0xFC; // b[0] &= ~3;\n\tvar RK = fInt === 0 ? __double([0,0,0,0,b[0],b[1],b[2],b[3]],0) : __readInt32LE(b,0)>>2;\n\treturn fX100 ? (RK/100) : RK;\n}\nfunction write_RkNumber(data, o) {\n\tif(o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif((data == (data | 0)) && (data >= -(1<<29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if((d100 == (d100 | 0)) && (d100 >= -(1<<29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif(fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data ) {\n\tvar cell = ({s: {}, e: {}});\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data) { return data.read_shift(8, 'f'); }\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n0x00: \"#NULL!\",\n0x07: \"#DIV/0!\",\n0x0F: \"#VALUE!\",\n0x17: \"#REF!\",\n0x1D: \"#NAME?\",\n0x24: \"#NUM!\",\n0x2A: \"#N/A\",\n0x2B: \"#GETTING_DATA\",\n0xFF: \"#WTF?\"\n};\nvar RBErr = evert_num(BErr);\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch(xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif(icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif(nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif(!o) o = new_buf(8);\n\tif(!color||color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif(color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if(color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif(nTS > 0) nTS *= 32767;\n\telse if(nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif(!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif(typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0,2),16));\n\t\to.write_shift(1, parseInt(rgb.slice(2,4),16));\n\t\to.write_shift(1, parseInt(rgb.slice(4,6),16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif(!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w) {\n\t// $FlowIgnore\n\tvar ClipFmt = {2:\"BITMAP\",3:\"METAFILEPICT\",8:\"DIB\",14:\"ENHMETAFILE\"};\n\tvar m = o.read_shift(4);\n\tswitch(m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)]||\"\";\n\t}\n\tif(m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n0x01: { n: 'CodePage', t: VT_I2 },\n0x02: { n: 'Category', t: VT_STRING },\n0x03: { n: 'PresentationFormat', t: VT_STRING },\n0x04: { n: 'ByteCount', t: VT_I4 },\n0x05: { n: 'LineCount', t: VT_I4 },\n0x06: { n: 'ParagraphCount', t: VT_I4 },\n0x07: { n: 'SlideCount', t: VT_I4 },\n0x08: { n: 'NoteCount', t: VT_I4 },\n0x09: { n: 'HiddenCount', t: VT_I4 },\n0x0a: { n: 'MultimediaClipCount', t: VT_I4 },\n0x0b: { n: 'ScaleCrop', t: VT_BOOL },\n0x0c: { n: 'HeadingPairs', t: VT_VECTOR | VT_VARIANT },\n0x0d: { n: 'TitlesOfParts', t: VT_VECTOR | VT_LPSTR },\n0x0e: { n: 'Manager', t: VT_STRING },\n0x0f: { n: 'Company', t: VT_STRING },\n0x10: { n: 'LinksUpToDate', t: VT_BOOL },\n0x11: { n: 'CharacterCount', t: VT_I4 },\n0x13: { n: 'SharedDoc', t: VT_BOOL },\n0x16: { n: 'HyperlinksChanged', t: VT_BOOL },\n0x17: { n: 'AppVersion', t: VT_I4, p: 'version' },\n0x18: { n: 'DigSig', t: VT_BLOB },\n0x1A: { n: 'ContentType', t: VT_STRING },\n0x1B: { n: 'ContentStatus', t: VT_STRING },\n0x1C: { n: 'Language', t: VT_STRING },\n0x1D: { n: 'Version', t: VT_STRING },\n0xFF: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n0x01: { n: 'CodePage', t: VT_I2 },\n0x02: { n: 'Title', t: VT_STRING },\n0x03: { n: 'Subject', t: VT_STRING },\n0x04: { n: 'Author', t: VT_STRING },\n0x05: { n: 'Keywords', t: VT_STRING },\n0x06: { n: 'Comments', t: VT_STRING },\n0x07: { n: 'Template', t: VT_STRING },\n0x08: { n: 'LastAuthor', t: VT_STRING },\n0x09: { n: 'RevNumber', t: VT_STRING },\n0x0A: { n: 'EditTime', t: VT_FILETIME },\n0x0B: { n: 'LastPrinted', t: VT_FILETIME },\n0x0C: { n: 'CreatedDate', t: VT_FILETIME },\n0x0D: { n: 'ModifiedDate', t: VT_FILETIME },\n0x0E: { n: 'PageCount', t: VT_I4 },\n0x0F: { n: 'WordCount', t: VT_I4 },\n0x10: { n: 'CharCount', t: VT_I4 },\n0x11: { n: 'Thumbnail', t: VT_CF },\n0x12: { n: 'Application', t: VT_STRING },\n0x13: { n: 'DocSecurity', t: VT_I4 },\n0xFF: {}\n};\n\n/* [MS-OLEPS] 2.18 */\nvar SpecialProperties = {\n0x80000000: { n: 'Locale', t: VT_UI4 },\n0x80000003: { n: 'Behavior', t: VT_UI4 },\n0x72627262: {}\n};\n\n(function() {\n\tfor(var y in SpecialProperties) if(Object.prototype.hasOwnProperty.call(SpecialProperties, y))\n\tDocSummaryPIDDSI[y] = SummaryPIDSI[y] = SpecialProperties[y];\n})();\n\nvar DocSummaryRE = evert_key(DocSummaryPIDDSI, \"n\");\nvar SummaryRE = evert_key(SummaryPIDSI, \"n\");\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n0x0001: \"US\", // United States\n0x0002: \"CA\", // Canada\n0x0003: \"\", // Latin America (except Brazil)\n0x0007: \"RU\", // Russia\n0x0014: \"EG\", // Egypt\n0x001E: \"GR\", // Greece\n0x001F: \"NL\", // Netherlands\n0x0020: \"BE\", // Belgium\n0x0021: \"FR\", // France\n0x0022: \"ES\", // Spain\n0x0024: \"HU\", // Hungary\n0x0027: \"IT\", // Italy\n0x0029: \"CH\", // Switzerland\n0x002B: \"AT\", // Austria\n0x002C: \"GB\", // United Kingdom\n0x002D: \"DK\", // Denmark\n0x002E: \"SE\", // Sweden\n0x002F: \"NO\", // Norway\n0x0030: \"PL\", // Poland\n0x0031: \"DE\", // Germany\n0x0034: \"MX\", // Mexico\n0x0037: \"BR\", // Brazil\n0x003d: \"AU\", // Australia\n0x0040: \"NZ\", // New Zealand\n0x0042: \"TH\", // Thailand\n0x0051: \"JP\", // Japan\n0x0052: \"KR\", // Korea\n0x0054: \"VN\", // Viet Nam\n0x0056: \"CN\", // China\n0x005A: \"TR\", // Turkey\n0x0069: \"JS\", // Ramastan\n0x00D5: \"DZ\", // Algeria\n0x00D8: \"MA\", // Morocco\n0x00DA: \"LY\", // Libya\n0x015F: \"PT\", // Portugal\n0x0162: \"IS\", // Iceland\n0x0166: \"FI\", // Finland\n0x01A4: \"CZ\", // Czech Republic\n0x0376: \"TW\", // Taiwan\n0x03C1: \"LB\", // Lebanon\n0x03C2: \"JO\", // Jordan\n0x03C3: \"SY\", // Syria\n0x03C4: \"IQ\", // Iraq\n0x03C5: \"KW\", // Kuwait\n0x03C6: \"SA\", // Saudi Arabia\n0x03CB: \"AE\", // United Arab Emirates\n0x03CC: \"IL\", // Israel\n0x03CE: \"QA\", // Qatar\n0x03D5: \"IR\", // Iran\n0xFFFF: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = dup(_XLSIcv);\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* Metadata */\n\t\"application/vnd.ms-excel.sheetMetadata\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"TODO\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"vba\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n});\n\nvar CT_LIST = (function(){\n\tvar o = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n\t};\n\tkeys(o).forEach(function(k) { [\"xlsm\", \"xlam\"].forEach(function(v) { if(!o[k][v]) o[k][v] = o[k].xlsx; }); });\n\tkeys(o).forEach(function(k){ keys(o[k]).forEach(function(v) { ct2type[o[k][v]] = k; }); });\n\treturn o;\n})();\n\nvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\nXMLNS.CT = 'http://schemas.openxmlformats.org/package/2006/content-types';\n\nfunction new_ct() {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [],\n\t\tTODO:[], xmlns: \"\" });\n}\n\nfunction parse_ct(data) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nvar CTYPE_XML_ROOT = writextag('Types', null, {\n\t'xmlns': XMLNS.CT,\n\t'xmlns:xsd': XMLNS.xsd,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nvar CTYPE_DEFAULTS = [\n\t['xml', 'application/xml'],\n\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t/* from test files */\n\t['bmp', 'image/bmp'],\n\t['png', 'image/png'],\n\t['gif', 'image/gif'],\n\t['emf', 'image/x-emf'],\n\t['wmf', 'image/x-wmf'],\n\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t['pdf', 'application/pdf'],\n\t['rels', type2ct.rels[0]]\n].map(function(x) {\n\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n});\n\nfunction write_ct(ct, opts) {\n\tvar o = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (CTYPE_XML_ROOT);\n\to = o.concat(CTYPE_DEFAULTS);\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType || 'xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('drawings');\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n});\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file) {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data, currentFilePath) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nvar RELS_EXTERN = [RELS.HLINK, RELS.XPATH, RELS.XMISS];\nfunction add_rels(rels, rId, f, type, relobj, targetmode) {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(rId < 0) for(rId = 1; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if(RELS_EXTERN.indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 \n\t\tcase 'file-entry': // 4.3 \n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 \n\t\tcase 'algorithm': // 4.5 \n\t\tcase 'start-key-generation': // 4.6 \n\t\tcase 'key-derivation': // 4.7 \n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\to.push(' \\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' \\n');\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file, res, tag) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base, file) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nvar write_meta_ods = (function() {\n\tvar payload = 'Sheet' + 'JS ' + XLSX.version + '';\n\treturn function wmo() {\n\t\treturn payload;\n\t};\n})();\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nXMLNS.CORE_PROPS = \"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\";\nRELS.CORE_PROPS = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties';\n\nvar CORE_PROPS_REGEX = (function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nvar CORE_PROPS_XML_ROOT = writextag('cp:coreProperties', null, {\n\t//'xmlns': XMLNS.CORE_PROPS,\n\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t'xmlns:dc': XMLNS.dc,\n\t'xmlns:dcterms': XMLNS.dcterms,\n\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t'xmlns:xsi': XMLNS.xsi\n});\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, CORE_PROPS_XML_ROOT], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nXMLNS.EXT_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\";\nRELS.EXT_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties';\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (data.match(matchtag(f[0]))||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": p[f[1]] = unescapexml(xml||\"\"); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nvar EXT_PROPS_XML_ROOT = writextag('Properties', null, {\n\t'xmlns': XMLNS.EXT_PROPS,\n\t'xmlns:vt': XMLNS.vt\n});\n\nfunction write_ext_props(cp) {\n\tvar o = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (EXT_PROPS_XML_ROOT);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nXMLNS.CUST_PROPS = \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\";\nRELS.CUST_PROPS = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties';\n\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM = evert(XLMLDocPropsMap);\n\nfunction xlml_set_prop(Props, tag, val) {\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o = [];\n\tif(Props) keys(Props).forEach(function(k) {\nif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\nif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t, pad) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob) {\n\tvar length = blob.read_shift(4);\n\tvar ret = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.10 VtVecUnalignedLpstr */\nfunction parse_VtVecUnalignedLpstr(blob) {\n\treturn parse_VtVecUnalignedLpstrValue(blob);\n}\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i != cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OSHARED] 2.3.3.1.15 VtVecHeadingPair */\nfunction parse_VtVecHeadingPair(blob) {\n\t// NOTE: When invoked, wType & padding were already consumed\n\treturn parse_VtVecHeadingPairValue(blob);\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict = ({});\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type, _opts) {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPair(blob);\n\t\tcase 0x101E /*VT_LPSTR*/: return parse_VtVecUnalignedLpstr(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\np = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj = ({});\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2));\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ].concat(PseudoPropsPairs);\nfunction guess_property_type(val) {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI)[idx];\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\nvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({});\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier });\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI, entries2, clsid2) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob) {\n\tblob.l += 2; //var cAnti = blob.read_shift(2);\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length) {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tvar out = ({Target:target});\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tvar F = Target.indexOf(\"#\") > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\tout.write_shift(4, Target.length + 1);\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(2, Target.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tout.write_shift(4, 2*(Target.length + 1));\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(2, Target.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length + 1);\n\t\tfor(i = 0; i < Target.length; ++i) out.write_shift(1, Target.charCodeAt(i) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob) {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe});\n}\nfunction write_XLSCell(R, C, ixfe, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n0x00: parse_FtSkip, /* FtEnd */\n0x04: parse_FtSkip, /* FtMacro */\n0x05: parse_FtSkip, /* FtButton */\n0x06: parse_FtSkip, /* FtGmo */\n0x07: parse_FtCf, /* FtCf */\n0x08: parse_FtSkip, /* FtPioGrbit */\n0x09: parse_FtSkip, /* FtPictFmla */\n0x0A: parse_FtSkip, /* FtCbls */\n0x0B: parse_FtSkip, /* FtRbo */\n0x0C: parse_FtSkip, /* FtSbs */\n0x0D: parse_FtNts, /* FtNts */\n0x0E: parse_FtSkip, /* FtSbsFmla */\n0x0F: parse_FtSkip, /* FtGboData */\n0x10: parse_FtSkip, /* FtEdoData */\n0x11: parse_FtSkip, /* FtRboData */\n0x12: parse_FtSkip, /* FtCblsData */\n0x13: parse_FtSkip, /* FtLbsData */\n0x14: parse_FtSkip, /* FtCblsFmla */\n0x15: parse_FtCmo\n};\nfunction parse_FtArray(blob, length) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb, t, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length) {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs = ([]);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({});\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1() {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R, C, v, os, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i, f, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R, C, v, os, opts, t) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R, C, v, os) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t});\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\tvar rgce = target == blob.l || cce === 0 ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length) {\n\tvar merges = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = [];\nparse_BIFF5OT[0x08] = function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts);\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob) {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags});\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r, c, val) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r, c, val) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF = (function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n0x01: 437, 0x02: 850,\n0x03: 1252, 0x04: 10000,\n0x64: 852, 0x65: 866,\n0x66: 865, 0x67: 861,\n0x68: 895, 0x69: 620,\n0x6A: 737, 0x6B: 857,\n0x78: 950, 0x79: 949,\n0x7A: 936, 0x7B: 932,\n0x7C: 874, 0x7D: 1255,\n0x7E: 1256, 0x96: 10007,\n0x97: 10029, 0x98: 10006,\n0xC8: 1250, 0xC9: 1251,\n0xCA: 1254, 0xCB: 1253,\n\n\t/* shapefile DBF extension */\n0x00: 20127, 0x08: 865,\n0x09: 437, 0x0A: 850,\n0x0B: 437, 0x0D: 437,\n0x0E: 850, 0x0F: 437,\n0x10: 850, 0x11: 437,\n0x12: 850, 0x13: 932,\n0x14: 850, 0x15: 437,\n0x16: 850, 0x17: 865,\n0x18: 437, 0x19: 437,\n0x1A: 850, 0x1B: 437,\n0x1C: 863, 0x1D: 850,\n0x1F: 852, 0x22: 852,\n0x23: 852, 0x24: 860,\n0x25: 850, 0x26: 866,\n0x37: 850, 0x40: 852,\n0x4D: 936, 0x4E: 949,\n0x4F: 950, 0x50: 874,\n0x57: 1252, 0x58: 1252,\n0x59: 1252,\n\n0xFF: 16969\n};\nvar dbf_reverse_map = evert({\n0x01: 437, 0x02: 850,\n0x03: 1252, 0x04: 10000,\n0x64: 852, 0x65: 866,\n0x66: 865, 0x67: 861,\n0x68: 895, 0x69: 620,\n0x6A: 737, 0x6B: 857,\n0x78: 950, 0x79: 949,\n0x7A: 936, 0x7B: 932,\n0x7C: 874, 0x7D: 1255,\n0x7E: 1256, 0x96: 10007,\n0x97: 10029, 0x98: 10006,\n0xC8: 1250, 0xC9: 1251,\n0xCA: 1254, 0xCB: 1253,\n0x00: 20127\n});\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts) {\n\tvar out = [];\n\t/* TODO: browser based */\n\tvar d = (new_raw_buf(1));\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64.decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = false;\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: case 0x03: break;\n\t\tcase 0x30: vfp = true; memo = true; break;\n\t\tcase 0x31: vfp = true; break;\n\t\tcase 0x83: memo = true; break;\n\t\tcase 0x8B: memo = true; break;\n\t\tcase 0x8C: memo = true; l7 = true; break;\n\t\tcase 0xF5: memo = true; break;\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\tvar /*filedate = new Date(),*/ nrow = 0, fpos = 0;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\t/*filedate = new Date(d.read_shift(1) + 1900, d.read_shift(1) - 1, d.read_shift(1));*/d.l += 3;\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(ft != 0x02) fpos = d.read_shift(2);\n\tvar rlen = d.read_shift(2);\n\n\tvar /*flags = 0,*/ current_cp = 1252;\n\tif(ft != 0x02) {\n\td.l+=16;\n\t/*flags = */d.read_shift(1);\n\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t/* codepage present in FoxPro */\n\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\td.l+=1;\n\n\td.l+=2;\n\t}\n\tif(l7) d.l += 36;\nvar fields = [], field = ({});\n\tvar hend = fpos - 10 - (vfp ? 264 : 0), ww = l7 ? 32 : 11;\n\twhile(ft == 0x02 ? d.l < d.length && d[d.l] != 0x0d: d.l < hend) {\n\t\tfield = ({});\n\t\tfield.name = cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // VFP Double\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General\n\t\t\tcase 'P': // Picture\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'C': // character\n\t\t\tcase 'D': // date\n\t\t\tcase 'F': // floating point\n\t\t\tcase 'I': // long\n\t\t\tcase 'L': // boolean\n\t\t\tcase 'M': // memo\n\t\t\tcase 'N': // number\n\t\t\tcase 'O': // double\n\t\t\tcase 'T': // datetime\n\t\t\tcase 'Y': // currency\n\t\t\tcase '0': // VFP _NullFlags\n\t\t\tcase '@': // timestamp\n\t\t\tcase '+': // autoincrement\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\telse if(ft == 0x02) d.l = 0x209;\n\tif(ft != 0x02) {\n\t\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\t\td.l = fpos;\n\t}\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) { d.l+=rlen; continue; }\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\tout[R][C] = cptable.utils.decode(current_cp, dd);\n\t\t\t\t\tout[R][C] = out[R][C].trim();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase ' ': case '?': out[R][C] = false; break; /* NOTE: technically uninitialized */\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N': out[R][C] = +s.replace(/\\u0000/g,\"\").trim(); break;\n\t\t\t\tcase '@': out[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400); break;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4; break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts) {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\treturn aoa_to_sheet(dbf_to_aoa(buf, o), o);\n}\n\nfunction dbf_to_workbook(buf, opts) {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws, opts) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1);\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(i == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar col = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tvar guess = '', _guess = '';\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\tif(guess == 'C') break;\n\t\t}\n\t\trlen += _RLEN[guess] || 0;\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[current_ansi] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += _RLEN[coltypes[i]] || 0;\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j\":190, \"?\":191, \"{\":223\n\t});\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str, opts) {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr = [];\n\t\tvar formats = [];\n\t\tvar next_cell_format = null;\n\t\tvar sht = {}, rowinfo = [], colinfo = [], cw = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d, opts) {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d, opts) { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell, ws, R, C) {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number') col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number') col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out, rows) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws, opts) {\n\t\tvar preamble = [\"ID;PWXL;N;E\"], o = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = (function() {\n\tfunction dif_to_aoa(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str, opts) {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri].trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str, opts) { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str, opts) { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = (function() {\n\t\tvar push_field = function pf(o, topic, v, n, s) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o, type, v, s) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws) {\n\t\t\tvar o = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF.format(cell.z || SSF._table[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = (function() {\n\tfunction decode(s) { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s) { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str, opts) {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d, opts) { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d, opts) { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws) {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o = [], oo = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF.format(cell.z || SSF._table[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws) {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = (function() {\n\tfunction set_text_arr(data, arr, R, C, o) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f, opts) {\n\t\tvar o = opts || {};\n\t\tvar arr = ([]);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n0x2C: ',',\n0x09: \"\\t\",\n0x3B: ';'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n0x2C: 3,\n0x09: 2,\n0x3B: 1\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]];\n\t}\n\n\tfunction dsv_to_sheet_str(str, opts) {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws = o.dense ? ([]) : ({});\n\t\tvar range = ({s: {c:0, r:0}, e: {c:0, r:0}});\n\n\t\tif(str.slice(0,4) == \"sep=\" && str.charCodeAt(5) == 10) { sep = str.charAt(4); str = str.slice(6); }\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0;\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({});\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || SSF._table[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF.format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1;\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str, opts) {\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d, opts) {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64.decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8');\n\t\t\t\telse if(opts.codepage && typeof cptable !== 'undefined') str = cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = d.toString('binary');\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if((opts.type == 'binary') && typeof cptable !== 'undefined' && opts.codepage) str = cptable.utils.decode(opts.codepage, cptable.utils.encode(1252,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d, opts) { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws) {\n\t\tvar o = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = (function() {\n\tfunction lotushopper(data, cb, opts) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = (R.f||parsenoop)(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R.n, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64.decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts) {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s = ((o.dense ? [] : {})), n = \"Sheet1\", sidx = 0;\n\t\tvar sheets = {}, snames = [n];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x02) o.Enum = WK1Enum;\n\t\telse if(d[2] == 0x1a) o.Enum = WK3Enum;\n\t\telse if(d[2] == 0x0e) { o.Enum = WK3Enum; o.qpro = true; d.l = 0; }\n\t\telse throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\tlotushopper(d, function(val, Rn, RT) {\n\t\t\tif(d[2] == 0x02) switch(RT) {\n\t\t\t\tcase 0x00:\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || SSF._table[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t} else switch(RT) {\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: break;\n\t\t\t}\n\t\t}, o);\n\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[n] = s;\n\t\treturn { SheetNames: snames, Sheets:sheets };\n\t}\n\n\tfunction parse_RANGE(blob) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_cell_3(blob) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\t/* TODO: figure out all of the corner cases */\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t\tdefault: throw \"unknown NUMBER_18 encoding \" + (v & 0x07);\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) { o[1].v = 0; return o; }\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (s*2 - 1) * ((e > 0 ? (v2 << e) : (v2 >>> -e)) + (e > -32 ? (v1 << (e + 32)) : (v1 >>> -(e + 32))));\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tvar WK1Enum = {\n0x0000: { n:\"BOF\", f:parseuint16 },\n0x0001: { n:\"EOF\" },\n0x0002: { n:\"CALCMODE\" },\n0x0003: { n:\"CALCORDER\" },\n0x0004: { n:\"SPLIT\" },\n0x0005: { n:\"SYNC\" },\n0x0006: { n:\"RANGE\", f:parse_RANGE },\n0x0007: { n:\"WINDOW1\" },\n0x0008: { n:\"COLW1\" },\n0x0009: { n:\"WINTWO\" },\n0x000A: { n:\"COLW2\" },\n0x000B: { n:\"NAME\" },\n0x000C: { n:\"BLANK\" },\n0x000D: { n:\"INTEGER\", f:parse_INTEGER },\n0x000E: { n:\"NUMBER\", f:parse_NUMBER },\n0x000F: { n:\"LABEL\", f:parse_LABEL },\n0x0010: { n:\"FORMULA\", f:parse_FORMULA },\n0x0018: { n:\"TABLE\" },\n0x0019: { n:\"ORANGE\" },\n0x001A: { n:\"PRANGE\" },\n0x001B: { n:\"SRANGE\" },\n0x001C: { n:\"FRANGE\" },\n0x001D: { n:\"KRANGE1\" },\n0x0020: { n:\"HRANGE\" },\n0x0023: { n:\"KRANGE2\" },\n0x0024: { n:\"PROTEC\" },\n0x0025: { n:\"FOOTER\" },\n0x0026: { n:\"HEADER\" },\n0x0027: { n:\"SETUP\" },\n0x0028: { n:\"MARGINS\" },\n0x0029: { n:\"LABELFMT\" },\n0x002A: { n:\"TITLES\" },\n0x002B: { n:\"SHEETJS\" },\n0x002D: { n:\"GRAPH\" },\n0x002E: { n:\"NGRAPH\" },\n0x002F: { n:\"CALCCOUNT\" },\n0x0030: { n:\"UNFORMATTED\" },\n0x0031: { n:\"CURSORW12\" },\n0x0032: { n:\"WINDOW\" },\n0x0033: { n:\"STRING\", f:parse_LABEL },\n0x0037: { n:\"PASSWORD\" },\n0x0038: { n:\"LOCKED\" },\n0x003C: { n:\"QUERY\" },\n0x003D: { n:\"QUERYNAME\" },\n0x003E: { n:\"PRINT\" },\n0x003F: { n:\"PRINTNAME\" },\n0x0040: { n:\"GRAPH2\" },\n0x0041: { n:\"GRAPHNAME\" },\n0x0042: { n:\"ZOOM\" },\n0x0043: { n:\"SYMSPLIT\" },\n0x0044: { n:\"NSROWS\" },\n0x0045: { n:\"NSCOLS\" },\n0x0046: { n:\"RULER\" },\n0x0047: { n:\"NNAME\" },\n0x0048: { n:\"ACOMM\" },\n0x0049: { n:\"AMACRO\" },\n0x004A: { n:\"PARSE\" },\n0x00FF: { n:\"\", f:parsenoop }\n\t};\n\n\tvar WK3Enum = {\n0x0000: { n:\"BOF\" },\n0x0001: { n:\"EOF\" },\n0x0003: { n:\"??\" },\n0x0004: { n:\"??\" },\n0x0005: { n:\"??\" },\n0x0006: { n:\"??\" },\n0x0007: { n:\"??\" },\n0x0009: { n:\"??\" },\n0x000a: { n:\"??\" },\n0x000b: { n:\"??\" },\n0x000c: { n:\"??\" },\n0x000e: { n:\"??\" },\n0x000f: { n:\"??\" },\n0x0010: { n:\"??\" },\n0x0011: { n:\"??\" },\n0x0012: { n:\"??\" },\n0x0013: { n:\"??\" },\n0x0015: { n:\"??\" },\n0x0016: { n:\"LABEL16\", f:parse_LABEL_16},\n0x0017: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n0x0018: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n0x0019: { n:\"FORMULA19\", f:parse_FORMULA_19},\n0x001a: { n:\"??\" },\n0x001b: { n:\"??\" },\n0x001c: { n:\"??\" },\n0x001d: { n:\"??\" },\n0x001e: { n:\"??\" },\n0x001f: { n:\"??\" },\n0x0021: { n:\"??\" },\n0x0025: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n0x0027: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n0x0028: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n0x00FF: { n:\"\", f:parsenoop }\n\t};\n\treturn {\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '':\n\t\t\tcase '': font.shadow = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '':\n\t\t\tcase '': font.outline = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '':\n\t\t\tcase '': font.strike = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '':\n\t\t\tcase '': font.u = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '':\n\t\t\tcase '': font.b = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '':\n\t\t\tcase '': font.i = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = (function() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\");\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o = ({t:'s', v:unescapexml(t[1])});\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of tags */\nvar rs_to_html = (function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return null;\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data, opts) {\n\tvar s = ([]), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nRELS.SST = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\";\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst, opts) {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS.main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts) {\n\tvar s = ([]);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* 'BrtBeginSst' */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* 'BrtSSTItem' */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* 'BrtEndSst' */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R_n.indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if(R_n.indexOf(\"End\") > 0){/* empty */}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSst\", write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, \"BrtSSTItem\", write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, \"BrtEndSst\");\n\treturn ba.end();\n}\nfunction _JS2ANSI(str) {\n\tif(typeof cptable !== 'undefined') return cptable.utils.encode(current_ansi, str);\n\tvar o = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length) {\n\tvar o = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\nif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt() { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = (function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) });\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = (function() {\n\tfunction rtf_to_sheet(d, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64.decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(d.toString('binary'), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\tfunction rtf_to_sheet_str(str, opts) {\n\t\tvar o = opts || {};\n\t\tvar ws = o.dense ? ([]) : ({});\n\t\tvar range = ({s: {c:0, r:0}, e: {c:0, r:0}});\n\n\t\t// TODO: parse\n\t\tif(!str.match(/\\\\trowd/)) throw new Error(\"RTF missing table\");\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d, opts) { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws) {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = {};\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(SSF._table));\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF.load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs) {\n\tvar o = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= (function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(//mg,\"\").replace(//gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nvar STYLES_XML_ROOT = writextag('styleSheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:vt': XMLNS.vt\n});\n\nRELS.STY = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\";\n\nfunction write_sty_xml(wb, opts) {\n\tvar o = [XML_HEADER, STYLES_XML_ROOT], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i, f, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length, opts) {\n\tvar out = ({});\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames = (evert(XLSBFillPTNames));\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tvar fls = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]);\n\tfor(var y in SSF._table) styles.NumberFmt[y] = SSF._table[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* 'BrtFmt' */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF.load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* 'BrtFont' */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* 'BrtKnownFonts' */ break;\n\t\t\tcase 0x002D: /* 'BrtFill' */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* 'BrtBorder' */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* 'BrtXF' */\n\t\t\t\tif(state[state.length - 1] == \"BrtBeginCellXFs\") {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* 'BrtStyle' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x023C: /* 'BrtMRUColor' */\n\t\t\tcase 0x01DB: /* 'BrtIndexedColor': */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* 'BrtDXF14' */\n\t\t\tcase 0x0836: /* 'BrtDXF15' */\n\t\t\tcase 0x046A: /* 'BrtSlicerStyleElement' */\n\t\t\tcase 0x0200: /* 'BrtTableStyleElement' */\n\t\t\tcase 0x082F: /* 'BrtTimelineStyleElement' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0) state.push(R_n);\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != \"BrtACBegin\")) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFmts\", write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\nfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, \"BrtFmt\", write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, \"BrtEndFmts\");\n}\n\nfunction write_FONTS_bin(ba) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFonts\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtFont\", write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, \"BrtEndFonts\");\n}\n\nfunction write_FILLS_bin(ba) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginFills\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtFill\", write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, \"BrtFill\", write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, \"BrtEndFills\");\n}\n\nfunction write_BORDERS_bin(ba) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, \"BrtBeginBorders\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtBorder\", write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, \"BrtEndBorders\");\n}\n\nfunction write_CELLSTYLEXFS_bin(ba) {\n\tvar cnt = 1;\n\twrite_record(ba, \"BrtBeginCellStyleXFs\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtXF\", write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, \"BrtEndCellStyleXFs\");\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, \"BrtBeginCellXFs\", write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, \"BrtXF\", write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, \"BrtEndCellXFs\");\n}\n\nfunction write_STYLES_bin(ba) {\n\tvar cnt = 1;\n\n\twrite_record(ba, \"BrtBeginStyles\", write_UInt32LE(cnt));\n\twrite_record(ba, \"BrtStyle\", write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, \"BrtEndStyles\");\n}\n\nfunction write_DXFS_bin(ba) {\n\tvar cnt = 0;\n\n\twrite_record(ba, \"BrtBeginDXFs\", write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, \"BrtEndDXFs\");\n}\n\nfunction write_TABLESTYLES_bin(ba) {\n\tvar cnt = 0;\n\n\twrite_record(ba, \"BrtBeginTableStyles\", write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, \"BrtEndTableStyles\");\n}\n\nfunction write_COLORPALETTE_bin() {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginStyleSheet\");\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, \"BrtEndStyleSheet\");\n\treturn ba.end();\n}\nRELS.THEME = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\";\n\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'', '', '', '',\n\t'', '', '',\n\t'', '', '',\n\t'', ''\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme() { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme() { }\n\nvar clrsregex = /]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) return parse_theme_xml(write_theme());\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts) {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles || !jszip) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = new jszip(data); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob) {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data) {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ' 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn out;\n}\n\n//function write_cc_bin(data, opts) { }\n/* 18.14 Supplementary Workbook Data */\nfunction parse_xlink_xml() {\n\t//var opts = _opts || {};\n\t//if(opts.WTF) throw \"XLSX External Link\";\n}\n\n/* [MS-XLSB] 2.1.7.25 External Link */\nfunction parse_xlink_bin(data, rel, name, _opts) {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\n\tvar pass = false, end = false;\n\n\trecordhopper(data, function xlink_parse(val, R_n, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0167: /* 'BrtSupTabs' */\n\t\t\tcase 0x016B: /* 'BrtExternTableStart' */\n\t\t\tcase 0x016C: /* 'BrtExternTableEnd' */\n\t\t\tcase 0x016E: /* 'BrtExternRowHdr' */\n\t\t\tcase 0x016F: /* 'BrtExternCellBlank' */\n\t\t\tcase 0x0170: /* 'BrtExternCellReal' */\n\t\t\tcase 0x0171: /* 'BrtExternCellBool' */\n\t\t\tcase 0x0172: /* 'BrtExternCellError' */\n\t\t\tcase 0x0173: /* 'BrtExternCellString' */\n\t\t\tcase 0x01D8: /* 'BrtExternValueMeta' */\n\t\t\tcase 0x0241: /* 'BrtSupNameStart' */\n\t\t\tcase 0x0242: /* 'BrtSupNameValueStart' */\n\t\t\tcase 0x0243: /* 'BrtSupNameValueEnd' */\n\t\t\tcase 0x0244: /* 'BrtSupNameNum' */\n\t\t\tcase 0x0245: /* 'BrtSupNameErr' */\n\t\t\tcase 0x0246: /* 'BrtSupNameSt' */\n\t\t\tcase 0x0247: /* 'BrtSupNameNil' */\n\t\t\tcase 0x0248: /* 'BrtSupNameBool' */\n\t\t\tcase 0x0249: /* 'BrtSupNameFmla' */\n\t\t\tcase 0x024A: /* 'BrtSupNameBits' */\n\t\t\tcase 0x024B: /* 'BrtSupNameEnd' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT.toString(16) + \" \" + R_n);\n\t\t}\n\t}, opts);\n}\n/* 20.5 DrawingML - SpreadsheetML Drawing */\nRELS.IMG = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\";\nRELS.DRAW = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\";\n\n/* 20.5.2.35 wsDr CT_Drawing */\nfunction parse_drawing(data, rels) {\n\tif(!data) return \"??\";\n\t/*\n\t Chartsheet Drawing:\n\t - 20.5.2.35 wsDr CT_Drawing\n\t - 20.5.2.1 absoluteAnchor CT_AbsoluteAnchor\n\t - 20.5.2.16 graphicFrame CT_GraphicalObjectFrame\n\t - 20.1.2.2.16 graphic CT_GraphicalObject\n\t - 20.1.2.2.17 graphicData CT_GraphicalObjectData\n - chart reference\n\t the actual type is based on the URI of the graphicData\n\t\tTODO: handle embedded charts and other types of graphics\n\t*/\n\tvar id = (data.match(/]*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = {'color2':\"#BEFF82\", 'type':\"gradient\"};\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"});\n\t++_shapeid;\n\n\to = o.concat([\n\t'',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t]); });\n\to.push('');\n\treturn o.join(\"\");\n}\nRELS.CMNT = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\";\n\nfunction sheet_insert_comments(sheet, comments) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"});\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o = ({a: comment.author, t: comment.t, r: comment.r});\n\t\tif(comment.h) o.h = comment.h;\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data, opts) {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors = [];\n\tvar commentList = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid });\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = rt.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nvar CMNT_XML_ROOT = writextag('comments', null, { 'xmlns': XMLNS.main[0] });\nfunction write_comments_xml(data) {\n\tvar o = [XML_HEADER, CMNT_XML_ROOT];\n\n\tvar iauthor = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) > -1) return;\n\t\tiauthor.push(a);\n\t\to.push(\"\" + a + \"\");\n\t}); });\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\td[1].forEach(function(c) {\n\t\t\t/* 18.7.3 CT_Comment */\n\t\t\to.push('');\n\t\t\to.push(writetag(\"t\", c.t == null ? \"\" : escapexml(c.t)));\n\t\t\to.push('');\n\t\t});\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts) {\n\tvar out = [];\n\tvar authors = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data) {\n\tvar ba = buf_array();\n\tvar iauthor = [];\n\twrite_record(ba, \"BrtBeginComments\");\n\n\twrite_record(ba, \"BrtBeginCommentAuthors\");\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, \"BrtCommentAuthor\", write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, \"BrtEndCommentAuthors\");\n\n\twrite_record(ba, \"BrtBeginCommentList\");\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, \"BrtBeginComment\", write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, \"BrtCommentText\", write_BrtCommentText(c));\n\t\t\twrite_record(ba, \"BrtEndComment\");\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, \"BrtEndCommentList\");\n\n\twrite_record(ba, \"BrtEndComments\");\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n\tvar newcfb = CFB.utils.cfb_new({root:\"R\"});\n\tcfb.FullPaths.forEach(function(p, i) {\n\t\tif(p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/)) return;\n\t\tvar newpath = p.replace(/^[^\\/]*/,\"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n\t\tCFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n\t});\n\treturn CFB.write(newcfb);\n}\n\nfunction fill_vba_xls(cfb, vba) {\n\tvba.FullPaths.forEach(function(p, i) {\n\t\tif(i == 0) return;\n\t\tvar newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n\t\tif(newpath.slice(-1) !== \"/\") CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n\t});\n}\n\nvar VBAFMTS = [ \"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\" ];\n\nRELS.DS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\";\nRELS.MS = \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\";\n\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin() { return {'!type':'dialog'}; }\nfunction parse_ds_xml() { return {'!type':'dialog'}; }\nfunction parse_ms_bin() { return {'!type':'macro'}; }\nfunction parse_ms_xml() { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = (function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase = ({r:0,c:0});\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr, base) {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc =(function(){\n\treturn function a1_to_rc(fstr, base) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f, delta) {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f, range, cell) {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f) {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f) {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts) {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n0x01: { n:'PtgExp', f:parse_PtgExp },\n0x02: { n:'PtgTbl', f:parse_PtgTbl },\n0x03: { n:'PtgAdd', f:parseread1 },\n0x04: { n:'PtgSub', f:parseread1 },\n0x05: { n:'PtgMul', f:parseread1 },\n0x06: { n:'PtgDiv', f:parseread1 },\n0x07: { n:'PtgPower', f:parseread1 },\n0x08: { n:'PtgConcat', f:parseread1 },\n0x09: { n:'PtgLt', f:parseread1 },\n0x0A: { n:'PtgLe', f:parseread1 },\n0x0B: { n:'PtgEq', f:parseread1 },\n0x0C: { n:'PtgGe', f:parseread1 },\n0x0D: { n:'PtgGt', f:parseread1 },\n0x0E: { n:'PtgNe', f:parseread1 },\n0x0F: { n:'PtgIsect', f:parseread1 },\n0x10: { n:'PtgUnion', f:parseread1 },\n0x11: { n:'PtgRange', f:parseread1 },\n0x12: { n:'PtgUplus', f:parseread1 },\n0x13: { n:'PtgUminus', f:parseread1 },\n0x14: { n:'PtgPercent', f:parseread1 },\n0x15: { n:'PtgParen', f:parseread1 },\n0x16: { n:'PtgMissArg', f:parseread1 },\n0x17: { n:'PtgStr', f:parse_PtgStr },\n0x1A: { n:'PtgSheet', f:parse_PtgSheet },\n0x1B: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n0x1C: { n:'PtgErr', f:parse_PtgErr },\n0x1D: { n:'PtgBool', f:parse_PtgBool },\n0x1E: { n:'PtgInt', f:parse_PtgInt },\n0x1F: { n:'PtgNum', f:parse_PtgNum },\n0x20: { n:'PtgArray', f:parse_PtgArray },\n0x21: { n:'PtgFunc', f:parse_PtgFunc },\n0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n0x23: { n:'PtgName', f:parse_PtgName },\n0x24: { n:'PtgRef', f:parse_PtgRef },\n0x25: { n:'PtgArea', f:parse_PtgArea },\n0x26: { n:'PtgMemArea', f:parse_PtgMemArea },\n0x27: { n:'PtgMemErr', f:parse_PtgMemErr },\n0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n0x2A: { n:'PtgRefErr', f:parse_PtgRefErr },\n0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n0x2C: { n:'PtgRefN', f:parse_PtgRefN },\n0x2D: { n:'PtgAreaN', f:parse_PtgAreaN },\n0x2E: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n0x2F: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n0x39: { n:'PtgNameX', f:parse_PtgNameX },\n0x3A: { n:'PtgRef3d', f:parse_PtgRef3d },\n0x3B: { n:'PtgArea3d', f:parse_PtgArea3d },\n0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n0xFF: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n0x40: 0x20, 0x60: 0x20,\n0x41: 0x21, 0x61: 0x21,\n0x42: 0x22, 0x62: 0x22,\n0x43: 0x23, 0x63: 0x23,\n0x44: 0x24, 0x64: 0x24,\n0x45: 0x25, 0x65: 0x25,\n0x46: 0x26, 0x66: 0x26,\n0x47: 0x27, 0x67: 0x27,\n0x48: 0x28, 0x68: 0x28,\n0x49: 0x29, 0x69: 0x29,\n0x4A: 0x2A, 0x6A: 0x2A,\n0x4B: 0x2B, 0x6B: 0x2B,\n0x4C: 0x2C, 0x6C: 0x2C,\n0x4D: 0x2D, 0x6D: 0x2D,\n0x4E: 0x2E, 0x6E: 0x2E,\n0x4F: 0x2F, 0x6F: 0x2F,\n0x58: 0x22, 0x78: 0x22,\n0x59: 0x39, 0x79: 0x39,\n0x5A: 0x3A, 0x7A: 0x3A,\n0x5B: 0x3B, 0x7B: 0x3B,\n0x5C: 0x3C, 0x7C: 0x3C,\n0x5D: 0x3D, 0x7D: 0x3D\n};\n(function(){for(var y in PtgDupes) PtgTypes[y] = PtgTypes[PtgDupes[y]];})();\n\nvar Ptg18 = {\n0x01: { n:'PtgElfLel', f:parse_PtgElfLel },\n0x02: { n:'PtgElfRw', f:parse_PtgElfRw },\n0x03: { n:'PtgElfCol', f:parse_PtgElfCol },\n0x06: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n0x07: { n:'PtgElfColV', f:parse_PtgElfColV },\n0x0A: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n0x0B: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n0x0D: { n:'PtgElfColS', f:parse_PtgElfColS },\n0x0F: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n0x10: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n0x19: { n:'PtgList', f:parse_PtgList },\n0x1D: { n:'PtgSxName', f:parse_PtgSxName },\n0xFF: {}\n};\nvar Ptg19 = {\n0x00: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n0x80: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n0xFF: {}\n};\nPtg19[0x21] = Ptg19[0x20];\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f) {\n\tvar o = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\nr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\nfunction formula_quote_sheet_name(sname, opts) {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif(sname.indexOf(\" \") > -1) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti, opts) {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti, opts) {\n\treturn formula_quote_sheet_name(get_ixti_raw(supbooks, ixti, opts), opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell, supbooks, opts) {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack = [], e1, e2, c, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\nc = shift_cell_xls((f[1][1]), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\nc = cell ? shift_cell_xls((f[1][1]), cell, opts) : (f[1][1]);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\nixti = f[1][1]; c = shift_cell_xls((f[1][2]), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc = (f[1][0]), func = (f[1][1]);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(f[1]); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(f[1]); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\nr = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\nr = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\nixti = f[1][1]; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\tif(name in XLSXFutureFunctions) name = XLSXFutureFunctions[name];\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx = (f[1][1]); nameidx = (f[1][2]); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = get_ixti_raw(supbooks, bookidx, opts).split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]),r:(f[1][0])};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r});\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(f[1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(f[1]) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell, R, C, opts, os) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLS] 2.5.198.4 */\nvar Cetab = {\n0x0000: 'BEEP',\n0x0001: 'OPEN',\n0x0002: 'OPEN.LINKS',\n0x0003: 'CLOSE.ALL',\n0x0004: 'SAVE',\n0x0005: 'SAVE.AS',\n0x0006: 'FILE.DELETE',\n0x0007: 'PAGE.SETUP',\n0x0008: 'PRINT',\n0x0009: 'PRINTER.SETUP',\n0x000A: 'QUIT',\n0x000B: 'NEW.WINDOW',\n0x000C: 'ARRANGE.ALL',\n0x000D: 'WINDOW.SIZE',\n0x000E: 'WINDOW.MOVE',\n0x000F: 'FULL',\n0x0010: 'CLOSE',\n0x0011: 'RUN',\n0x0016: 'SET.PRINT.AREA',\n0x0017: 'SET.PRINT.TITLES',\n0x0018: 'SET.PAGE.BREAK',\n0x0019: 'REMOVE.PAGE.BREAK',\n0x001A: 'FONT',\n0x001B: 'DISPLAY',\n0x001C: 'PROTECT.DOCUMENT',\n0x001D: 'PRECISION',\n0x001E: 'A1.R1C1',\n0x001F: 'CALCULATE.NOW',\n0x0020: 'CALCULATION',\n0x0022: 'DATA.FIND',\n0x0023: 'EXTRACT',\n0x0024: 'DATA.DELETE',\n0x0025: 'SET.DATABASE',\n0x0026: 'SET.CRITERIA',\n0x0027: 'SORT',\n0x0028: 'DATA.SERIES',\n0x0029: 'TABLE',\n0x002A: 'FORMAT.NUMBER',\n0x002B: 'ALIGNMENT',\n0x002C: 'STYLE',\n0x002D: 'BORDER',\n0x002E: 'CELL.PROTECTION',\n0x002F: 'COLUMN.WIDTH',\n0x0030: 'UNDO',\n0x0031: 'CUT',\n0x0032: 'COPY',\n0x0033: 'PASTE',\n0x0034: 'CLEAR',\n0x0035: 'PASTE.SPECIAL',\n0x0036: 'EDIT.DELETE',\n0x0037: 'INSERT',\n0x0038: 'FILL.RIGHT',\n0x0039: 'FILL.DOWN',\n0x003D: 'DEFINE.NAME',\n0x003E: 'CREATE.NAMES',\n0x003F: 'FORMULA.GOTO',\n0x0040: 'FORMULA.FIND',\n0x0041: 'SELECT.LAST.CELL',\n0x0042: 'SHOW.ACTIVE.CELL',\n0x0043: 'GALLERY.AREA',\n0x0044: 'GALLERY.BAR',\n0x0045: 'GALLERY.COLUMN',\n0x0046: 'GALLERY.LINE',\n0x0047: 'GALLERY.PIE',\n0x0048: 'GALLERY.SCATTER',\n0x0049: 'COMBINATION',\n0x004A: 'PREFERRED',\n0x004B: 'ADD.OVERLAY',\n0x004C: 'GRIDLINES',\n0x004D: 'SET.PREFERRED',\n0x004E: 'AXES',\n0x004F: 'LEGEND',\n0x0050: 'ATTACH.TEXT',\n0x0051: 'ADD.ARROW',\n0x0052: 'SELECT.CHART',\n0x0053: 'SELECT.PLOT.AREA',\n0x0054: 'PATTERNS',\n0x0055: 'MAIN.CHART',\n0x0056: 'OVERLAY',\n0x0057: 'SCALE',\n0x0058: 'FORMAT.LEGEND',\n0x0059: 'FORMAT.TEXT',\n0x005A: 'EDIT.REPEAT',\n0x005B: 'PARSE',\n0x005C: 'JUSTIFY',\n0x005D: 'HIDE',\n0x005E: 'UNHIDE',\n0x005F: 'WORKSPACE',\n0x0060: 'FORMULA',\n0x0061: 'FORMULA.FILL',\n0x0062: 'FORMULA.ARRAY',\n0x0063: 'DATA.FIND.NEXT',\n0x0064: 'DATA.FIND.PREV',\n0x0065: 'FORMULA.FIND.NEXT',\n0x0066: 'FORMULA.FIND.PREV',\n0x0067: 'ACTIVATE',\n0x0068: 'ACTIVATE.NEXT',\n0x0069: 'ACTIVATE.PREV',\n0x006A: 'UNLOCKED.NEXT',\n0x006B: 'UNLOCKED.PREV',\n0x006C: 'COPY.PICTURE',\n0x006D: 'SELECT',\n0x006E: 'DELETE.NAME',\n0x006F: 'DELETE.FORMAT',\n0x0070: 'VLINE',\n0x0071: 'HLINE',\n0x0072: 'VPAGE',\n0x0073: 'HPAGE',\n0x0074: 'VSCROLL',\n0x0075: 'HSCROLL',\n0x0076: 'ALERT',\n0x0077: 'NEW',\n0x0078: 'CANCEL.COPY',\n0x0079: 'SHOW.CLIPBOARD',\n0x007A: 'MESSAGE',\n0x007C: 'PASTE.LINK',\n0x007D: 'APP.ACTIVATE',\n0x007E: 'DELETE.ARROW',\n0x007F: 'ROW.HEIGHT',\n0x0080: 'FORMAT.MOVE',\n0x0081: 'FORMAT.SIZE',\n0x0082: 'FORMULA.REPLACE',\n0x0083: 'SEND.KEYS',\n0x0084: 'SELECT.SPECIAL',\n0x0085: 'APPLY.NAMES',\n0x0086: 'REPLACE.FONT',\n0x0087: 'FREEZE.PANES',\n0x0088: 'SHOW.INFO',\n0x0089: 'SPLIT',\n0x008A: 'ON.WINDOW',\n0x008B: 'ON.DATA',\n0x008C: 'DISABLE.INPUT',\n0x008E: 'OUTLINE',\n0x008F: 'LIST.NAMES',\n0x0090: 'FILE.CLOSE',\n0x0091: 'SAVE.WORKBOOK',\n0x0092: 'DATA.FORM',\n0x0093: 'COPY.CHART',\n0x0094: 'ON.TIME',\n0x0095: 'WAIT',\n0x0096: 'FORMAT.FONT',\n0x0097: 'FILL.UP',\n0x0098: 'FILL.LEFT',\n0x0099: 'DELETE.OVERLAY',\n0x009B: 'SHORT.MENUS',\n0x009F: 'SET.UPDATE.STATUS',\n0x00A1: 'COLOR.PALETTE',\n0x00A2: 'DELETE.STYLE',\n0x00A3: 'WINDOW.RESTORE',\n0x00A4: 'WINDOW.MAXIMIZE',\n0x00A6: 'CHANGE.LINK',\n0x00A7: 'CALCULATE.DOCUMENT',\n0x00A8: 'ON.KEY',\n0x00A9: 'APP.RESTORE',\n0x00AA: 'APP.MOVE',\n0x00AB: 'APP.SIZE',\n0x00AC: 'APP.MINIMIZE',\n0x00AD: 'APP.MAXIMIZE',\n0x00AE: 'BRING.TO.FRONT',\n0x00AF: 'SEND.TO.BACK',\n0x00B9: 'MAIN.CHART.TYPE',\n0x00BA: 'OVERLAY.CHART.TYPE',\n0x00BB: 'SELECT.END',\n0x00BC: 'OPEN.MAIL',\n0x00BD: 'SEND.MAIL',\n0x00BE: 'STANDARD.FONT',\n0x00BF: 'CONSOLIDATE',\n0x00C0: 'SORT.SPECIAL',\n0x00C1: 'GALLERY.3D.AREA',\n0x00C2: 'GALLERY.3D.COLUMN',\n0x00C3: 'GALLERY.3D.LINE',\n0x00C4: 'GALLERY.3D.PIE',\n0x00C5: 'VIEW.3D',\n0x00C6: 'GOAL.SEEK',\n0x00C7: 'WORKGROUP',\n0x00C8: 'FILL.GROUP',\n0x00C9: 'UPDATE.LINK',\n0x00CA: 'PROMOTE',\n0x00CB: 'DEMOTE',\n0x00CC: 'SHOW.DETAIL',\n0x00CE: 'UNGROUP',\n0x00CF: 'OBJECT.PROPERTIES',\n0x00D0: 'SAVE.NEW.OBJECT',\n0x00D1: 'SHARE',\n0x00D2: 'SHARE.NAME',\n0x00D3: 'DUPLICATE',\n0x00D4: 'APPLY.STYLE',\n0x00D5: 'ASSIGN.TO.OBJECT',\n0x00D6: 'OBJECT.PROTECTION',\n0x00D7: 'HIDE.OBJECT',\n0x00D8: 'SET.EXTRACT',\n0x00D9: 'CREATE.PUBLISHER',\n0x00DA: 'SUBSCRIBE.TO',\n0x00DB: 'ATTRIBUTES',\n0x00DC: 'SHOW.TOOLBAR',\n0x00DE: 'PRINT.PREVIEW',\n0x00DF: 'EDIT.COLOR',\n0x00E0: 'SHOW.LEVELS',\n0x00E1: 'FORMAT.MAIN',\n0x00E2: 'FORMAT.OVERLAY',\n0x00E3: 'ON.RECALC',\n0x00E4: 'EDIT.SERIES',\n0x00E5: 'DEFINE.STYLE',\n0x00F0: 'LINE.PRINT',\n0x00F3: 'ENTER.DATA',\n0x00F9: 'GALLERY.RADAR',\n0x00FA: 'MERGE.STYLES',\n0x00FB: 'EDITION.OPTIONS',\n0x00FC: 'PASTE.PICTURE',\n0x00FD: 'PASTE.PICTURE.LINK',\n0x00FE: 'SPELLING',\n0x0100: 'ZOOM',\n0x0103: 'INSERT.OBJECT',\n0x0104: 'WINDOW.MINIMIZE',\n0x0109: 'SOUND.NOTE',\n0x010A: 'SOUND.PLAY',\n0x010B: 'FORMAT.SHAPE',\n0x010C: 'EXTEND.POLYGON',\n0x010D: 'FORMAT.AUTO',\n0x0110: 'GALLERY.3D.BAR',\n0x0111: 'GALLERY.3D.SURFACE',\n0x0112: 'FILL.AUTO',\n0x0114: 'CUSTOMIZE.TOOLBAR',\n0x0115: 'ADD.TOOL',\n0x0116: 'EDIT.OBJECT',\n0x0117: 'ON.DOUBLECLICK',\n0x0118: 'ON.ENTRY',\n0x0119: 'WORKBOOK.ADD',\n0x011A: 'WORKBOOK.MOVE',\n0x011B: 'WORKBOOK.COPY',\n0x011C: 'WORKBOOK.OPTIONS',\n0x011D: 'SAVE.WORKSPACE',\n0x0120: 'CHART.WIZARD',\n0x0121: 'DELETE.TOOL',\n0x0122: 'MOVE.TOOL',\n0x0123: 'WORKBOOK.SELECT',\n0x0124: 'WORKBOOK.ACTIVATE',\n0x0125: 'ASSIGN.TO.TOOL',\n0x0127: 'COPY.TOOL',\n0x0128: 'RESET.TOOL',\n0x0129: 'CONSTRAIN.NUMERIC',\n0x012A: 'PASTE.TOOL',\n0x012E: 'WORKBOOK.NEW',\n0x0131: 'SCENARIO.CELLS',\n0x0132: 'SCENARIO.DELETE',\n0x0133: 'SCENARIO.ADD',\n0x0134: 'SCENARIO.EDIT',\n0x0135: 'SCENARIO.SHOW',\n0x0136: 'SCENARIO.SHOW.NEXT',\n0x0137: 'SCENARIO.SUMMARY',\n0x0138: 'PIVOT.TABLE.WIZARD',\n0x0139: 'PIVOT.FIELD.PROPERTIES',\n0x013A: 'PIVOT.FIELD',\n0x013B: 'PIVOT.ITEM',\n0x013C: 'PIVOT.ADD.FIELDS',\n0x013E: 'OPTIONS.CALCULATION',\n0x013F: 'OPTIONS.EDIT',\n0x0140: 'OPTIONS.VIEW',\n0x0141: 'ADDIN.MANAGER',\n0x0142: 'MENU.EDITOR',\n0x0143: 'ATTACH.TOOLBARS',\n0x0144: 'VBAActivate',\n0x0145: 'OPTIONS.CHART',\n0x0148: 'VBA.INSERT.FILE',\n0x014A: 'VBA.PROCEDURE.DEFINITION',\n0x0150: 'ROUTING.SLIP',\n0x0152: 'ROUTE.DOCUMENT',\n0x0153: 'MAIL.LOGON',\n0x0156: 'INSERT.PICTURE',\n0x0157: 'EDIT.TOOL',\n0x0158: 'GALLERY.DOUGHNUT',\n0x015E: 'CHART.TREND',\n0x0160: 'PIVOT.ITEM.PROPERTIES',\n0x0162: 'WORKBOOK.INSERT',\n0x0163: 'OPTIONS.TRANSITION',\n0x0164: 'OPTIONS.GENERAL',\n0x0172: 'FILTER.ADVANCED',\n0x0175: 'MAIL.ADD.MAILER',\n0x0176: 'MAIL.DELETE.MAILER',\n0x0177: 'MAIL.REPLY',\n0x0178: 'MAIL.REPLY.ALL',\n0x0179: 'MAIL.FORWARD',\n0x017A: 'MAIL.NEXT.LETTER',\n0x017B: 'DATA.LABEL',\n0x017C: 'INSERT.TITLE',\n0x017D: 'FONT.PROPERTIES',\n0x017E: 'MACRO.OPTIONS',\n0x017F: 'WORKBOOK.HIDE',\n0x0180: 'WORKBOOK.UNHIDE',\n0x0181: 'WORKBOOK.DELETE',\n0x0182: 'WORKBOOK.NAME',\n0x0184: 'GALLERY.CUSTOM',\n0x0186: 'ADD.CHART.AUTOFORMAT',\n0x0187: 'DELETE.CHART.AUTOFORMAT',\n0x0188: 'CHART.ADD.DATA',\n0x0189: 'AUTO.OUTLINE',\n0x018A: 'TAB.ORDER',\n0x018B: 'SHOW.DIALOG',\n0x018C: 'SELECT.ALL',\n0x018D: 'UNGROUP.SHEETS',\n0x018E: 'SUBTOTAL.CREATE',\n0x018F: 'SUBTOTAL.REMOVE',\n0x0190: 'RENAME.OBJECT',\n0x019C: 'WORKBOOK.SCROLL',\n0x019D: 'WORKBOOK.NEXT',\n0x019E: 'WORKBOOK.PREV',\n0x019F: 'WORKBOOK.TAB.SPLIT',\n0x01A0: 'FULL.SCREEN',\n0x01A1: 'WORKBOOK.PROTECT',\n0x01A4: 'SCROLLBAR.PROPERTIES',\n0x01A5: 'PIVOT.SHOW.PAGES',\n0x01A6: 'TEXT.TO.COLUMNS',\n0x01A7: 'FORMAT.CHARTTYPE',\n0x01A8: 'LINK.FORMAT',\n0x01A9: 'TRACER.DISPLAY',\n0x01AE: 'TRACER.NAVIGATE',\n0x01AF: 'TRACER.CLEAR',\n0x01B0: 'TRACER.ERROR',\n0x01B1: 'PIVOT.FIELD.GROUP',\n0x01B2: 'PIVOT.FIELD.UNGROUP',\n0x01B3: 'CHECKBOX.PROPERTIES',\n0x01B4: 'LABEL.PROPERTIES',\n0x01B5: 'LISTBOX.PROPERTIES',\n0x01B6: 'EDITBOX.PROPERTIES',\n0x01B7: 'PIVOT.REFRESH',\n0x01B8: 'LINK.COMBO',\n0x01B9: 'OPEN.TEXT',\n0x01BA: 'HIDE.DIALOG',\n0x01BB: 'SET.DIALOG.FOCUS',\n0x01BC: 'ENABLE.OBJECT',\n0x01BD: 'PUSHBUTTON.PROPERTIES',\n0x01BE: 'SET.DIALOG.DEFAULT',\n0x01BF: 'FILTER',\n0x01C0: 'FILTER.SHOW.ALL',\n0x01C1: 'CLEAR.OUTLINE',\n0x01C2: 'FUNCTION.WIZARD',\n0x01C3: 'ADD.LIST.ITEM',\n0x01C4: 'SET.LIST.ITEM',\n0x01C5: 'REMOVE.LIST.ITEM',\n0x01C6: 'SELECT.LIST.ITEM',\n0x01C7: 'SET.CONTROL.VALUE',\n0x01C8: 'SAVE.COPY.AS',\n0x01CA: 'OPTIONS.LISTS.ADD',\n0x01CB: 'OPTIONS.LISTS.DELETE',\n0x01CC: 'SERIES.AXES',\n0x01CD: 'SERIES.X',\n0x01CE: 'SERIES.Y',\n0x01CF: 'ERRORBAR.X',\n0x01D0: 'ERRORBAR.Y',\n0x01D1: 'FORMAT.CHART',\n0x01D2: 'SERIES.ORDER',\n0x01D3: 'MAIL.LOGOFF',\n0x01D4: 'CLEAR.ROUTING.SLIP',\n0x01D5: 'APP.ACTIVATE.MICROSOFT',\n0x01D6: 'MAIL.EDIT.MAILER',\n0x01D7: 'ON.SHEET',\n0x01D8: 'STANDARD.WIDTH',\n0x01D9: 'SCENARIO.MERGE',\n0x01DA: 'SUMMARY.INFO',\n0x01DB: 'FIND.FILE',\n0x01DC: 'ACTIVE.CELL.FONT',\n0x01DD: 'ENABLE.TIPWIZARD',\n0x01DE: 'VBA.MAKE.ADDIN',\n0x01E0: 'INSERTDATATABLE',\n0x01E1: 'WORKGROUP.OPTIONS',\n0x01E2: 'MAIL.SEND.MAILER',\n0x01E5: 'AUTOCORRECT',\n0x01E9: 'POST.DOCUMENT',\n0x01EB: 'PICKLIST',\n0x01ED: 'VIEW.SHOW',\n0x01EE: 'VIEW.DEFINE',\n0x01EF: 'VIEW.DELETE',\n0x01FD: 'SHEET.BACKGROUND',\n0x01FE: 'INSERT.MAP.OBJECT',\n0x01FF: 'OPTIONS.MENONO',\n0x0205: 'MSOCHECKS',\n0x0206: 'NORMAL',\n0x0207: 'LAYOUT',\n0x0208: 'RM.PRINT.AREA',\n0x0209: 'CLEAR.PRINT.AREA',\n0x020A: 'ADD.PRINT.AREA',\n0x020B: 'MOVE.BRK',\n0x0221: 'HIDECURR.NOTE',\n0x0222: 'HIDEALL.NOTES',\n0x0223: 'DELETE.NOTE',\n0x0224: 'TRAVERSE.NOTES',\n0x0225: 'ACTIVATE.NOTES',\n0x026C: 'PROTECT.REVISIONS',\n0x026D: 'UNPROTECT.REVISIONS',\n0x0287: 'OPTIONS.ME',\n0x028D: 'WEB.PUBLISH',\n0x029B: 'NEWWEBQUERY',\n0x02A1: 'PIVOT.TABLE.CHART',\n0x02F1: 'OPTIONS.SAVE',\n0x02F3: 'OPTIONS.SPELL',\n0x0328: 'HIDEALL.INKANNOTS'\n};\n\n/* [MS-XLS] 2.5.198.17 */\n/* [MS-XLSB] 2.5.97.10 */\nvar Ftab = {\n0x0000: 'COUNT',\n0x0001: 'IF',\n0x0002: 'ISNA',\n0x0003: 'ISERROR',\n0x0004: 'SUM',\n0x0005: 'AVERAGE',\n0x0006: 'MIN',\n0x0007: 'MAX',\n0x0008: 'ROW',\n0x0009: 'COLUMN',\n0x000A: 'NA',\n0x000B: 'NPV',\n0x000C: 'STDEV',\n0x000D: 'DOLLAR',\n0x000E: 'FIXED',\n0x000F: 'SIN',\n0x0010: 'COS',\n0x0011: 'TAN',\n0x0012: 'ATAN',\n0x0013: 'PI',\n0x0014: 'SQRT',\n0x0015: 'EXP',\n0x0016: 'LN',\n0x0017: 'LOG10',\n0x0018: 'ABS',\n0x0019: 'INT',\n0x001A: 'SIGN',\n0x001B: 'ROUND',\n0x001C: 'LOOKUP',\n0x001D: 'INDEX',\n0x001E: 'REPT',\n0x001F: 'MID',\n0x0020: 'LEN',\n0x0021: 'VALUE',\n0x0022: 'TRUE',\n0x0023: 'FALSE',\n0x0024: 'AND',\n0x0025: 'OR',\n0x0026: 'NOT',\n0x0027: 'MOD',\n0x0028: 'DCOUNT',\n0x0029: 'DSUM',\n0x002A: 'DAVERAGE',\n0x002B: 'DMIN',\n0x002C: 'DMAX',\n0x002D: 'DSTDEV',\n0x002E: 'VAR',\n0x002F: 'DVAR',\n0x0030: 'TEXT',\n0x0031: 'LINEST',\n0x0032: 'TREND',\n0x0033: 'LOGEST',\n0x0034: 'GROWTH',\n0x0035: 'GOTO',\n0x0036: 'HALT',\n0x0037: 'RETURN',\n0x0038: 'PV',\n0x0039: 'FV',\n0x003A: 'NPER',\n0x003B: 'PMT',\n0x003C: 'RATE',\n0x003D: 'MIRR',\n0x003E: 'IRR',\n0x003F: 'RAND',\n0x0040: 'MATCH',\n0x0041: 'DATE',\n0x0042: 'TIME',\n0x0043: 'DAY',\n0x0044: 'MONTH',\n0x0045: 'YEAR',\n0x0046: 'WEEKDAY',\n0x0047: 'HOUR',\n0x0048: 'MINUTE',\n0x0049: 'SECOND',\n0x004A: 'NOW',\n0x004B: 'AREAS',\n0x004C: 'ROWS',\n0x004D: 'COLUMNS',\n0x004E: 'OFFSET',\n0x004F: 'ABSREF',\n0x0050: 'RELREF',\n0x0051: 'ARGUMENT',\n0x0052: 'SEARCH',\n0x0053: 'TRANSPOSE',\n0x0054: 'ERROR',\n0x0055: 'STEP',\n0x0056: 'TYPE',\n0x0057: 'ECHO',\n0x0058: 'SET.NAME',\n0x0059: 'CALLER',\n0x005A: 'DEREF',\n0x005B: 'WINDOWS',\n0x005C: 'SERIES',\n0x005D: 'DOCUMENTS',\n0x005E: 'ACTIVE.CELL',\n0x005F: 'SELECTION',\n0x0060: 'RESULT',\n0x0061: 'ATAN2',\n0x0062: 'ASIN',\n0x0063: 'ACOS',\n0x0064: 'CHOOSE',\n0x0065: 'HLOOKUP',\n0x0066: 'VLOOKUP',\n0x0067: 'LINKS',\n0x0068: 'INPUT',\n0x0069: 'ISREF',\n0x006A: 'GET.FORMULA',\n0x006B: 'GET.NAME',\n0x006C: 'SET.VALUE',\n0x006D: 'LOG',\n0x006E: 'EXEC',\n0x006F: 'CHAR',\n0x0070: 'LOWER',\n0x0071: 'UPPER',\n0x0072: 'PROPER',\n0x0073: 'LEFT',\n0x0074: 'RIGHT',\n0x0075: 'EXACT',\n0x0076: 'TRIM',\n0x0077: 'REPLACE',\n0x0078: 'SUBSTITUTE',\n0x0079: 'CODE',\n0x007A: 'NAMES',\n0x007B: 'DIRECTORY',\n0x007C: 'FIND',\n0x007D: 'CELL',\n0x007E: 'ISERR',\n0x007F: 'ISTEXT',\n0x0080: 'ISNUMBER',\n0x0081: 'ISBLANK',\n0x0082: 'T',\n0x0083: 'N',\n0x0084: 'FOPEN',\n0x0085: 'FCLOSE',\n0x0086: 'FSIZE',\n0x0087: 'FREADLN',\n0x0088: 'FREAD',\n0x0089: 'FWRITELN',\n0x008A: 'FWRITE',\n0x008B: 'FPOS',\n0x008C: 'DATEVALUE',\n0x008D: 'TIMEVALUE',\n0x008E: 'SLN',\n0x008F: 'SYD',\n0x0090: 'DDB',\n0x0091: 'GET.DEF',\n0x0092: 'REFTEXT',\n0x0093: 'TEXTREF',\n0x0094: 'INDIRECT',\n0x0095: 'REGISTER',\n0x0096: 'CALL',\n0x0097: 'ADD.BAR',\n0x0098: 'ADD.MENU',\n0x0099: 'ADD.COMMAND',\n0x009A: 'ENABLE.COMMAND',\n0x009B: 'CHECK.COMMAND',\n0x009C: 'RENAME.COMMAND',\n0x009D: 'SHOW.BAR',\n0x009E: 'DELETE.MENU',\n0x009F: 'DELETE.COMMAND',\n0x00A0: 'GET.CHART.ITEM',\n0x00A1: 'DIALOG.BOX',\n0x00A2: 'CLEAN',\n0x00A3: 'MDETERM',\n0x00A4: 'MINVERSE',\n0x00A5: 'MMULT',\n0x00A6: 'FILES',\n0x00A7: 'IPMT',\n0x00A8: 'PPMT',\n0x00A9: 'COUNTA',\n0x00AA: 'CANCEL.KEY',\n0x00AB: 'FOR',\n0x00AC: 'WHILE',\n0x00AD: 'BREAK',\n0x00AE: 'NEXT',\n0x00AF: 'INITIATE',\n0x00B0: 'REQUEST',\n0x00B1: 'POKE',\n0x00B2: 'EXECUTE',\n0x00B3: 'TERMINATE',\n0x00B4: 'RESTART',\n0x00B5: 'HELP',\n0x00B6: 'GET.BAR',\n0x00B7: 'PRODUCT',\n0x00B8: 'FACT',\n0x00B9: 'GET.CELL',\n0x00BA: 'GET.WORKSPACE',\n0x00BB: 'GET.WINDOW',\n0x00BC: 'GET.DOCUMENT',\n0x00BD: 'DPRODUCT',\n0x00BE: 'ISNONTEXT',\n0x00BF: 'GET.NOTE',\n0x00C0: 'NOTE',\n0x00C1: 'STDEVP',\n0x00C2: 'VARP',\n0x00C3: 'DSTDEVP',\n0x00C4: 'DVARP',\n0x00C5: 'TRUNC',\n0x00C6: 'ISLOGICAL',\n0x00C7: 'DCOUNTA',\n0x00C8: 'DELETE.BAR',\n0x00C9: 'UNREGISTER',\n0x00CC: 'USDOLLAR',\n0x00CD: 'FINDB',\n0x00CE: 'SEARCHB',\n0x00CF: 'REPLACEB',\n0x00D0: 'LEFTB',\n0x00D1: 'RIGHTB',\n0x00D2: 'MIDB',\n0x00D3: 'LENB',\n0x00D4: 'ROUNDUP',\n0x00D5: 'ROUNDDOWN',\n0x00D6: 'ASC',\n0x00D7: 'DBCS',\n0x00D8: 'RANK',\n0x00DB: 'ADDRESS',\n0x00DC: 'DAYS360',\n0x00DD: 'TODAY',\n0x00DE: 'VDB',\n0x00DF: 'ELSE',\n0x00E0: 'ELSE.IF',\n0x00E1: 'END.IF',\n0x00E2: 'FOR.CELL',\n0x00E3: 'MEDIAN',\n0x00E4: 'SUMPRODUCT',\n0x00E5: 'SINH',\n0x00E6: 'COSH',\n0x00E7: 'TANH',\n0x00E8: 'ASINH',\n0x00E9: 'ACOSH',\n0x00EA: 'ATANH',\n0x00EB: 'DGET',\n0x00EC: 'CREATE.OBJECT',\n0x00ED: 'VOLATILE',\n0x00EE: 'LAST.ERROR',\n0x00EF: 'CUSTOM.UNDO',\n0x00F0: 'CUSTOM.REPEAT',\n0x00F1: 'FORMULA.CONVERT',\n0x00F2: 'GET.LINK.INFO',\n0x00F3: 'TEXT.BOX',\n0x00F4: 'INFO',\n0x00F5: 'GROUP',\n0x00F6: 'GET.OBJECT',\n0x00F7: 'DB',\n0x00F8: 'PAUSE',\n0x00FB: 'RESUME',\n0x00FC: 'FREQUENCY',\n0x00FD: 'ADD.TOOLBAR',\n0x00FE: 'DELETE.TOOLBAR',\n0x00FF: 'User',\n0x0100: 'RESET.TOOLBAR',\n0x0101: 'EVALUATE',\n0x0102: 'GET.TOOLBAR',\n0x0103: 'GET.TOOL',\n0x0104: 'SPELLING.CHECK',\n0x0105: 'ERROR.TYPE',\n0x0106: 'APP.TITLE',\n0x0107: 'WINDOW.TITLE',\n0x0108: 'SAVE.TOOLBAR',\n0x0109: 'ENABLE.TOOL',\n0x010A: 'PRESS.TOOL',\n0x010B: 'REGISTER.ID',\n0x010C: 'GET.WORKBOOK',\n0x010D: 'AVEDEV',\n0x010E: 'BETADIST',\n0x010F: 'GAMMALN',\n0x0110: 'BETAINV',\n0x0111: 'BINOMDIST',\n0x0112: 'CHIDIST',\n0x0113: 'CHIINV',\n0x0114: 'COMBIN',\n0x0115: 'CONFIDENCE',\n0x0116: 'CRITBINOM',\n0x0117: 'EVEN',\n0x0118: 'EXPONDIST',\n0x0119: 'FDIST',\n0x011A: 'FINV',\n0x011B: 'FISHER',\n0x011C: 'FISHERINV',\n0x011D: 'FLOOR',\n0x011E: 'GAMMADIST',\n0x011F: 'GAMMAINV',\n0x0120: 'CEILING',\n0x0121: 'HYPGEOMDIST',\n0x0122: 'LOGNORMDIST',\n0x0123: 'LOGINV',\n0x0124: 'NEGBINOMDIST',\n0x0125: 'NORMDIST',\n0x0126: 'NORMSDIST',\n0x0127: 'NORMINV',\n0x0128: 'NORMSINV',\n0x0129: 'STANDARDIZE',\n0x012A: 'ODD',\n0x012B: 'PERMUT',\n0x012C: 'POISSON',\n0x012D: 'TDIST',\n0x012E: 'WEIBULL',\n0x012F: 'SUMXMY2',\n0x0130: 'SUMX2MY2',\n0x0131: 'SUMX2PY2',\n0x0132: 'CHITEST',\n0x0133: 'CORREL',\n0x0134: 'COVAR',\n0x0135: 'FORECAST',\n0x0136: 'FTEST',\n0x0137: 'INTERCEPT',\n0x0138: 'PEARSON',\n0x0139: 'RSQ',\n0x013A: 'STEYX',\n0x013B: 'SLOPE',\n0x013C: 'TTEST',\n0x013D: 'PROB',\n0x013E: 'DEVSQ',\n0x013F: 'GEOMEAN',\n0x0140: 'HARMEAN',\n0x0141: 'SUMSQ',\n0x0142: 'KURT',\n0x0143: 'SKEW',\n0x0144: 'ZTEST',\n0x0145: 'LARGE',\n0x0146: 'SMALL',\n0x0147: 'QUARTILE',\n0x0148: 'PERCENTILE',\n0x0149: 'PERCENTRANK',\n0x014A: 'MODE',\n0x014B: 'TRIMMEAN',\n0x014C: 'TINV',\n0x014E: 'MOVIE.COMMAND',\n0x014F: 'GET.MOVIE',\n0x0150: 'CONCATENATE',\n0x0151: 'POWER',\n0x0152: 'PIVOT.ADD.DATA',\n0x0153: 'GET.PIVOT.TABLE',\n0x0154: 'GET.PIVOT.FIELD',\n0x0155: 'GET.PIVOT.ITEM',\n0x0156: 'RADIANS',\n0x0157: 'DEGREES',\n0x0158: 'SUBTOTAL',\n0x0159: 'SUMIF',\n0x015A: 'COUNTIF',\n0x015B: 'COUNTBLANK',\n0x015C: 'SCENARIO.GET',\n0x015D: 'OPTIONS.LISTS.GET',\n0x015E: 'ISPMT',\n0x015F: 'DATEDIF',\n0x0160: 'DATESTRING',\n0x0161: 'NUMBERSTRING',\n0x0162: 'ROMAN',\n0x0163: 'OPEN.DIALOG',\n0x0164: 'SAVE.DIALOG',\n0x0165: 'VIEW.GET',\n0x0166: 'GETPIVOTDATA',\n0x0167: 'HYPERLINK',\n0x0168: 'PHONETIC',\n0x0169: 'AVERAGEA',\n0x016A: 'MAXA',\n0x016B: 'MINA',\n0x016C: 'STDEVPA',\n0x016D: 'VARPA',\n0x016E: 'STDEVA',\n0x016F: 'VARA',\n0x0170: 'BAHTTEXT',\n0x0171: 'THAIDAYOFWEEK',\n0x0172: 'THAIDIGIT',\n0x0173: 'THAIMONTHOFYEAR',\n0x0174: 'THAINUMSOUND',\n0x0175: 'THAINUMSTRING',\n0x0176: 'THAISTRINGLENGTH',\n0x0177: 'ISTHAIDIGIT',\n0x0178: 'ROUNDBAHTDOWN',\n0x0179: 'ROUNDBAHTUP',\n0x017A: 'THAIYEAR',\n0x017B: 'RTD',\n\n0x017C: 'CUBEVALUE',\n0x017D: 'CUBEMEMBER',\n0x017E: 'CUBEMEMBERPROPERTY',\n0x017F: 'CUBERANKEDMEMBER',\n0x0180: 'HEX2BIN',\n0x0181: 'HEX2DEC',\n0x0182: 'HEX2OCT',\n0x0183: 'DEC2BIN',\n0x0184: 'DEC2HEX',\n0x0185: 'DEC2OCT',\n0x0186: 'OCT2BIN',\n0x0187: 'OCT2HEX',\n0x0188: 'OCT2DEC',\n0x0189: 'BIN2DEC',\n0x018A: 'BIN2OCT',\n0x018B: 'BIN2HEX',\n0x018C: 'IMSUB',\n0x018D: 'IMDIV',\n0x018E: 'IMPOWER',\n0x018F: 'IMABS',\n0x0190: 'IMSQRT',\n0x0191: 'IMLN',\n0x0192: 'IMLOG2',\n0x0193: 'IMLOG10',\n0x0194: 'IMSIN',\n0x0195: 'IMCOS',\n0x0196: 'IMEXP',\n0x0197: 'IMARGUMENT',\n0x0198: 'IMCONJUGATE',\n0x0199: 'IMAGINARY',\n0x019A: 'IMREAL',\n0x019B: 'COMPLEX',\n0x019C: 'IMSUM',\n0x019D: 'IMPRODUCT',\n0x019E: 'SERIESSUM',\n0x019F: 'FACTDOUBLE',\n0x01A0: 'SQRTPI',\n0x01A1: 'QUOTIENT',\n0x01A2: 'DELTA',\n0x01A3: 'GESTEP',\n0x01A4: 'ISEVEN',\n0x01A5: 'ISODD',\n0x01A6: 'MROUND',\n0x01A7: 'ERF',\n0x01A8: 'ERFC',\n0x01A9: 'BESSELJ',\n0x01AA: 'BESSELK',\n0x01AB: 'BESSELY',\n0x01AC: 'BESSELI',\n0x01AD: 'XIRR',\n0x01AE: 'XNPV',\n0x01AF: 'PRICEMAT',\n0x01B0: 'YIELDMAT',\n0x01B1: 'INTRATE',\n0x01B2: 'RECEIVED',\n0x01B3: 'DISC',\n0x01B4: 'PRICEDISC',\n0x01B5: 'YIELDDISC',\n0x01B6: 'TBILLEQ',\n0x01B7: 'TBILLPRICE',\n0x01B8: 'TBILLYIELD',\n0x01B9: 'PRICE',\n0x01BA: 'YIELD',\n0x01BB: 'DOLLARDE',\n0x01BC: 'DOLLARFR',\n0x01BD: 'NOMINAL',\n0x01BE: 'EFFECT',\n0x01BF: 'CUMPRINC',\n0x01C0: 'CUMIPMT',\n0x01C1: 'EDATE',\n0x01C2: 'EOMONTH',\n0x01C3: 'YEARFRAC',\n0x01C4: 'COUPDAYBS',\n0x01C5: 'COUPDAYS',\n0x01C6: 'COUPDAYSNC',\n0x01C7: 'COUPNCD',\n0x01C8: 'COUPNUM',\n0x01C9: 'COUPPCD',\n0x01CA: 'DURATION',\n0x01CB: 'MDURATION',\n0x01CC: 'ODDLPRICE',\n0x01CD: 'ODDLYIELD',\n0x01CE: 'ODDFPRICE',\n0x01CF: 'ODDFYIELD',\n0x01D0: 'RANDBETWEEN',\n0x01D1: 'WEEKNUM',\n0x01D2: 'AMORDEGRC',\n0x01D3: 'AMORLINC',\n0x01D4: 'CONVERT',\n0x02D4: 'SHEETJS',\n0x01D5: 'ACCRINT',\n0x01D6: 'ACCRINTM',\n0x01D7: 'WORKDAY',\n0x01D8: 'NETWORKDAYS',\n0x01D9: 'GCD',\n0x01DA: 'MULTINOMIAL',\n0x01DB: 'LCM',\n0x01DC: 'FVSCHEDULE',\n0x01DD: 'CUBEKPIMEMBER',\n0x01DE: 'CUBESET',\n0x01DF: 'CUBESETCOUNT',\n0x01E0: 'IFERROR',\n0x01E1: 'COUNTIFS',\n0x01E2: 'SUMIFS',\n0x01E3: 'AVERAGEIF',\n0x01E4: 'AVERAGEIFS'\n};\nvar FtabArgc = {\n0x0002: 1, /* ISNA */\n0x0003: 1, /* ISERROR */\n0x000A: 0, /* NA */\n0x000F: 1, /* SIN */\n0x0010: 1, /* COS */\n0x0011: 1, /* TAN */\n0x0012: 1, /* ATAN */\n0x0013: 0, /* PI */\n0x0014: 1, /* SQRT */\n0x0015: 1, /* EXP */\n0x0016: 1, /* LN */\n0x0017: 1, /* LOG10 */\n0x0018: 1, /* ABS */\n0x0019: 1, /* INT */\n0x001A: 1, /* SIGN */\n0x001B: 2, /* ROUND */\n0x001E: 2, /* REPT */\n0x001F: 3, /* MID */\n0x0020: 1, /* LEN */\n0x0021: 1, /* VALUE */\n0x0022: 0, /* TRUE */\n0x0023: 0, /* FALSE */\n0x0026: 1, /* NOT */\n0x0027: 2, /* MOD */\n0x0028: 3, /* DCOUNT */\n0x0029: 3, /* DSUM */\n0x002A: 3, /* DAVERAGE */\n0x002B: 3, /* DMIN */\n0x002C: 3, /* DMAX */\n0x002D: 3, /* DSTDEV */\n0x002F: 3, /* DVAR */\n0x0030: 2, /* TEXT */\n0x0035: 1, /* GOTO */\n0x003D: 3, /* MIRR */\n0x003F: 0, /* RAND */\n0x0041: 3, /* DATE */\n0x0042: 3, /* TIME */\n0x0043: 1, /* DAY */\n0x0044: 1, /* MONTH */\n0x0045: 1, /* YEAR */\n0x0046: 1, /* WEEKDAY */\n0x0047: 1, /* HOUR */\n0x0048: 1, /* MINUTE */\n0x0049: 1, /* SECOND */\n0x004A: 0, /* NOW */\n0x004B: 1, /* AREAS */\n0x004C: 1, /* ROWS */\n0x004D: 1, /* COLUMNS */\n0x004F: 2, /* ABSREF */\n0x0050: 2, /* RELREF */\n0x0053: 1, /* TRANSPOSE */\n0x0055: 0, /* STEP */\n0x0056: 1, /* TYPE */\n0x0059: 0, /* CALLER */\n0x005A: 1, /* DEREF */\n0x005E: 0, /* ACTIVE.CELL */\n0x005F: 0, /* SELECTION */\n0x0061: 2, /* ATAN2 */\n0x0062: 1, /* ASIN */\n0x0063: 1, /* ACOS */\n0x0065: 3, /* HLOOKUP */\n0x0066: 3, /* VLOOKUP */\n0x0069: 1, /* ISREF */\n0x006A: 1, /* GET.FORMULA */\n0x006C: 2, /* SET.VALUE */\n0x006F: 1, /* CHAR */\n0x0070: 1, /* LOWER */\n0x0071: 1, /* UPPER */\n0x0072: 1, /* PROPER */\n0x0075: 2, /* EXACT */\n0x0076: 1, /* TRIM */\n0x0077: 4, /* REPLACE */\n0x0079: 1, /* CODE */\n0x007E: 1, /* ISERR */\n0x007F: 1, /* ISTEXT */\n0x0080: 1, /* ISNUMBER */\n0x0081: 1, /* ISBLANK */\n0x0082: 1, /* T */\n0x0083: 1, /* N */\n0x0085: 1, /* FCLOSE */\n0x0086: 1, /* FSIZE */\n0x0087: 1, /* FREADLN */\n0x0088: 2, /* FREAD */\n0x0089: 2, /* FWRITELN */\n0x008A: 2, /* FWRITE */\n0x008C: 1, /* DATEVALUE */\n0x008D: 1, /* TIMEVALUE */\n0x008E: 3, /* SLN */\n0x008F: 4, /* SYD */\n0x0090: 4, /* DDB */\n0x00A1: 1, /* DIALOG.BOX */\n0x00A2: 1, /* CLEAN */\n0x00A3: 1, /* MDETERM */\n0x00A4: 1, /* MINVERSE */\n0x00A5: 2, /* MMULT */\n0x00AC: 1, /* WHILE */\n0x00AF: 2, /* INITIATE */\n0x00B0: 2, /* REQUEST */\n0x00B1: 3, /* POKE */\n0x00B2: 2, /* EXECUTE */\n0x00B3: 1, /* TERMINATE */\n0x00B8: 1, /* FACT */\n0x00BA: 1, /* GET.WORKSPACE */\n0x00BD: 3, /* DPRODUCT */\n0x00BE: 1, /* ISNONTEXT */\n0x00C3: 3, /* DSTDEVP */\n0x00C4: 3, /* DVARP */\n0x00C5: 1, /* TRUNC */\n0x00C6: 1, /* ISLOGICAL */\n0x00C7: 3, /* DCOUNTA */\n0x00C9: 1, /* UNREGISTER */\n0x00CF: 4, /* REPLACEB */\n0x00D2: 3, /* MIDB */\n0x00D3: 1, /* LENB */\n0x00D4: 2, /* ROUNDUP */\n0x00D5: 2, /* ROUNDDOWN */\n0x00D6: 1, /* ASC */\n0x00D7: 1, /* DBCS */\n0x00E1: 0, /* END.IF */\n0x00E5: 1, /* SINH */\n0x00E6: 1, /* COSH */\n0x00E7: 1, /* TANH */\n0x00E8: 1, /* ASINH */\n0x00E9: 1, /* ACOSH */\n0x00EA: 1, /* ATANH */\n0x00EB: 3, /* DGET */\n0x00F4: 1, /* INFO */\n0x00F7: 4, /* DB */\n0x00FC: 2, /* FREQUENCY */\n0x0101: 1, /* EVALUATE */\n0x0105: 1, /* ERROR.TYPE */\n0x010F: 1, /* GAMMALN */\n0x0111: 4, /* BINOMDIST */\n0x0112: 2, /* CHIDIST */\n0x0113: 2, /* CHIINV */\n0x0114: 2, /* COMBIN */\n0x0115: 3, /* CONFIDENCE */\n0x0116: 3, /* CRITBINOM */\n0x0117: 1, /* EVEN */\n0x0118: 3, /* EXPONDIST */\n0x0119: 3, /* FDIST */\n0x011A: 3, /* FINV */\n0x011B: 1, /* FISHER */\n0x011C: 1, /* FISHERINV */\n0x011D: 2, /* FLOOR */\n0x011E: 4, /* GAMMADIST */\n0x011F: 3, /* GAMMAINV */\n0x0120: 2, /* CEILING */\n0x0121: 4, /* HYPGEOMDIST */\n0x0122: 3, /* LOGNORMDIST */\n0x0123: 3, /* LOGINV */\n0x0124: 3, /* NEGBINOMDIST */\n0x0125: 4, /* NORMDIST */\n0x0126: 1, /* NORMSDIST */\n0x0127: 3, /* NORMINV */\n0x0128: 1, /* NORMSINV */\n0x0129: 3, /* STANDARDIZE */\n0x012A: 1, /* ODD */\n0x012B: 2, /* PERMUT */\n0x012C: 3, /* POISSON */\n0x012D: 3, /* TDIST */\n0x012E: 4, /* WEIBULL */\n0x012F: 2, /* SUMXMY2 */\n0x0130: 2, /* SUMX2MY2 */\n0x0131: 2, /* SUMX2PY2 */\n0x0132: 2, /* CHITEST */\n0x0133: 2, /* CORREL */\n0x0134: 2, /* COVAR */\n0x0135: 3, /* FORECAST */\n0x0136: 2, /* FTEST */\n0x0137: 2, /* INTERCEPT */\n0x0138: 2, /* PEARSON */\n0x0139: 2, /* RSQ */\n0x013A: 2, /* STEYX */\n0x013B: 2, /* SLOPE */\n0x013C: 4, /* TTEST */\n0x0145: 2, /* LARGE */\n0x0146: 2, /* SMALL */\n0x0147: 2, /* QUARTILE */\n0x0148: 2, /* PERCENTILE */\n0x014B: 2, /* TRIMMEAN */\n0x014C: 2, /* TINV */\n0x0151: 2, /* POWER */\n0x0156: 1, /* RADIANS */\n0x0157: 1, /* DEGREES */\n0x015A: 2, /* COUNTIF */\n0x015B: 1, /* COUNTBLANK */\n0x015E: 4, /* ISPMT */\n0x015F: 3, /* DATEDIF */\n0x0160: 1, /* DATESTRING */\n0x0161: 2, /* NUMBERSTRING */\n0x0168: 1, /* PHONETIC */\n0x0170: 1, /* BAHTTEXT */\n0x0171: 1, /* THAIDAYOFWEEK */\n0x0172: 1, /* THAIDIGIT */\n0x0173: 1, /* THAIMONTHOFYEAR */\n0x0174: 1, /* THAINUMSOUND */\n0x0175: 1, /* THAINUMSTRING */\n0x0176: 1, /* THAISTRINGLENGTH */\n0x0177: 1, /* ISTHAIDIGIT */\n0x0178: 1, /* ROUNDBAHTDOWN */\n0x0179: 1, /* ROUNDBAHTUP */\n0x017A: 1, /* THAIYEAR */\n0x017E: 3, /* CUBEMEMBERPROPERTY */\n0x0181: 1, /* HEX2DEC */\n0x0188: 1, /* OCT2DEC */\n0x0189: 1, /* BIN2DEC */\n0x018C: 2, /* IMSUB */\n0x018D: 2, /* IMDIV */\n0x018E: 2, /* IMPOWER */\n0x018F: 1, /* IMABS */\n0x0190: 1, /* IMSQRT */\n0x0191: 1, /* IMLN */\n0x0192: 1, /* IMLOG2 */\n0x0193: 1, /* IMLOG10 */\n0x0194: 1, /* IMSIN */\n0x0195: 1, /* IMCOS */\n0x0196: 1, /* IMEXP */\n0x0197: 1, /* IMARGUMENT */\n0x0198: 1, /* IMCONJUGATE */\n0x0199: 1, /* IMAGINARY */\n0x019A: 1, /* IMREAL */\n0x019E: 4, /* SERIESSUM */\n0x019F: 1, /* FACTDOUBLE */\n0x01A0: 1, /* SQRTPI */\n0x01A1: 2, /* QUOTIENT */\n0x01A4: 1, /* ISEVEN */\n0x01A5: 1, /* ISODD */\n0x01A6: 2, /* MROUND */\n0x01A8: 1, /* ERFC */\n0x01A9: 2, /* BESSELJ */\n0x01AA: 2, /* BESSELK */\n0x01AB: 2, /* BESSELY */\n0x01AC: 2, /* BESSELI */\n0x01AE: 3, /* XNPV */\n0x01B6: 3, /* TBILLEQ */\n0x01B7: 3, /* TBILLPRICE */\n0x01B8: 3, /* TBILLYIELD */\n0x01BB: 2, /* DOLLARDE */\n0x01BC: 2, /* DOLLARFR */\n0x01BD: 2, /* NOMINAL */\n0x01BE: 2, /* EFFECT */\n0x01BF: 6, /* CUMPRINC */\n0x01C0: 6, /* CUMIPMT */\n0x01C1: 2, /* EDATE */\n0x01C2: 2, /* EOMONTH */\n0x01D0: 2, /* RANDBETWEEN */\n0x01D4: 3, /* CONVERT */\n0x01DC: 2, /* FVSCHEDULE */\n0x01DF: 1, /* CUBESETCOUNT */\n0x01E0: 2, /* IFERROR */\n0xFFFF: 0\n};\n/* [MS-XLSX] 2.2.3 Functions */\n/* [MS-XLSB] 2.5.97.10 Ftab */\nvar XLSXFutureFunctions = {\n\t\"_xlfn.ACOT\": \"ACOT\",\n\t\"_xlfn.ACOTH\": \"ACOTH\",\n\t\"_xlfn.AGGREGATE\": \"AGGREGATE\",\n\t\"_xlfn.ARABIC\": \"ARABIC\",\n\t\"_xlfn.AVERAGEIF\": \"AVERAGEIF\",\n\t\"_xlfn.AVERAGEIFS\": \"AVERAGEIFS\",\n\t\"_xlfn.BASE\": \"BASE\",\n\t\"_xlfn.BETA.DIST\": \"BETA.DIST\",\n\t\"_xlfn.BETA.INV\": \"BETA.INV\",\n\t\"_xlfn.BINOM.DIST\": \"BINOM.DIST\",\n\t\"_xlfn.BINOM.DIST.RANGE\": \"BINOM.DIST.RANGE\",\n\t\"_xlfn.BINOM.INV\": \"BINOM.INV\",\n\t\"_xlfn.BITAND\": \"BITAND\",\n\t\"_xlfn.BITLSHIFT\": \"BITLSHIFT\",\n\t\"_xlfn.BITOR\": \"BITOR\",\n\t\"_xlfn.BITRSHIFT\": \"BITRSHIFT\",\n\t\"_xlfn.BITXOR\": \"BITXOR\",\n\t\"_xlfn.CEILING.MATH\": \"CEILING.MATH\",\n\t\"_xlfn.CEILING.PRECISE\": \"CEILING.PRECISE\",\n\t\"_xlfn.CHISQ.DIST\": \"CHISQ.DIST\",\n\t\"_xlfn.CHISQ.DIST.RT\": \"CHISQ.DIST.RT\",\n\t\"_xlfn.CHISQ.INV\": \"CHISQ.INV\",\n\t\"_xlfn.CHISQ.INV.RT\": \"CHISQ.INV.RT\",\n\t\"_xlfn.CHISQ.TEST\": \"CHISQ.TEST\",\n\t\"_xlfn.COMBINA\": \"COMBINA\",\n\t\"_xlfn.CONCAT\": \"CONCAT\",\n\t\"_xlfn.CONFIDENCE.NORM\": \"CONFIDENCE.NORM\",\n\t\"_xlfn.CONFIDENCE.T\": \"CONFIDENCE.T\",\n\t\"_xlfn.COT\": \"COT\",\n\t\"_xlfn.COTH\": \"COTH\",\n\t\"_xlfn.COUNTIFS\": \"COUNTIFS\",\n\t\"_xlfn.COVARIANCE.P\": \"COVARIANCE.P\",\n\t\"_xlfn.COVARIANCE.S\": \"COVARIANCE.S\",\n\t\"_xlfn.CSC\": \"CSC\",\n\t\"_xlfn.CSCH\": \"CSCH\",\n\t\"_xlfn.DAYS\": \"DAYS\",\n\t\"_xlfn.DECIMAL\": \"DECIMAL\",\n\t\"_xlfn.ECMA.CEILING\": \"ECMA.CEILING\",\n\t\"_xlfn.ERF.PRECISE\": \"ERF.PRECISE\",\n\t\"_xlfn.ERFC.PRECISE\": \"ERFC.PRECISE\",\n\t\"_xlfn.EXPON.DIST\": \"EXPON.DIST\",\n\t\"_xlfn.F.DIST\": \"F.DIST\",\n\t\"_xlfn.F.DIST.RT\": \"F.DIST.RT\",\n\t\"_xlfn.F.INV\": \"F.INV\",\n\t\"_xlfn.F.INV.RT\": \"F.INV.RT\",\n\t\"_xlfn.F.TEST\": \"F.TEST\",\n\t\"_xlfn.FILTERXML\": \"FILTERXML\",\n\t\"_xlfn.FLOOR.MATH\": \"FLOOR.MATH\",\n\t\"_xlfn.FLOOR.PRECISE\": \"FLOOR.PRECISE\",\n\t\"_xlfn.FORECAST.ETS\": \"FORECAST.ETS\",\n\t\"_xlfn.FORECAST.ETS.CONFINT\": \"FORECAST.ETS.CONFINT\",\n\t\"_xlfn.FORECAST.ETS.SEASONALITY\": \"FORECAST.ETS.SEASONALITY\",\n\t\"_xlfn.FORECAST.ETS.STAT\": \"FORECAST.ETS.STAT\",\n\t\"_xlfn.FORECAST.LINEAR\": \"FORECAST.LINEAR\",\n\t\"_xlfn.FORMULATEXT\": \"FORMULATEXT\",\n\t\"_xlfn.GAMMA\": \"GAMMA\",\n\t\"_xlfn.GAMMA.DIST\": \"GAMMA.DIST\",\n\t\"_xlfn.GAMMA.INV\": \"GAMMA.INV\",\n\t\"_xlfn.GAMMALN.PRECISE\": \"GAMMALN.PRECISE\",\n\t\"_xlfn.GAUSS\": \"GAUSS\",\n\t\"_xlfn.HYPGEOM.DIST\": \"HYPGEOM.DIST\",\n\t\"_xlfn.IFERROR\": \"IFERROR\",\n\t\"_xlfn.IFNA\": \"IFNA\",\n\t\"_xlfn.IFS\": \"IFS\",\n\t\"_xlfn.IMCOSH\": \"IMCOSH\",\n\t\"_xlfn.IMCOT\": \"IMCOT\",\n\t\"_xlfn.IMCSC\": \"IMCSC\",\n\t\"_xlfn.IMCSCH\": \"IMCSCH\",\n\t\"_xlfn.IMSEC\": \"IMSEC\",\n\t\"_xlfn.IMSECH\": \"IMSECH\",\n\t\"_xlfn.IMSINH\": \"IMSINH\",\n\t\"_xlfn.IMTAN\": \"IMTAN\",\n\t\"_xlfn.ISFORMULA\": \"ISFORMULA\",\n\t\"_xlfn.ISO.CEILING\": \"ISO.CEILING\",\n\t\"_xlfn.ISOWEEKNUM\": \"ISOWEEKNUM\",\n\t\"_xlfn.LOGNORM.DIST\": \"LOGNORM.DIST\",\n\t\"_xlfn.LOGNORM.INV\": \"LOGNORM.INV\",\n\t\"_xlfn.MAXIFS\": \"MAXIFS\",\n\t\"_xlfn.MINIFS\": \"MINIFS\",\n\t\"_xlfn.MODE.MULT\": \"MODE.MULT\",\n\t\"_xlfn.MODE.SNGL\": \"MODE.SNGL\",\n\t\"_xlfn.MUNIT\": \"MUNIT\",\n\t\"_xlfn.NEGBINOM.DIST\": \"NEGBINOM.DIST\",\n\t\"_xlfn.NETWORKDAYS.INTL\": \"NETWORKDAYS.INTL\",\n\t\"_xlfn.NIGBINOM\": \"NIGBINOM\",\n\t\"_xlfn.NORM.DIST\": \"NORM.DIST\",\n\t\"_xlfn.NORM.INV\": \"NORM.INV\",\n\t\"_xlfn.NORM.S.DIST\": \"NORM.S.DIST\",\n\t\"_xlfn.NORM.S.INV\": \"NORM.S.INV\",\n\t\"_xlfn.NUMBERVALUE\": \"NUMBERVALUE\",\n\t\"_xlfn.PDURATION\": \"PDURATION\",\n\t\"_xlfn.PERCENTILE.EXC\": \"PERCENTILE.EXC\",\n\t\"_xlfn.PERCENTILE.INC\": \"PERCENTILE.INC\",\n\t\"_xlfn.PERCENTRANK.EXC\": \"PERCENTRANK.EXC\",\n\t\"_xlfn.PERCENTRANK.INC\": \"PERCENTRANK.INC\",\n\t\"_xlfn.PERMUTATIONA\": \"PERMUTATIONA\",\n\t\"_xlfn.PHI\": \"PHI\",\n\t\"_xlfn.POISSON.DIST\": \"POISSON.DIST\",\n\t\"_xlfn.QUARTILE.EXC\": \"QUARTILE.EXC\",\n\t\"_xlfn.QUARTILE.INC\": \"QUARTILE.INC\",\n\t\"_xlfn.QUERYSTRING\": \"QUERYSTRING\",\n\t\"_xlfn.RANK.AVG\": \"RANK.AVG\",\n\t\"_xlfn.RANK.EQ\": \"RANK.EQ\",\n\t\"_xlfn.RRI\": \"RRI\",\n\t\"_xlfn.SEC\": \"SEC\",\n\t\"_xlfn.SECH\": \"SECH\",\n\t\"_xlfn.SHEET\": \"SHEET\",\n\t\"_xlfn.SHEETS\": \"SHEETS\",\n\t\"_xlfn.SKEW.P\": \"SKEW.P\",\n\t\"_xlfn.STDEV.P\": \"STDEV.P\",\n\t\"_xlfn.STDEV.S\": \"STDEV.S\",\n\t\"_xlfn.SUMIFS\": \"SUMIFS\",\n\t\"_xlfn.SWITCH\": \"SWITCH\",\n\t\"_xlfn.T.DIST\": \"T.DIST\",\n\t\"_xlfn.T.DIST.2T\": \"T.DIST.2T\",\n\t\"_xlfn.T.DIST.RT\": \"T.DIST.RT\",\n\t\"_xlfn.T.INV\": \"T.INV\",\n\t\"_xlfn.T.INV.2T\": \"T.INV.2T\",\n\t\"_xlfn.T.TEST\": \"T.TEST\",\n\t\"_xlfn.TEXTJOIN\": \"TEXTJOIN\",\n\t\"_xlfn.UNICHAR\": \"UNICHAR\",\n\t\"_xlfn.UNICODE\": \"UNICODE\",\n\t\"_xlfn.VAR.P\": \"VAR.P\",\n\t\"_xlfn.VAR.S\": \"VAR.S\",\n\t\"_xlfn.WEBSERVICE\": \"WEBSERVICE\",\n\t\"_xlfn.WEIBULL.DIST\": \"WEIBULL.DIST\",\n\t\"_xlfn.WORKDAY.INTL\": \"WORKDAY.INTL\",\n\t\"_xlfn.XOR\": \"XOR\",\n\t\"_xlfn.Z.TEST\": \"Z.TEST\"\n};\n\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f) {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f) {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r) {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r) {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\nRELS.WS = [\n\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n];\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst, str, rev) {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C, col) {\n\tvar p = ({min:C+1,max:C+1});\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\treturn p;\n}\n\nfunction default_margins(margins, mode) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles, cell, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF.load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p, fmtid, fillid, opts, themes, styles) {\n\ttry {\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z') return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(SSF._table[fmtid] == null) SSF.load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = SSF._general_int(dd);\n\t\t\t\telse p.w = SSF._general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF._general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF.format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF.format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws, sname, i) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws, s) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData[^>]*>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data, opts, idx, rels, wb, themes, styles) {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]) : ({});\n\tvar refguess = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} });\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges) {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr, s, wb, idx) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = data.codeName;\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = escapexml(cname);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp) {\n\t// algorithmName, hashValue, saltValue, spinCountpassword\n\tvar o = ({sheet:1});\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+val.location;\n\t\t} else {\n\t\t\tval.Target = \"#\" + val.location;\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin) {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols) {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx) {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]});\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/?>/;\nfunction parse_ws_xml_sheetviews(data, wb) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r, i) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb) {\n\tvar sview = ({workbookViewId:\"0\"});\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell, ref, ws, opts) {\n\tif(cell.v === undefined && cell.f === undefined || cell.t === 'z') return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = SSF._table[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref});\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = (function() {\n\tvar cellregex = /<(?:\\w+:)?c[ >]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata, s, opts, guess, themes, styles) {\n\tvar ri = 0, x = \"\", cells = [], cref = [], idx=0, i=0, cc=0, d=\"\", p;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows = [], rowobj = {}, rowrite = false;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tfor(ri = 0; ri < xlen; ++ri) if(x.charCodeAt(ri) === 62) break; ++ri;\n\t\ttag = parsexmltag(x.slice(0,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"});\n\n\t\t\tif((cref=d.match(match_v))!= null && cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=_xlfn(unescapexml(utf8read(cref[1])));\n\t\t\t\t\tif(cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, _xlfn(unescapexml(utf8read(cref[1]))), tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!opts.sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!opts.sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!opts.sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && SSF.is_date(SSF._table[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws, opts, idx, wb) {\n\tvar o = [], r = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}), row, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr});\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1});\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nvar WS_XML_ROOT = writextag('worksheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\nfunction write_ws_xml(idx, opts, wb, rels) {\n\tvar o = [XML_HEADER, WS_XML_ROOT];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect'] != null) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(ws['!links'].length > 0) {\n\t\to[o.length] = \"\";\nws['!links'].forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]});\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({});\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 'BrtRowHdr', o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo() {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\t/* TODO: pull flags */\n\tdata.l += 19;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tfor(var i = 0; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\n\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display});\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data) {\n\tvar margins = ({});\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\nif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb, themes, styles) {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell;\n\tvar merges = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || wb.supbooks || ([[]]);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo = [], rowinfo = [];\n\tvar seencol = false;\n\n\trecordhopper(data, function ws_parse(val, R_n, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\t\tp = ({t:val[2]});\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && SSF.is_date(SSF._table[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:undefined});\n\t\t\t\tC = val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr]));\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x0031: /* 'BrtCellMeta' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba, cell, R, C, opts, ws) {\n\tif(cell.v === undefined) return;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || SSF._table[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o = ({r:R, c:C});\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\twrite_record(ba, \"BrtCellIsst\", write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\twrite_record(ba, \"BrtCellSt\", write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) write_record(ba, \"BrtCellRk\", write_BrtCellRk(cell, o));\n\t\t\telse write_record(ba, \"BrtCellReal\", write_BrtCellReal(cell, o));\n\t\t\treturn;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\twrite_record(ba, \"BrtCellBool\", write_BrtCellBool(cell, o));\n\t\t\treturn;\n\t\tcase 'e': /* TODO: error */ o.t = \"e\"; break;\n\t}\n\twrite_record(ba, \"BrtCellBlank\", write_BrtCellBlank(cell, o));\n}\n\nfunction write_CELLTABLE(ba, ws, idx, opts) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\twrite_record(ba, 'BrtBeginSheetData');\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_bin_cell(ba, cell, R, C, opts, ws);\n\t\t}\n\t}\n\twrite_record(ba, 'BrtEndSheetData');\n}\n\nfunction write_MERGECELLS(ba, ws) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 'BrtBeginMergeCells', write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 'BrtMergeCell', write_BrtMergeCell(m)); });\n\twrite_record(ba, 'BrtEndMergeCells');\n}\n\nfunction write_COLINFOS(ba, ws) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 'BrtBeginColInfos');\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 'BrtColInfo', write_BrtColInfo(i, m)); });\n\twrite_record(ba, 'BrtEndColInfos');\n}\n\nfunction write_IGNOREECS(ba, ws) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 'BrtBeginCellIgnoreECs');\n\twrite_record(ba, 'BrtCellIgnoreEC', write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 'BrtEndCellIgnoreECs');\n}\n\nfunction write_HLINKS(ba, ws, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, \"BrtHLink\", write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws, idx, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, \"BrtLegacyDrawing\", write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]});\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\n\twrite_record(ba, \"BrtBeginAFilter\", write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, \"BrtEndAFilter\");\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, \"BrtBeginWsViews\");\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, \"BrtBeginWsView\", write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, \"BrtEndWsView\");\n\t}\n\t/* *FRT */\n\twrite_record(ba, \"BrtEndWsViews\");\n}\n\nfunction write_WSFMTINFO() {\n\t/* [ACWSFMTINFO] */\n\t//write_record(ba, \"BrtWsFmtInfo\", write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, \"BrtSheetProtection\", write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx, opts, wb, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, \"BrtBeginSheet\");\n\tif(wb.vbaraw) write_record(ba, \"BrtWsProp\", write_BrtWsProp(c));\n\twrite_record(ba, \"BrtWsDim\", write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, \"BrtMargins\", write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\nRELS.CHART = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\";\nRELS.CHARTEX = \"http://schemas.microsoft.com/office/2014/relationships/chartEx\";\n\nfunction parse_Cache(data) {\n\tvar col = [];\n\tvar num = data.match(/^/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\t(data.match(/(.*?)<\\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data, name, opts, rels, wb, csheet) {\n\tvar cs = ((csheet || {\"!type\":\"chart\"}));\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\nRELS.CS = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\";\n\nvar CS_XML_ROOT = writextag('chartsheet', null, {\n\t'xmlns': XMLNS.main[0],\n\t'xmlns:r': XMLNS.r\n});\n\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data, opts, idx, rels, wb) {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"});\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx, opts, wb, rels) {\n\tvar o = [XML_HEADER, CS_XML_ROOT];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx, rels, wb) {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R_n, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0) state.push(R_n);\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin() {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginSheet\");\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, \"BrtEndSheet\");\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb) {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = \"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n, safe) {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts) {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" };\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = y.codeName;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr = ({codeName:\"ThisWorkbook\"});\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\nif((wb.Workbook.WBProps[x[0]]) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]);\n\t\t});\nif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews */\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))});\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length) {\n\tvar o = ({});\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula});\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts) {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\trecordhopper(data, function hopper_wb(val, R_n, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(R_n); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif((R_n||\"\").indexOf(\"Begin\") > 0){/* empty */}\n\t\t\t\telse if((R_n||\"\").indexOf(\"End\") > 0){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != \"BrtACBegin\" && state[state.length-1] != \"BrtFRTBegin\")) throw new Error(\"Unexpected record \" + RT + \" \" + R_n);\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb) {\n\twrite_record(ba, \"BrtBeginBundleShs\");\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, \"BrtBundleSh\", write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, \"BrtEndBundleShs\");\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\to.length = o.l;\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, \"BrtBeginBookViews\");\n\twrite_record(ba, \"BrtBookView\", write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, \"BrtEndBookViews\");\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, \"BrtBeginBook\");\n\twrite_record(ba, \"BrtFileVersion\", write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, \"BrtWbProp\", write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, \"BrtCalcProp\", write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, \"BrtFileRecover\", write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, \"BrtEndBook\");\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data), opts);\n\treturn parse_wb_xml((data), opts);\n}\n\nfunction parse_ws(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name, idx, opts, rels, wb, themes, styles) {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data), themes, opts);\n\treturn parse_sty_xml((data), themes, opts);\n}\n\nfunction parse_theme(data, name, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data), opts);\n\treturn parse_sst_xml((data), opts);\n}\n\nfunction parse_cmnt(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data), opts);\n\treturn parse_comments_xml((data), opts);\n}\n\nfunction parse_cc(data, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data), name, opts);\n\treturn parse_cc_xml((data), name, opts);\n}\n\nfunction parse_xlink(data, rel, name, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data), rel, name, opts);\n\treturn parse_xlink_xml((data), rel, name, opts);\n}\n\nfunction write_wb(wb, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data, name, opts, wb, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data, name, opts, wb, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data, name, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag, skip_root) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = ([]); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\nif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\nif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\nfunction xlml_format(format, value) {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF._general(value);\n\treturn SSF.format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val) {\n\tvar oval = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = SSF._general_int(cell.v);\n\t\t\t\telse cell.w = SSF._general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF._general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && SSF.is_date(z)) {\n\t\t\tvar _d = SSF.parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml) : cell.r;\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\nfunction xlml_normalize(d) {\n\tif(has_buf && Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n\n/* TODO: Everything */\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?>!\\/:]*:|)([^\\s?>:\\/]+)[^>]*>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\nfunction parse_xlml_xml(d, _opts) {\n\tvar opts = _opts || {};\n\tmake_ssf(SSF);\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof cptable !== 'undefined') str = cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return HTML_.to_workbook(str, opts);\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames = [], cursheet = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar table = {}, cell = ({}), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments = [], comment = ({});\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf = [];\n\tvar rowinfo = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook = ({ Sheets:[], WBProps:{date1904:false} }), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(//mg,\"\");\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'Data':\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==\"Comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'Cell':\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:cell.HRef});\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\nfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Row':\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Worksheet': /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Table':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\ttable = xlml_parsexmltag(Rn[0]);\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'Style':\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'NumberFormat':\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(SSF._table[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(SSF._table[ssfidx] == null) { SSF.load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'Column':\n\t\t\tif(state[state.length-1][0] !== 'Table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'NamedRange':\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t});\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\nWorkbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'NamedCell': break;\n\t\tcase 'B': break;\n\t\tcase 'I': break;\n\t\tcase 'U': break;\n\t\tcase 'S': break;\n\t\tcase 'Sub': break;\n\t\tcase 'Sup': break;\n\t\tcase 'Span': break;\n\t\tcase 'Alignment':\n\t\t\tbreak;\n\t\tcase 'Borders': break;\n\t\tcase 'Border': break;\n\t\tcase 'Font':\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'Interior':\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'Protection': break;\n\n\t\tcase 'Author':\n\t\tcase 'Title':\n\t\tcase 'Description':\n\t\tcase 'Created':\n\t\tcase 'Keywords':\n\t\tcase 'Subject':\n\t\tcase 'Category':\n\t\tcase 'Company':\n\t\tcase 'LastAuthor':\n\t\tcase 'LastSaved':\n\t\tcase 'LastPrinted':\n\t\tcase 'Version':\n\t\tcase 'Revision':\n\t\tcase 'TotalTime':\n\t\tcase 'HyperlinkBase':\n\t\tcase 'Manager':\n\t\tcase 'ContentStatus':\n\t\tcase 'Identifier':\n\t\tcase 'Language':\n\t\tcase 'AppName':\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, Rn[3], str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'Paragraphs': break;\n\n\t\tcase 'Styles':\n\t\tcase 'Workbook':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'Comment':\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author});\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'AutoFilter':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'Name': break;\n\n\t\tcase 'DataValidation':\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'ComponentOptions':\n\t\tcase 'DocumentProperties':\n\t\tcase 'CustomDocumentProperties':\n\t\tcase 'OfficeDocumentSettings':\n\t\tcase 'PivotTable':\n\t\tcase 'PivotCache':\n\t\tcase 'Names':\n\t\tcase 'MapInfo':\n\t\tcase 'PageBreaks':\n\t\tcase 'QueryTable':\n\t\tcase 'Sorting':\n\t\tcase 'Schema':\n\t\tcase 'data':\n\t\tcase 'ConditionalFormatting':\n\t\tcase 'SmartTagType':\n\t\tcase 'SmartTags':\n\t\tcase 'ExcelWorkbook':\n\t\tcase 'WorkbookOptions':\n\t\tcase 'WorksheetOptions':\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"UOF\") return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'OfficeDocumentSettings': switch(Rn[3]) {\n\t\t\t\t\tcase 'AllowPNG': break;\n\t\t\t\t\tcase 'RemovePersonalInformation': break;\n\t\t\t\t\tcase 'DownloadComponents': break;\n\t\t\t\t\tcase 'LocationOfComponents': break;\n\t\t\t\t\tcase 'Colors': break;\n\t\t\t\t\tcase 'Color': break;\n\t\t\t\t\tcase 'Index': break;\n\t\t\t\t\tcase 'RGB': break;\n\t\t\t\t\tcase 'PixelsPerInch': break; // TODO: set PPI\n\t\t\t\t\tcase 'TargetScreenSize': break;\n\t\t\t\t\tcase 'ReadOnlyRecommended': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'ComponentOptions': switch(Rn[3]) {\n\t\t\t\t\tcase 'Toolbar': break;\n\t\t\t\t\tcase 'HideOfficeLogo': break;\n\t\t\t\t\tcase 'SpreadsheetAutoFit': break;\n\t\t\t\t\tcase 'Label': break;\n\t\t\t\t\tcase 'Caption': break;\n\t\t\t\t\tcase 'MaxHeight': break;\n\t\t\t\t\tcase 'MaxWidth': break;\n\t\t\t\t\tcase 'NextSheetNumber': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'ExcelWorkbook': switch(Rn[3]) {\n\t\t\t\t\tcase 'Date1904':\nWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'WindowHeight': break;\n\t\t\t\t\tcase 'WindowWidth': break;\n\t\t\t\t\tcase 'WindowTopX': break;\n\t\t\t\t\tcase 'WindowTopY': break;\n\t\t\t\t\tcase 'TabRatio': break;\n\t\t\t\t\tcase 'ProtectStructure': break;\n\t\t\t\t\tcase 'ProtectWindow': break;\n\t\t\t\t\tcase 'ProtectWindows': break;\n\t\t\t\t\tcase 'ActiveSheet': break;\n\t\t\t\t\tcase 'DisplayInkNotes': break;\n\t\t\t\t\tcase 'FirstVisibleSheet': break;\n\t\t\t\t\tcase 'SupBook': break;\n\t\t\t\t\tcase 'SheetName': break;\n\t\t\t\t\tcase 'SheetIndex': break;\n\t\t\t\t\tcase 'SheetIndexFirst': break;\n\t\t\t\t\tcase 'SheetIndexLast': break;\n\t\t\t\t\tcase 'Dll': break;\n\t\t\t\t\tcase 'AcceptLabelsInFormulas': break;\n\t\t\t\t\tcase 'DoNotSaveLinkValues': break;\n\t\t\t\t\tcase 'Iteration': break;\n\t\t\t\t\tcase 'MaxIterations': break;\n\t\t\t\t\tcase 'MaxChange': break;\n\t\t\t\t\tcase 'Path': break;\n\t\t\t\t\tcase 'Xct': break;\n\t\t\t\t\tcase 'Count': break;\n\t\t\t\t\tcase 'SelectedSheets': break;\n\t\t\t\t\tcase 'Calculation': break;\n\t\t\t\t\tcase 'Uncalced': break;\n\t\t\t\t\tcase 'StartupPrompt': break;\n\t\t\t\t\tcase 'Crn': break;\n\t\t\t\t\tcase 'ExternName': break;\n\t\t\t\t\tcase 'Formula': break;\n\t\t\t\t\tcase 'ColFirst': break;\n\t\t\t\t\tcase 'ColLast': break;\n\t\t\t\t\tcase 'WantAdvise': break;\n\t\t\t\t\tcase 'Boolean': break;\n\t\t\t\t\tcase 'Error': break;\n\t\t\t\t\tcase 'Text': break;\n\t\t\t\t\tcase 'OLE': break;\n\t\t\t\t\tcase 'NoAutoRecover': break;\n\t\t\t\t\tcase 'PublishObjects': break;\n\t\t\t\t\tcase 'DoNotCalculateBeforeSave': break;\n\t\t\t\t\tcase 'Number': break;\n\t\t\t\t\tcase 'RefModeR1C1': break;\n\t\t\t\t\tcase 'EmbedSaveSmartTags': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'WorkbookOptions': switch(Rn[3]) {\n\t\t\t\t\tcase 'OWCVersion': break;\n\t\t\t\t\tcase 'Height': break;\n\t\t\t\t\tcase 'Width': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'WorksheetOptions': switch(Rn[3]) {\n\t\t\t\t\tcase 'Visible':\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Header':\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tcursheet['!margins'].header = parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Footer':\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tcursheet['!margins'].footer = parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'PageMargins':\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(pagemargins.Top) cursheet['!margins'].top = pagemargins.Top;\n\t\t\t\t\t\tif(pagemargins.Left) cursheet['!margins'].left = pagemargins.Left;\n\t\t\t\t\t\tif(pagemargins.Right) cursheet['!margins'].right = pagemargins.Right;\n\t\t\t\t\t\tif(pagemargins.Bottom) cursheet['!margins'].bottom = pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'DisplayRightToLeft':\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'FreezePanes': break;\n\t\t\t\t\tcase 'FrozenNoSplit': break;\n\n\t\t\t\t\tcase 'SplitHorizontal':\n\t\t\t\t\tcase 'SplitVertical':\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'DoNotDisplayGridlines':\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'TopRowBottomPane': break;\n\t\t\t\t\tcase 'LeftColumnRightPane': break;\n\n\t\t\t\t\tcase 'Unsynced': break;\n\t\t\t\t\tcase 'Print': break;\n\t\t\t\t\tcase 'Panes': break;\n\t\t\t\t\tcase 'Scale': break;\n\t\t\t\t\tcase 'Pane': break;\n\t\t\t\t\tcase 'Number': break;\n\t\t\t\t\tcase 'Layout': break;\n\t\t\t\t\tcase 'PageSetup': break;\n\t\t\t\t\tcase 'Selected': break;\n\t\t\t\t\tcase 'ProtectObjects': break;\n\t\t\t\t\tcase 'EnableSelection': break;\n\t\t\t\t\tcase 'ProtectScenarios': break;\n\t\t\t\t\tcase 'ValidPrinterInfo': break;\n\t\t\t\t\tcase 'HorizontalResolution': break;\n\t\t\t\t\tcase 'VerticalResolution': break;\n\t\t\t\t\tcase 'NumberofCopies': break;\n\t\t\t\t\tcase 'ActiveRow': break;\n\t\t\t\t\tcase 'ActiveCol': break;\n\t\t\t\t\tcase 'ActivePane': break;\n\t\t\t\t\tcase 'TopRowVisible': break;\n\t\t\t\t\tcase 'LeftColumnVisible': break;\n\t\t\t\t\tcase 'FitToPage': break;\n\t\t\t\t\tcase 'RangeSelection': break;\n\t\t\t\t\tcase 'PaperSizeIndex': break;\n\t\t\t\t\tcase 'PageLayoutZoom': break;\n\t\t\t\t\tcase 'PageBreakZoom': break;\n\t\t\t\t\tcase 'FilterOn': break;\n\t\t\t\t\tcase 'FitWidth': break;\n\t\t\t\t\tcase 'FitHeight': break;\n\t\t\t\t\tcase 'CommentsLayout': break;\n\t\t\t\t\tcase 'Zoom': break;\n\t\t\t\t\tcase 'LeftToRight': break;\n\t\t\t\t\tcase 'Gridlines': break;\n\t\t\t\t\tcase 'AllowSort': break;\n\t\t\t\t\tcase 'AllowFilter': break;\n\t\t\t\t\tcase 'AllowInsertRows': break;\n\t\t\t\t\tcase 'AllowDeleteRows': break;\n\t\t\t\t\tcase 'AllowInsertCols': break;\n\t\t\t\t\tcase 'AllowDeleteCols': break;\n\t\t\t\t\tcase 'AllowInsertHyperlinks': break;\n\t\t\t\t\tcase 'AllowFormatCells': break;\n\t\t\t\t\tcase 'AllowSizeCols': break;\n\t\t\t\t\tcase 'AllowSizeRows': break;\n\t\t\t\t\tcase 'NoSummaryRowsBelowDetail': break;\n\t\t\t\t\tcase 'TabColorIndex': break;\n\t\t\t\t\tcase 'DoNotDisplayHeadings': break;\n\t\t\t\t\tcase 'ShowPageLayoutZoom': break;\n\t\t\t\t\tcase 'NoSummaryColumnsRightDetail': break;\n\t\t\t\t\tcase 'BlackAndWhite': break;\n\t\t\t\t\tcase 'DoNotDisplayZeros': break;\n\t\t\t\t\tcase 'DisplayPageBreak': break;\n\t\t\t\t\tcase 'RowColHeadings': break;\n\t\t\t\t\tcase 'DoNotDisplayOutline': break;\n\t\t\t\t\tcase 'NoOrientation': break;\n\t\t\t\t\tcase 'AllowUsePivotTables': break;\n\t\t\t\t\tcase 'ZeroHeight': break;\n\t\t\t\t\tcase 'ViewableRange': break;\n\t\t\t\t\tcase 'Selection': break;\n\t\t\t\t\tcase 'ProtectContents': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'PivotTable': case 'PivotCache': switch(Rn[3]) {\n\t\t\t\t\tcase 'ImmediateItemsOnDrop': break;\n\t\t\t\t\tcase 'ShowPageMultipleItemLabel': break;\n\t\t\t\t\tcase 'CompactRowIndent': break;\n\t\t\t\t\tcase 'Location': break;\n\t\t\t\t\tcase 'PivotField': break;\n\t\t\t\t\tcase 'Orientation': break;\n\t\t\t\t\tcase 'LayoutForm': break;\n\t\t\t\t\tcase 'LayoutSubtotalLocation': break;\n\t\t\t\t\tcase 'LayoutCompactRow': break;\n\t\t\t\t\tcase 'Position': break;\n\t\t\t\t\tcase 'PivotItem': break;\n\t\t\t\t\tcase 'DataType': break;\n\t\t\t\t\tcase 'DataField': break;\n\t\t\t\t\tcase 'SourceName': break;\n\t\t\t\t\tcase 'ParentField': break;\n\t\t\t\t\tcase 'PTLineItems': break;\n\t\t\t\t\tcase 'PTLineItem': break;\n\t\t\t\t\tcase 'CountOfSameItems': break;\n\t\t\t\t\tcase 'Item': break;\n\t\t\t\t\tcase 'ItemType': break;\n\t\t\t\t\tcase 'PTSource': break;\n\t\t\t\t\tcase 'CacheIndex': break;\n\t\t\t\t\tcase 'ConsolidationReference': break;\n\t\t\t\t\tcase 'FileName': break;\n\t\t\t\t\tcase 'Reference': break;\n\t\t\t\t\tcase 'NoColumnGrand': break;\n\t\t\t\t\tcase 'NoRowGrand': break;\n\t\t\t\t\tcase 'BlankLineAfterItems': break;\n\t\t\t\t\tcase 'Hidden': break;\n\t\t\t\t\tcase 'Subtotal': break;\n\t\t\t\t\tcase 'BaseField': break;\n\t\t\t\t\tcase 'MapChildItems': break;\n\t\t\t\t\tcase 'Function': break;\n\t\t\t\t\tcase 'RefreshOnFileOpen': break;\n\t\t\t\t\tcase 'PrintSetTitles': break;\n\t\t\t\t\tcase 'MergeLabels': break;\n\t\t\t\t\tcase 'DefaultVersion': break;\n\t\t\t\t\tcase 'RefreshName': break;\n\t\t\t\t\tcase 'RefreshDate': break;\n\t\t\t\t\tcase 'RefreshDateCopy': break;\n\t\t\t\t\tcase 'VersionLastRefresh': break;\n\t\t\t\t\tcase 'VersionLastUpdate': break;\n\t\t\t\t\tcase 'VersionUpdateableMin': break;\n\t\t\t\t\tcase 'VersionRefreshableMin': break;\n\t\t\t\t\tcase 'Calculation': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'PageBreaks': switch(Rn[3]) {\n\t\t\t\t\tcase 'ColBreaks': break;\n\t\t\t\t\tcase 'ColBreak': break;\n\t\t\t\t\tcase 'RowBreaks': break;\n\t\t\t\t\tcase 'RowBreak': break;\n\t\t\t\t\tcase 'ColStart': break;\n\t\t\t\t\tcase 'ColEnd': break;\n\t\t\t\t\tcase 'RowEnd': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'AutoFilter': switch(Rn[3]) {\n\t\t\t\t\tcase 'AutoFilterColumn': break;\n\t\t\t\t\tcase 'AutoFilterCondition': break;\n\t\t\t\t\tcase 'AutoFilterAnd': break;\n\t\t\t\t\tcase 'AutoFilterOr': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'QueryTable': switch(Rn[3]) {\n\t\t\t\t\tcase 'Id': break;\n\t\t\t\t\tcase 'AutoFormatFont': break;\n\t\t\t\t\tcase 'AutoFormatPattern': break;\n\t\t\t\t\tcase 'QuerySource': break;\n\t\t\t\t\tcase 'QueryType': break;\n\t\t\t\t\tcase 'EnableRedirections': break;\n\t\t\t\t\tcase 'RefreshedInXl9': break;\n\t\t\t\t\tcase 'URLString': break;\n\t\t\t\t\tcase 'HTMLTables': break;\n\t\t\t\t\tcase 'Connection': break;\n\t\t\t\t\tcase 'CommandText': break;\n\t\t\t\t\tcase 'RefreshInfo': break;\n\t\t\t\t\tcase 'NoTitles': break;\n\t\t\t\t\tcase 'NextId': break;\n\t\t\t\t\tcase 'ColumnInfo': break;\n\t\t\t\t\tcase 'OverwriteCells': break;\n\t\t\t\t\tcase 'DoNotPromptForFile': break;\n\t\t\t\t\tcase 'TextWizardSettings': break;\n\t\t\t\t\tcase 'Source': break;\n\t\t\t\t\tcase 'Number': break;\n\t\t\t\t\tcase 'Decimal': break;\n\t\t\t\t\tcase 'ThousandSeparator': break;\n\t\t\t\t\tcase 'TrailingMinusNumbers': break;\n\t\t\t\t\tcase 'FormatSettings': break;\n\t\t\t\t\tcase 'FieldType': break;\n\t\t\t\t\tcase 'Delimiters': break;\n\t\t\t\t\tcase 'Tab': break;\n\t\t\t\t\tcase 'Comma': break;\n\t\t\t\t\tcase 'AutoFormatName': break;\n\t\t\t\t\tcase 'VersionLastEdit': break;\n\t\t\t\t\tcase 'VersionLastRefresh': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'DataValidation':\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'Range': break;\n\n\t\t\t\t\tcase 'Type': break;\n\t\t\t\t\tcase 'Min': break;\n\t\t\t\t\tcase 'Max': break;\n\t\t\t\t\tcase 'Sort': break;\n\t\t\t\t\tcase 'Descending': break;\n\t\t\t\t\tcase 'Order': break;\n\t\t\t\t\tcase 'CaseSensitive': break;\n\t\t\t\t\tcase 'Value': break;\n\t\t\t\t\tcase 'ErrorStyle': break;\n\t\t\t\t\tcase 'ErrorMessage': break;\n\t\t\t\t\tcase 'ErrorTitle': break;\n\t\t\t\t\tcase 'InputMessage': break;\n\t\t\t\t\tcase 'InputTitle': break;\n\t\t\t\t\tcase 'ComboHide': break;\n\t\t\t\t\tcase 'InputHide': break;\n\t\t\t\t\tcase 'Condition': break;\n\t\t\t\t\tcase 'Qualifier': break;\n\t\t\t\t\tcase 'UseBlank': break;\n\t\t\t\t\tcase 'Value1': break;\n\t\t\t\t\tcase 'Value2': break;\n\t\t\t\t\tcase 'Format': break;\n\n\t\t\t\t\tcase 'CellRangeList': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'Sorting':\n\t\t\t\tcase 'ConditionalFormatting':\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'Range': break;\n\t\t\t\t\tcase 'Type': break;\n\t\t\t\t\tcase 'Min': break;\n\t\t\t\t\tcase 'Max': break;\n\t\t\t\t\tcase 'Sort': break;\n\t\t\t\t\tcase 'Descending': break;\n\t\t\t\t\tcase 'Order': break;\n\t\t\t\t\tcase 'CaseSensitive': break;\n\t\t\t\t\tcase 'Value': break;\n\t\t\t\t\tcase 'ErrorStyle': break;\n\t\t\t\t\tcase 'ErrorMessage': break;\n\t\t\t\t\tcase 'ErrorTitle': break;\n\t\t\t\t\tcase 'CellRangeList': break;\n\t\t\t\t\tcase 'InputMessage': break;\n\t\t\t\t\tcase 'InputTitle': break;\n\t\t\t\t\tcase 'ComboHide': break;\n\t\t\t\t\tcase 'InputHide': break;\n\t\t\t\t\tcase 'Condition': break;\n\t\t\t\t\tcase 'Qualifier': break;\n\t\t\t\t\tcase 'UseBlank': break;\n\t\t\t\t\tcase 'Value1': break;\n\t\t\t\t\tcase 'Value2': break;\n\t\t\t\t\tcase 'Format': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'MapInfo': case 'Schema': case 'data': switch(Rn[3]) {\n\t\t\t\t\tcase 'Map': break;\n\t\t\t\t\tcase 'Entry': break;\n\t\t\t\t\tcase 'Range': break;\n\t\t\t\t\tcase 'XPath': break;\n\t\t\t\t\tcase 'Field': break;\n\t\t\t\t\tcase 'XSDType': break;\n\t\t\t\t\tcase 'FilterOn': break;\n\t\t\t\t\tcase 'Aggregate': break;\n\t\t\t\t\tcase 'ElementType': break;\n\t\t\t\t\tcase 'AttributeType': break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema':\n\t\t\t\t\tcase 'element':\n\t\t\t\t\tcase 'complexType':\n\t\t\t\t\tcase 'datatype':\n\t\t\t\t\tcase 'all':\n\t\t\t\t\tcase 'attribute':\n\t\t\t\t\tcase 'extends': break;\n\n\t\t\t\t\tcase 'row': break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'SmartTags': break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]==='CustomDocumentProperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, Rn[3], cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({});\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = SSF.get_table();\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data, opts) {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64.decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n}\n\n/* TODO */\nfunction write_props_xlml(wb, opts) {\n\tvar o = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml() {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts) {\n\t/* Styles */\n\tvar styles = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(SSF._table[xf.numFmtId])}));\n\n\t\tvar o = {\"ss:ID\": \"s\" + (21+id)};\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb) {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\nvar names = wb.Workbook.Names;\n\tvar out = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws, opts, idx, wb) {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\nvar names = wb.Workbook.Names;\n\tvar out = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws, opts, idx, wb) {\n\tif(!ws) return \"\";\n\tvar o = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments) {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr){\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || SSF._table[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R, row) {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws, opts, idx, wb) {\n\tif(!ws['!ref']) return \"\";\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar marr = ws['!merges'] || [], mi = 0;\n\tvar o = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx, opts, wb) {\n\tvar o = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts) {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = SSF.get_table();\n\tif(wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj) {\n\tvar v = {};\n\tvar o = obj.content;\n/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue\n\t- 2.4.59 ContinueBigName\n\t- 2.4.60 ContinueFrt\n\t- 2.4.61 ContinueFrt11\n\t- 2.4.62 ContinueFrt12\n*/\nfunction slurp(R, blob, length, opts) {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu) switch(R.n) {\n\tcase 'BOF': case 'FilePass': case 'FileLock': case 'InterfaceHdr': case 'RRDInfo': case 'RRDHead': case 'UsrExcl': break;\n\tdefault:\n\t\tif(d.length === 0) break;\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar next = (XLSRecordEnum[__readUInt16LE(blob,blob.l)]);\n\tvar start = 0;\n\twhile(next != null && next.n.slice(0,8) === 'Continue') {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(next.n == 'ContinueFrt') start += 4;\n\t\telse if(next.n.slice(0,11) == 'ContinueFrt') start += 12;\n\t\tbufs.push(blob.slice(start,blob.l+4+l));\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[__readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs));\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p, opts, date1904) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = SSF._table[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = SSF._general_int(p.v);\n\t\t\t\telse p.w = SSF._general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF._general(p.v);\n\t\t}\n\t\telse p.w = SSF.format(fmtid,p.v, {date1904:!!date1904});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && SSF.is_date(SSF._table[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF.parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t) {\n\treturn ({v:val, ixfe:ixfe, t:t});\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options) {\n\tvar wb = ({opts:{}});\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out = ((options.dense ? [] : {}));\n\tvar Directory = {};\n\tvar range = ({});\n\tvar last_formula = null;\n\tvar sst = ([]);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf = [];\n\tvar temp_val;\n\tvar country;\n\tvar cell_valid = true;\n\tvar XFs = []; /* XF records */\n\tvar palette = [];\n\tvar Workbook = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }), wsprops = {};\n\tvar get_rgb = function getrgb(icv) {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({});\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell, line, options) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) cell_valid = false;\n\t\tif(!cell_valid) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t});\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges = [];\n\tvar objects = [];\n\tvar colinfo = [], rowinfo = [];\n\t// eslint-disable-next-line no-unused-vars\n\tvar defwidth = 0, defheight = 0; // twips / MDW respectively\n\tvar seencol = false;\n\tvar supbooks = ([]); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_Rn = '';\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_Rn === 'EOF') break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_Rn === 'BoundSheet8' && R.n !== 'BoundSheet8') break;\n\t\t\t}\n\t\t\tlast_Rn = R.n;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){ blob.l += 10; length -= 10; } // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val = ({});\n\t\t\tif(R.n === 'EOF') val = R.f(blob, length, opts);\n\t\t\telse val = slurp(R, blob, length, opts);\n\t\t\tvar Rn = R.n;\nif(file_depth == 0 && Rn != 'BOF') continue;\n\t\t\t/* nested switch statements to workaround V8 128 limit */\n\t\t\tswitch(Rn) {\n\t\t\t\t/* Workbook Options */\n\t\t\t\tcase 'Date1904':\nwb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 'WriteProtect': wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 'FilePass':\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'WriteAccess': opts.lastuser = val; break;\n\t\t\t\tcase 'FileSharing': break; //TODO\n\t\t\t\tcase 'CodePage':\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'RRTabId': opts.rrtabid = val; break;\n\t\t\t\tcase 'WinProtect': opts.winlocked = val; break;\n\t\t\t\tcase 'Template': break; // TODO\n\t\t\t\tcase 'BookBool': break; // TODO\n\t\t\t\tcase 'UsesELFs': break;\n\t\t\t\tcase 'MTRSettings': break;\n\t\t\t\tcase 'RefreshAll':\n\t\t\t\tcase 'CalcCount':\n\t\t\t\tcase 'CalcDelta':\n\t\t\t\tcase 'CalcIter':\n\t\t\t\tcase 'CalcMode':\n\t\t\t\tcase 'CalcPrecision':\n\t\t\t\tcase 'CalcSaveRecalc':\n\t\t\t\t\twb.opts[Rn] = val; break;\n\t\t\t\tcase 'CalcRefMode': opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 'Uncalced': break;\n\t\t\t\tcase 'ForceFullCalculation': wb.opts.FullCalc = val; break;\n\t\t\t\tcase 'WsBool':\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 'XF':\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 'ExtSST': break; // TODO\n\t\t\t\tcase 'BookExt': break; // TODO\n\t\t\t\tcase 'RichTextStream': break;\n\t\t\t\tcase 'BkHim': break;\n\n\t\t\t\tcase 'SupBook':\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ExternName':\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Index': break; // TODO\n\t\t\t\tcase 'Lbl':\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t});\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ExternCount': opts.ExternCount = val; break;\n\t\t\t\tcase 'ExternSheet':\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 'NameCmt':\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Protect': out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 'Password': if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 'Prot4Rev': case 'Prot4RevPass': break; /*TODO: Revision Control*/\n\n\t\t\t\tcase 'BoundSheet8': {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 'EOF': {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {}));\n\t\t\t\t} break;\n\t\t\t\tcase 'BOF': {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n0x0009:2,\n0x0209:3,\n0x0409:4\n\t\t\t\t\t}[RecordType] || {\n0x0200:2,\n0x0300:3,\n0x0400:4,\n0x0500:5,\n0x0600:8,\n0x0002:2,\n0x0007:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tcell_valid = true;\n\t\t\t\t\tout = ((options.dense ? [] : {}));\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\t\t\t\t\tif(opts.biff < 5) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tdefwidth = defheight = 0;\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\n\t\t\t\tcase 'Number': case 'BIFF2NUM': case 'BIFF2INT': {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'BoolErr': {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'RK': {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulRk': {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'});\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Formula': {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'String': {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 'Array': {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'ShrFmla': {\n\t\t\t\t\tif(!cell_valid) break;\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'LabelSst':\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Blank': if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'});\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 'MulBlank': if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'});\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'RString':\n\t\t\t\tcase 'Label': case 'BIFF2STR':\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x1F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Dimensions': {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 'SST': {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 'Format': { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(SSF._table[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF.load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF.load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 'BIFF2FORMAT': {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(SSF._table[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF.load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 'MergeCells': merges = merges.concat(val); break;\n\n\t\t\t\tcase 'Obj': objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 'TxO': opts.lastobj.TxO = val; break;\n\t\t\t\tcase 'ImData': opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 'HLink': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'HLinkTooltip': {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\t/* Comments */\n\t\t\t\tcase 'Note': {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"});\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\tcase 'ClrtClient': break;\n\t\t\t\tcase 'XFExt': update_xfext(XFs[val.ixfe], val.ext); break;\n\n\t\t\t\tcase 'DefColWidth': defwidth = val; break;\n\t\t\t\tcase 'DefaultRowHeight': defheight = val[1]; break; // TODO: flags\n\n\t\t\t\tcase 'ColInfo': {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256 };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 'Row': {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase 'LeftMargin':\n\t\t\t\tcase 'RightMargin':\n\t\t\t\tcase 'TopMargin':\n\t\t\t\tcase 'BottomMargin':\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][Rn.slice(0,-6).toLowerCase()] = val;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Setup': // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Window2': // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Header': break; // TODO\n\t\t\t\tcase 'Footer': break; // TODO\n\t\t\t\tcase 'HCenter': break; // TODO\n\t\t\t\tcase 'VCenter': break; // TODO\n\t\t\t\tcase 'Pls': break; // TODO\n\t\t\t\tcase 'GCW': break;\n\t\t\t\tcase 'LHRecord': break;\n\t\t\t\tcase 'DBCell': break; // TODO\n\t\t\t\tcase 'EntExU2': break; // TODO\n\t\t\t\tcase 'SxView': break; // TODO\n\t\t\t\tcase 'Sxvd': break; // TODO\n\t\t\t\tcase 'SXVI': break; // TODO\n\t\t\t\tcase 'SXVDEx': break; // TODO\n\t\t\t\tcase 'SxIvd': break; // TODO\n\t\t\t\tcase 'SXString': break; // TODO\n\t\t\t\tcase 'Sync': break;\n\t\t\t\tcase 'Addin': break;\n\t\t\t\tcase 'SXDI': break; // TODO\n\t\t\t\tcase 'SXLI': break; // TODO\n\t\t\t\tcase 'SXEx': break; // TODO\n\t\t\t\tcase 'QsiSXTag': break; // TODO\n\t\t\t\tcase 'Selection': break;\n\t\t\t\tcase 'Feat': break;\n\t\t\t\tcase 'FeatHdr': case 'FeatHdr11': break;\n\t\t\t\tcase 'Feature11': case 'Feature12': case 'List12': break;\n\t\t\t\tcase 'Country': country = val; break;\n\t\t\t\tcase 'RecalcId': break;\n\t\t\t\tcase 'DxGCol': break; // TODO: htmlify\n\t\t\t\tcase 'Fbi': case 'Fbi2': case 'GelFrame': break;\n\t\t\t\tcase 'Font': break; // TODO\n\t\t\t\tcase 'XFCRC': break; // TODO\n\t\t\t\tcase 'Style': break; // TODO\n\t\t\t\tcase 'StyleExt': break; // TODO\n\t\t\t\tcase 'Palette': palette = val; break;\n\t\t\t\tcase 'Theme': themes = val; break;\n\t\t\t\t/* Protection */\n\t\t\t\tcase 'ScenarioProtect': break;\n\t\t\t\tcase 'ObjProtect': break;\n\n\t\t\t\t/* Conditional Formatting */\n\t\t\t\tcase 'CondFmt12': break;\n\n\t\t\t\t/* Table */\n\t\t\t\tcase 'Table': break; // TODO\n\t\t\t\tcase 'TableStyles': break; // TODO\n\t\t\t\tcase 'TableStyle': break; // TODO\n\t\t\t\tcase 'TableStyleElement': break; // TODO\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'SXStreamID': break; // TODO\n\t\t\t\tcase 'SXVS': break; // TODO\n\t\t\t\tcase 'DConRef': break; // TODO\n\t\t\t\tcase 'SXAddl': break; // TODO\n\t\t\t\tcase 'DConBin': break; // TODO\n\t\t\t\tcase 'DConName': break; // TODO\n\t\t\t\tcase 'SXPI': break; // TODO\n\t\t\t\tcase 'SxFormat': break; // TODO\n\t\t\t\tcase 'SxSelect': break; // TODO\n\t\t\t\tcase 'SxRule': break; // TODO\n\t\t\t\tcase 'SxFilt': break; // TODO\n\t\t\t\tcase 'SxItm': break; // TODO\n\t\t\t\tcase 'SxDXF': break; // TODO\n\n\t\t\t\t/* Scenario Manager */\n\t\t\t\tcase 'ScenMan': break;\n\n\t\t\t\t/* Data Consolidation */\n\t\t\t\tcase 'DCon': break;\n\n\t\t\t\t/* Watched Cell */\n\t\t\t\tcase 'CellWatch': break;\n\n\t\t\t\t/* Print Settings */\n\t\t\t\tcase 'PrintRowCol': break;\n\t\t\t\tcase 'PrintGrid': break;\n\t\t\t\tcase 'PrintSize': break;\n\n\t\t\t\tcase 'XCT': break;\n\t\t\t\tcase 'CRN': break;\n\n\t\t\t\tcase 'Scl': {\n\t\t\t\t\t//console.log(\"Zoom Level:\", val[0]/val[1],val);\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExt': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'SheetExtOptional': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\n\t\t\t\t/* VBA */\n\t\t\t\tcase 'ObNoMacros': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'ObProj': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\t\t\t\tcase 'CodeName': {\nif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t\tcase 'GUIDTypeLib': {\n\t\t\t\t\t/* empty */\n\t\t\t\t} break;\n\n\t\t\t\tcase 'WOpt': break; // TODO: WTF?\n\t\t\t\tcase 'PhoneticInfo': break;\n\n\t\t\t\tcase 'OleObjectSize': break;\n\n\t\t\t\t/* Differential Formatting */\n\t\t\t\tcase 'DXF': case 'DXFN': case 'DXFN12': case 'DXFN12List': case 'DXFN12NoCB': break;\n\n\t\t\t\t/* Data Validation */\n\t\t\t\tcase 'Dv': case 'DVal': break;\n\n\t\t\t\t/* Data Series */\n\t\t\t\tcase 'BRAI': case 'Series': case 'SeriesText': break;\n\n\t\t\t\t/* Data Connection */\n\t\t\t\tcase 'DConn': break;\n\t\t\t\tcase 'DbOrParamQry': break;\n\t\t\t\tcase 'DBQueryExt': break;\n\n\t\t\t\tcase 'OleDbConn': break;\n\t\t\t\tcase 'ExtString': break;\n\n\t\t\t\t/* Formatting */\n\t\t\t\tcase 'IFmtRecord': break;\n\t\t\t\tcase 'CondFmt': case 'CF': case 'CF12': case 'CFEx': break;\n\n\t\t\t\t/* Explicitly Ignored */\n\t\t\t\tcase 'Excel9File': break;\n\t\t\t\tcase 'Units': break;\n\t\t\t\tcase 'InterfaceHdr': case 'Mms': case 'InterfaceEnd': case 'DSF': break;\n\t\t\t\tcase 'BuiltInFnGroupCount': /* 2.4.30 0x0E or 0x10 but excel 2011 generates 0x11? */ break;\n\t\t\t\t/* View Stuff */\n\t\t\t\tcase 'Window1': case 'HideObj': case 'GridSet': case 'Guts':\n\t\t\t\tcase 'UserBView': case 'UserSViewBegin': case 'UserSViewEnd': break;\n\t\t\t\tcase 'Pane': break;\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* Chart */\n\t\t\t\tcase 'Dat':\n\t\t\t\tcase 'Begin': case 'End':\n\t\t\t\tcase 'StartBlock': case 'EndBlock':\n\t\t\t\tcase 'Frame': case 'Area':\n\t\t\t\tcase 'Axis': case 'AxisLine': case 'Tick': break;\n\t\t\t\tcase 'AxesUsed':\n\t\t\t\tcase 'CrtLayout12': case 'CrtLayout12A': case 'CrtLink': case 'CrtLine': case 'CrtMlFrt': case 'CrtMlFrtContinue': break;\n\t\t\t\tcase 'LineFormat': case 'AreaFormat':\n\t\t\t\tcase 'Chart': case 'Chart3d': case 'Chart3DBarShape': case 'ChartFormat': case 'ChartFrtInfo': break;\n\t\t\t\tcase 'PlotArea': case 'PlotGrowth': break;\n\t\t\t\tcase 'SeriesList': case 'SerParent': case 'SerAuxTrend': break;\n\t\t\t\tcase 'DataFormat': case 'SerToCrt': case 'FontX': break;\n\t\t\t\tcase 'CatSerRange': case 'AxcExt': case 'SerFmt': break;\n\t\t\t\tcase 'ShtProps': break;\n\t\t\t\tcase 'DefaultText': case 'Text': case 'CatLab': break;\n\t\t\t\tcase 'DataLabExtContents': break;\n\t\t\t\tcase 'Legend': case 'LegendException': break;\n\t\t\t\tcase 'Pie': case 'Scatter': break;\n\t\t\t\tcase 'PieFormat': case 'MarkerFormat': break;\n\t\t\t\tcase 'StartObject': case 'EndObject': break;\n\t\t\t\tcase 'AlRuns': case 'ObjectLink': break;\n\t\t\t\tcase 'SIIndex': break;\n\t\t\t\tcase 'AttachedLabel': case 'YMult': break;\n\n\t\t\t\t/* Chart Group */\n\t\t\t\tcase 'Line': case 'Bar': break;\n\t\t\t\tcase 'Surf': break;\n\n\t\t\t\t/* Axis Group */\n\t\t\t\tcase 'AxisParent': break;\n\t\t\t\tcase 'Pos': break;\n\t\t\t\tcase 'ValueRange': break;\n\n\t\t\t\t/* Pivot Chart */\n\t\t\t\tcase 'SXViewEx9': break; // TODO\n\t\t\t\tcase 'SXViewLink': break;\n\t\t\t\tcase 'PivotChartBits': break;\n\t\t\t\tcase 'SBaseRef': break;\n\t\t\t\tcase 'TextPropsStream': break;\n\n\t\t\t\t/* Chart Misc */\n\t\t\t\tcase 'LnExt': break;\n\t\t\t\tcase 'MkrExt': break;\n\t\t\t\tcase 'CrtCoopt': break;\n\n\t\t\t\t/* Query Table */\n\t\t\t\tcase 'Qsi': case 'Qsif': case 'Qsir': case 'QsiSXTag': break;\n\t\t\t\tcase 'TxtQry': break;\n\n\t\t\t\t/* Filter */\n\t\t\t\tcase 'FilterMode': break;\n\t\t\t\tcase 'AutoFilter': case 'AutoFilterInfo': break;\n\t\t\t\tcase 'AutoFilter12': break;\n\t\t\t\tcase 'DropDownObjIds': break;\n\t\t\t\tcase 'Sort': break;\n\t\t\t\tcase 'SortData': break;\n\n\t\t\t\t/* Drawing */\n\t\t\t\tcase 'ShapePropsStream': break;\n\t\t\t\tcase 'MsoDrawing': case 'MsoDrawingGroup': case 'MsoDrawingSelection': break;\n\t\t\t\t/* Pub Stuff */\n\t\t\t\tcase 'WebPub': case 'AutoWebPub': break;\n\n\t\t\t\t/* Print Stuff */\n\t\t\t\tcase 'HeaderFooter': case 'HFPicture': case 'PLV':\n\t\t\t\tcase 'HorizontalPageBreaks': case 'VerticalPageBreaks': break;\n\t\t\t\t/* Behavioral */\n\t\t\t\tcase 'Backup': case 'CompressPictures': case 'Compat12': break;\n\n\t\t\t\t/* Should not Happen */\n\t\t\t\tcase 'Continue': case 'ContinueFrt12': break;\n\n\t\t\t\t/* Future Records */\n\t\t\t\tcase 'FrtFontList': case 'FrtWrapper': break;\n\n\t\t\t\tdefault: switch(R.n) { /* nested */\n\t\t\t\t/* BIFF5 records */\n\t\t\t\tcase 'TabIdConf': case 'Radar': case 'RadarArea': case 'DropBar': case 'Intl': case 'CoordList': case 'SerAuxErrBar': break;\n\n\t\t\t\t/* BIFF2-4 records */\n\t\t\t\tcase 'BIFF2FONTCLR': case 'BIFF2FMTCNT': case 'BIFF2FONTXTRA': break;\n\t\t\t\tcase 'BIFF2XF': case 'BIFF3XF': case 'BIFF4XF': break;\n\t\t\t\tcase 'BIFF4FMTCNT': case 'BIFF2ROW': case 'BIFF2WINDOW2': break;\n\n\t\t\t\t/* Miscellaneous */\n\t\t\t\tcase 'SCENARIO': case 'DConBin': case 'PicF': case 'DataLabExt':\n\t\t\t\tcase 'Lel': case 'BopPop': case 'BopPopCustom': case 'RealTimeData':\n\t\t\t\tcase 'Name': break;\n\t\t\t\tcase 'LHNGraph': case 'FnGroupName': case 'AddMenu': case 'LPr': break;\n\t\t\t\tcase 'ListObj': case 'ListField': break;\n\t\t\t\tcase 'RRSort': break;\n\t\t\t\tcase 'BigName': break;\n\t\t\t\tcase 'ToolbarHdr': case 'ToolbarEnd': break;\n\t\t\t\tcase 'DDEObjName': break;\n\t\t\t\tcase 'FRTArchId$': break;\n\t\t\t\tdefault: if(options.WTF) throw 'Unrecognized Record ' + R.n;\n\t\t\t}}}}\n\t\t} else blob.l += length;\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Preamble=Preamble;\n\twb.Strings = sst;\n\twb.SSF = SSF.get_table();\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb, cfb) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb, options) {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj, WB;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64.decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb});\n}\nvar WorkbookP;\n\nvar _data;\nif(CompObj) parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({});\nelse {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(cfb, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb, opts) {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n0x0000: { n:\"BrtRowHdr\", f:parse_BrtRowHdr },\n0x0001: { n:\"BrtCellBlank\", f:parse_BrtCellBlank },\n0x0002: { n:\"BrtCellRk\", f:parse_BrtCellRk },\n0x0003: { n:\"BrtCellError\", f:parse_BrtCellError },\n0x0004: { n:\"BrtCellBool\", f:parse_BrtCellBool },\n0x0005: { n:\"BrtCellReal\", f:parse_BrtCellReal },\n0x0006: { n:\"BrtCellSt\", f:parse_BrtCellSt },\n0x0007: { n:\"BrtCellIsst\", f:parse_BrtCellIsst },\n0x0008: { n:\"BrtFmlaString\", f:parse_BrtFmlaString },\n0x0009: { n:\"BrtFmlaNum\", f:parse_BrtFmlaNum },\n0x000A: { n:\"BrtFmlaBool\", f:parse_BrtFmlaBool },\n0x000B: { n:\"BrtFmlaError\", f:parse_BrtFmlaError },\n0x0010: { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ },\n0x0013: { n:\"BrtSSTItem\", f:parse_RichStr },\n0x0014: { n:\"BrtPCDIMissing\" },\n0x0015: { n:\"BrtPCDINumber\" },\n0x0016: { n:\"BrtPCDIBoolean\" },\n0x0017: { n:\"BrtPCDIError\" },\n0x0018: { n:\"BrtPCDIString\" },\n0x0019: { n:\"BrtPCDIDatetime\" },\n0x001A: { n:\"BrtPCDIIndex\" },\n0x001B: { n:\"BrtPCDIAMissing\" },\n0x001C: { n:\"BrtPCDIANumber\" },\n0x001D: { n:\"BrtPCDIABoolean\" },\n0x001E: { n:\"BrtPCDIAError\" },\n0x001F: { n:\"BrtPCDIAString\" },\n0x0020: { n:\"BrtPCDIADatetime\" },\n0x0021: { n:\"BrtPCRRecord\" },\n0x0022: { n:\"BrtPCRRecordDt\" },\n0x0023: { n:\"BrtFRTBegin\" },\n0x0024: { n:\"BrtFRTEnd\" },\n0x0025: { n:\"BrtACBegin\" },\n0x0026: { n:\"BrtACEnd\" },\n0x0027: { n:\"BrtName\", f:parse_BrtName },\n0x0028: { n:\"BrtIndexRowBlock\" },\n0x002A: { n:\"BrtIndexBlock\" },\n0x002B: { n:\"BrtFont\", f:parse_BrtFont },\n0x002C: { n:\"BrtFmt\", f:parse_BrtFmt },\n0x002D: { n:\"BrtFill\", f:parse_BrtFill },\n0x002E: { n:\"BrtBorder\", f:parse_BrtBorder },\n0x002F: { n:\"BrtXF\", f:parse_BrtXF },\n0x0030: { n:\"BrtStyle\" },\n0x0031: { n:\"BrtCellMeta\" },\n0x0032: { n:\"BrtValueMeta\" },\n0x0033: { n:\"BrtMdb\" },\n0x0034: { n:\"BrtBeginFmd\" },\n0x0035: { n:\"BrtEndFmd\" },\n0x0036: { n:\"BrtBeginMdx\" },\n0x0037: { n:\"BrtEndMdx\" },\n0x0038: { n:\"BrtBeginMdxTuple\" },\n0x0039: { n:\"BrtEndMdxTuple\" },\n0x003A: { n:\"BrtMdxMbrIstr\" },\n0x003B: { n:\"BrtStr\" },\n0x003C: { n:\"BrtColInfo\", f:parse_ColInfo },\n0x003E: { n:\"BrtCellRString\" },\n0x003F: { n:\"BrtCalcChainItem$\", f:parse_BrtCalcChainItem$ },\n0x0040: { n:\"BrtDVal\", f:parse_BrtDVal },\n0x0041: { n:\"BrtSxvcellNum\" },\n0x0042: { n:\"BrtSxvcellStr\" },\n0x0043: { n:\"BrtSxvcellBool\" },\n0x0044: { n:\"BrtSxvcellErr\" },\n0x0045: { n:\"BrtSxvcellDate\" },\n0x0046: { n:\"BrtSxvcellNil\" },\n0x0080: { n:\"BrtFileVersion\" },\n0x0081: { n:\"BrtBeginSheet\" },\n0x0082: { n:\"BrtEndSheet\" },\n0x0083: { n:\"BrtBeginBook\", f:parsenoop, p:0 },\n0x0084: { n:\"BrtEndBook\" },\n0x0085: { n:\"BrtBeginWsViews\" },\n0x0086: { n:\"BrtEndWsViews\" },\n0x0087: { n:\"BrtBeginBookViews\" },\n0x0088: { n:\"BrtEndBookViews\" },\n0x0089: { n:\"BrtBeginWsView\", f:parse_BrtBeginWsView },\n0x008A: { n:\"BrtEndWsView\" },\n0x008B: { n:\"BrtBeginCsViews\" },\n0x008C: { n:\"BrtEndCsViews\" },\n0x008D: { n:\"BrtBeginCsView\" },\n0x008E: { n:\"BrtEndCsView\" },\n0x008F: { n:\"BrtBeginBundleShs\" },\n0x0090: { n:\"BrtEndBundleShs\" },\n0x0091: { n:\"BrtBeginSheetData\" },\n0x0092: { n:\"BrtEndSheetData\" },\n0x0093: { n:\"BrtWsProp\", f:parse_BrtWsProp },\n0x0094: { n:\"BrtWsDim\", f:parse_BrtWsDim, p:16 },\n0x0097: { n:\"BrtPane\", f:parse_BrtPane },\n0x0098: { n:\"BrtSel\" },\n0x0099: { n:\"BrtWbProp\", f:parse_BrtWbProp },\n0x009A: { n:\"BrtWbFactoid\" },\n0x009B: { n:\"BrtFileRecover\" },\n0x009C: { n:\"BrtBundleSh\", f:parse_BrtBundleSh },\n0x009D: { n:\"BrtCalcProp\" },\n0x009E: { n:\"BrtBookView\" },\n0x009F: { n:\"BrtBeginSst\", f:parse_BrtBeginSst },\n0x00A0: { n:\"BrtEndSst\" },\n0x00A1: { n:\"BrtBeginAFilter\", f:parse_UncheckedRfX },\n0x00A2: { n:\"BrtEndAFilter\" },\n0x00A3: { n:\"BrtBeginFilterColumn\" },\n0x00A4: { n:\"BrtEndFilterColumn\" },\n0x00A5: { n:\"BrtBeginFilters\" },\n0x00A6: { n:\"BrtEndFilters\" },\n0x00A7: { n:\"BrtFilter\" },\n0x00A8: { n:\"BrtColorFilter\" },\n0x00A9: { n:\"BrtIconFilter\" },\n0x00AA: { n:\"BrtTop10Filter\" },\n0x00AB: { n:\"BrtDynamicFilter\" },\n0x00AC: { n:\"BrtBeginCustomFilters\" },\n0x00AD: { n:\"BrtEndCustomFilters\" },\n0x00AE: { n:\"BrtCustomFilter\" },\n0x00AF: { n:\"BrtAFilterDateGroupItem\" },\n0x00B0: { n:\"BrtMergeCell\", f:parse_BrtMergeCell },\n0x00B1: { n:\"BrtBeginMergeCells\" },\n0x00B2: { n:\"BrtEndMergeCells\" },\n0x00B3: { n:\"BrtBeginPivotCacheDef\" },\n0x00B4: { n:\"BrtEndPivotCacheDef\" },\n0x00B5: { n:\"BrtBeginPCDFields\" },\n0x00B6: { n:\"BrtEndPCDFields\" },\n0x00B7: { n:\"BrtBeginPCDField\" },\n0x00B8: { n:\"BrtEndPCDField\" },\n0x00B9: { n:\"BrtBeginPCDSource\" },\n0x00BA: { n:\"BrtEndPCDSource\" },\n0x00BB: { n:\"BrtBeginPCDSRange\" },\n0x00BC: { n:\"BrtEndPCDSRange\" },\n0x00BD: { n:\"BrtBeginPCDFAtbl\" },\n0x00BE: { n:\"BrtEndPCDFAtbl\" },\n0x00BF: { n:\"BrtBeginPCDIRun\" },\n0x00C0: { n:\"BrtEndPCDIRun\" },\n0x00C1: { n:\"BrtBeginPivotCacheRecords\" },\n0x00C2: { n:\"BrtEndPivotCacheRecords\" },\n0x00C3: { n:\"BrtBeginPCDHierarchies\" },\n0x00C4: { n:\"BrtEndPCDHierarchies\" },\n0x00C5: { n:\"BrtBeginPCDHierarchy\" },\n0x00C6: { n:\"BrtEndPCDHierarchy\" },\n0x00C7: { n:\"BrtBeginPCDHFieldsUsage\" },\n0x00C8: { n:\"BrtEndPCDHFieldsUsage\" },\n0x00C9: { n:\"BrtBeginExtConnection\" },\n0x00CA: { n:\"BrtEndExtConnection\" },\n0x00CB: { n:\"BrtBeginECDbProps\" },\n0x00CC: { n:\"BrtEndECDbProps\" },\n0x00CD: { n:\"BrtBeginECOlapProps\" },\n0x00CE: { n:\"BrtEndECOlapProps\" },\n0x00CF: { n:\"BrtBeginPCDSConsol\" },\n0x00D0: { n:\"BrtEndPCDSConsol\" },\n0x00D1: { n:\"BrtBeginPCDSCPages\" },\n0x00D2: { n:\"BrtEndPCDSCPages\" },\n0x00D3: { n:\"BrtBeginPCDSCPage\" },\n0x00D4: { n:\"BrtEndPCDSCPage\" },\n0x00D5: { n:\"BrtBeginPCDSCPItem\" },\n0x00D6: { n:\"BrtEndPCDSCPItem\" },\n0x00D7: { n:\"BrtBeginPCDSCSets\" },\n0x00D8: { n:\"BrtEndPCDSCSets\" },\n0x00D9: { n:\"BrtBeginPCDSCSet\" },\n0x00DA: { n:\"BrtEndPCDSCSet\" },\n0x00DB: { n:\"BrtBeginPCDFGroup\" },\n0x00DC: { n:\"BrtEndPCDFGroup\" },\n0x00DD: { n:\"BrtBeginPCDFGItems\" },\n0x00DE: { n:\"BrtEndPCDFGItems\" },\n0x00DF: { n:\"BrtBeginPCDFGRange\" },\n0x00E0: { n:\"BrtEndPCDFGRange\" },\n0x00E1: { n:\"BrtBeginPCDFGDiscrete\" },\n0x00E2: { n:\"BrtEndPCDFGDiscrete\" },\n0x00E3: { n:\"BrtBeginPCDSDTupleCache\" },\n0x00E4: { n:\"BrtEndPCDSDTupleCache\" },\n0x00E5: { n:\"BrtBeginPCDSDTCEntries\" },\n0x00E6: { n:\"BrtEndPCDSDTCEntries\" },\n0x00E7: { n:\"BrtBeginPCDSDTCEMembers\" },\n0x00E8: { n:\"BrtEndPCDSDTCEMembers\" },\n0x00E9: { n:\"BrtBeginPCDSDTCEMember\" },\n0x00EA: { n:\"BrtEndPCDSDTCEMember\" },\n0x00EB: { n:\"BrtBeginPCDSDTCQueries\" },\n0x00EC: { n:\"BrtEndPCDSDTCQueries\" },\n0x00ED: { n:\"BrtBeginPCDSDTCQuery\" },\n0x00EE: { n:\"BrtEndPCDSDTCQuery\" },\n0x00EF: { n:\"BrtBeginPCDSDTCSets\" },\n0x00F0: { n:\"BrtEndPCDSDTCSets\" },\n0x00F1: { n:\"BrtBeginPCDSDTCSet\" },\n0x00F2: { n:\"BrtEndPCDSDTCSet\" },\n0x00F3: { n:\"BrtBeginPCDCalcItems\" },\n0x00F4: { n:\"BrtEndPCDCalcItems\" },\n0x00F5: { n:\"BrtBeginPCDCalcItem\" },\n0x00F6: { n:\"BrtEndPCDCalcItem\" },\n0x00F7: { n:\"BrtBeginPRule\" },\n0x00F8: { n:\"BrtEndPRule\" },\n0x00F9: { n:\"BrtBeginPRFilters\" },\n0x00FA: { n:\"BrtEndPRFilters\" },\n0x00FB: { n:\"BrtBeginPRFilter\" },\n0x00FC: { n:\"BrtEndPRFilter\" },\n0x00FD: { n:\"BrtBeginPNames\" },\n0x00FE: { n:\"BrtEndPNames\" },\n0x00FF: { n:\"BrtBeginPName\" },\n0x0100: { n:\"BrtEndPName\" },\n0x0101: { n:\"BrtBeginPNPairs\" },\n0x0102: { n:\"BrtEndPNPairs\" },\n0x0103: { n:\"BrtBeginPNPair\" },\n0x0104: { n:\"BrtEndPNPair\" },\n0x0105: { n:\"BrtBeginECWebProps\" },\n0x0106: { n:\"BrtEndECWebProps\" },\n0x0107: { n:\"BrtBeginEcWpTables\" },\n0x0108: { n:\"BrtEndECWPTables\" },\n0x0109: { n:\"BrtBeginECParams\" },\n0x010A: { n:\"BrtEndECParams\" },\n0x010B: { n:\"BrtBeginECParam\" },\n0x010C: { n:\"BrtEndECParam\" },\n0x010D: { n:\"BrtBeginPCDKPIs\" },\n0x010E: { n:\"BrtEndPCDKPIs\" },\n0x010F: { n:\"BrtBeginPCDKPI\" },\n0x0110: { n:\"BrtEndPCDKPI\" },\n0x0111: { n:\"BrtBeginDims\" },\n0x0112: { n:\"BrtEndDims\" },\n0x0113: { n:\"BrtBeginDim\" },\n0x0114: { n:\"BrtEndDim\" },\n0x0115: { n:\"BrtIndexPartEnd\" },\n0x0116: { n:\"BrtBeginStyleSheet\" },\n0x0117: { n:\"BrtEndStyleSheet\" },\n0x0118: { n:\"BrtBeginSXView\" },\n0x0119: { n:\"BrtEndSXVI\" },\n0x011A: { n:\"BrtBeginSXVI\" },\n0x011B: { n:\"BrtBeginSXVIs\" },\n0x011C: { n:\"BrtEndSXVIs\" },\n0x011D: { n:\"BrtBeginSXVD\" },\n0x011E: { n:\"BrtEndSXVD\" },\n0x011F: { n:\"BrtBeginSXVDs\" },\n0x0120: { n:\"BrtEndSXVDs\" },\n0x0121: { n:\"BrtBeginSXPI\" },\n0x0122: { n:\"BrtEndSXPI\" },\n0x0123: { n:\"BrtBeginSXPIs\" },\n0x0124: { n:\"BrtEndSXPIs\" },\n0x0125: { n:\"BrtBeginSXDI\" },\n0x0126: { n:\"BrtEndSXDI\" },\n0x0127: { n:\"BrtBeginSXDIs\" },\n0x0128: { n:\"BrtEndSXDIs\" },\n0x0129: { n:\"BrtBeginSXLI\" },\n0x012A: { n:\"BrtEndSXLI\" },\n0x012B: { n:\"BrtBeginSXLIRws\" },\n0x012C: { n:\"BrtEndSXLIRws\" },\n0x012D: { n:\"BrtBeginSXLICols\" },\n0x012E: { n:\"BrtEndSXLICols\" },\n0x012F: { n:\"BrtBeginSXFormat\" },\n0x0130: { n:\"BrtEndSXFormat\" },\n0x0131: { n:\"BrtBeginSXFormats\" },\n0x0132: { n:\"BrtEndSxFormats\" },\n0x0133: { n:\"BrtBeginSxSelect\" },\n0x0134: { n:\"BrtEndSxSelect\" },\n0x0135: { n:\"BrtBeginISXVDRws\" },\n0x0136: { n:\"BrtEndISXVDRws\" },\n0x0137: { n:\"BrtBeginISXVDCols\" },\n0x0138: { n:\"BrtEndISXVDCols\" },\n0x0139: { n:\"BrtEndSXLocation\" },\n0x013A: { n:\"BrtBeginSXLocation\" },\n0x013B: { n:\"BrtEndSXView\" },\n0x013C: { n:\"BrtBeginSXTHs\" },\n0x013D: { n:\"BrtEndSXTHs\" },\n0x013E: { n:\"BrtBeginSXTH\" },\n0x013F: { n:\"BrtEndSXTH\" },\n0x0140: { n:\"BrtBeginISXTHRws\" },\n0x0141: { n:\"BrtEndISXTHRws\" },\n0x0142: { n:\"BrtBeginISXTHCols\" },\n0x0143: { n:\"BrtEndISXTHCols\" },\n0x0144: { n:\"BrtBeginSXTDMPS\" },\n0x0145: { n:\"BrtEndSXTDMPs\" },\n0x0146: { n:\"BrtBeginSXTDMP\" },\n0x0147: { n:\"BrtEndSXTDMP\" },\n0x0148: { n:\"BrtBeginSXTHItems\" },\n0x0149: { n:\"BrtEndSXTHItems\" },\n0x014A: { n:\"BrtBeginSXTHItem\" },\n0x014B: { n:\"BrtEndSXTHItem\" },\n0x014C: { n:\"BrtBeginMetadata\" },\n0x014D: { n:\"BrtEndMetadata\" },\n0x014E: { n:\"BrtBeginEsmdtinfo\" },\n0x014F: { n:\"BrtMdtinfo\" },\n0x0150: { n:\"BrtEndEsmdtinfo\" },\n0x0151: { n:\"BrtBeginEsmdb\" },\n0x0152: { n:\"BrtEndEsmdb\" },\n0x0153: { n:\"BrtBeginEsfmd\" },\n0x0154: { n:\"BrtEndEsfmd\" },\n0x0155: { n:\"BrtBeginSingleCells\" },\n0x0156: { n:\"BrtEndSingleCells\" },\n0x0157: { n:\"BrtBeginList\" },\n0x0158: { n:\"BrtEndList\" },\n0x0159: { n:\"BrtBeginListCols\" },\n0x015A: { n:\"BrtEndListCols\" },\n0x015B: { n:\"BrtBeginListCol\" },\n0x015C: { n:\"BrtEndListCol\" },\n0x015D: { n:\"BrtBeginListXmlCPr\" },\n0x015E: { n:\"BrtEndListXmlCPr\" },\n0x015F: { n:\"BrtListCCFmla\" },\n0x0160: { n:\"BrtListTrFmla\" },\n0x0161: { n:\"BrtBeginExternals\" },\n0x0162: { n:\"BrtEndExternals\" },\n0x0163: { n:\"BrtSupBookSrc\", f:parse_RelID},\n0x0165: { n:\"BrtSupSelf\" },\n0x0166: { n:\"BrtSupSame\" },\n0x0167: { n:\"BrtSupTabs\" },\n0x0168: { n:\"BrtBeginSupBook\" },\n0x0169: { n:\"BrtPlaceholderName\" },\n0x016A: { n:\"BrtExternSheet\", f:parse_ExternSheet },\n0x016B: { n:\"BrtExternTableStart\" },\n0x016C: { n:\"BrtExternTableEnd\" },\n0x016E: { n:\"BrtExternRowHdr\" },\n0x016F: { n:\"BrtExternCellBlank\" },\n0x0170: { n:\"BrtExternCellReal\" },\n0x0171: { n:\"BrtExternCellBool\" },\n0x0172: { n:\"BrtExternCellError\" },\n0x0173: { n:\"BrtExternCellString\" },\n0x0174: { n:\"BrtBeginEsmdx\" },\n0x0175: { n:\"BrtEndEsmdx\" },\n0x0176: { n:\"BrtBeginMdxSet\" },\n0x0177: { n:\"BrtEndMdxSet\" },\n0x0178: { n:\"BrtBeginMdxMbrProp\" },\n0x0179: { n:\"BrtEndMdxMbrProp\" },\n0x017A: { n:\"BrtBeginMdxKPI\" },\n0x017B: { n:\"BrtEndMdxKPI\" },\n0x017C: { n:\"BrtBeginEsstr\" },\n0x017D: { n:\"BrtEndEsstr\" },\n0x017E: { n:\"BrtBeginPRFItem\" },\n0x017F: { n:\"BrtEndPRFItem\" },\n0x0180: { n:\"BrtBeginPivotCacheIDs\" },\n0x0181: { n:\"BrtEndPivotCacheIDs\" },\n0x0182: { n:\"BrtBeginPivotCacheID\" },\n0x0183: { n:\"BrtEndPivotCacheID\" },\n0x0184: { n:\"BrtBeginISXVIs\" },\n0x0185: { n:\"BrtEndISXVIs\" },\n0x0186: { n:\"BrtBeginColInfos\" },\n0x0187: { n:\"BrtEndColInfos\" },\n0x0188: { n:\"BrtBeginRwBrk\" },\n0x0189: { n:\"BrtEndRwBrk\" },\n0x018A: { n:\"BrtBeginColBrk\" },\n0x018B: { n:\"BrtEndColBrk\" },\n0x018C: { n:\"BrtBrk\" },\n0x018D: { n:\"BrtUserBookView\" },\n0x018E: { n:\"BrtInfo\" },\n0x018F: { n:\"BrtCUsr\" },\n0x0190: { n:\"BrtUsr\" },\n0x0191: { n:\"BrtBeginUsers\" },\n0x0193: { n:\"BrtEOF\" },\n0x0194: { n:\"BrtUCR\" },\n0x0195: { n:\"BrtRRInsDel\" },\n0x0196: { n:\"BrtRREndInsDel\" },\n0x0197: { n:\"BrtRRMove\" },\n0x0198: { n:\"BrtRREndMove\" },\n0x0199: { n:\"BrtRRChgCell\" },\n0x019A: { n:\"BrtRREndChgCell\" },\n0x019B: { n:\"BrtRRHeader\" },\n0x019C: { n:\"BrtRRUserView\" },\n0x019D: { n:\"BrtRRRenSheet\" },\n0x019E: { n:\"BrtRRInsertSh\" },\n0x019F: { n:\"BrtRRDefName\" },\n0x01A0: { n:\"BrtRRNote\" },\n0x01A1: { n:\"BrtRRConflict\" },\n0x01A2: { n:\"BrtRRTQSIF\" },\n0x01A3: { n:\"BrtRRFormat\" },\n0x01A4: { n:\"BrtRREndFormat\" },\n0x01A5: { n:\"BrtRRAutoFmt\" },\n0x01A6: { n:\"BrtBeginUserShViews\" },\n0x01A7: { n:\"BrtBeginUserShView\" },\n0x01A8: { n:\"BrtEndUserShView\" },\n0x01A9: { n:\"BrtEndUserShViews\" },\n0x01AA: { n:\"BrtArrFmla\", f:parse_BrtArrFmla },\n0x01AB: { n:\"BrtShrFmla\", f:parse_BrtShrFmla },\n0x01AC: { n:\"BrtTable\" },\n0x01AD: { n:\"BrtBeginExtConnections\" },\n0x01AE: { n:\"BrtEndExtConnections\" },\n0x01AF: { n:\"BrtBeginPCDCalcMems\" },\n0x01B0: { n:\"BrtEndPCDCalcMems\" },\n0x01B1: { n:\"BrtBeginPCDCalcMem\" },\n0x01B2: { n:\"BrtEndPCDCalcMem\" },\n0x01B3: { n:\"BrtBeginPCDHGLevels\" },\n0x01B4: { n:\"BrtEndPCDHGLevels\" },\n0x01B5: { n:\"BrtBeginPCDHGLevel\" },\n0x01B6: { n:\"BrtEndPCDHGLevel\" },\n0x01B7: { n:\"BrtBeginPCDHGLGroups\" },\n0x01B8: { n:\"BrtEndPCDHGLGroups\" },\n0x01B9: { n:\"BrtBeginPCDHGLGroup\" },\n0x01BA: { n:\"BrtEndPCDHGLGroup\" },\n0x01BB: { n:\"BrtBeginPCDHGLGMembers\" },\n0x01BC: { n:\"BrtEndPCDHGLGMembers\" },\n0x01BD: { n:\"BrtBeginPCDHGLGMember\" },\n0x01BE: { n:\"BrtEndPCDHGLGMember\" },\n0x01BF: { n:\"BrtBeginQSI\" },\n0x01C0: { n:\"BrtEndQSI\" },\n0x01C1: { n:\"BrtBeginQSIR\" },\n0x01C2: { n:\"BrtEndQSIR\" },\n0x01C3: { n:\"BrtBeginDeletedNames\" },\n0x01C4: { n:\"BrtEndDeletedNames\" },\n0x01C5: { n:\"BrtBeginDeletedName\" },\n0x01C6: { n:\"BrtEndDeletedName\" },\n0x01C7: { n:\"BrtBeginQSIFs\" },\n0x01C8: { n:\"BrtEndQSIFs\" },\n0x01C9: { n:\"BrtBeginQSIF\" },\n0x01CA: { n:\"BrtEndQSIF\" },\n0x01CB: { n:\"BrtBeginAutoSortScope\" },\n0x01CC: { n:\"BrtEndAutoSortScope\" },\n0x01CD: { n:\"BrtBeginConditionalFormatting\" },\n0x01CE: { n:\"BrtEndConditionalFormatting\" },\n0x01CF: { n:\"BrtBeginCFRule\" },\n0x01D0: { n:\"BrtEndCFRule\" },\n0x01D1: { n:\"BrtBeginIconSet\" },\n0x01D2: { n:\"BrtEndIconSet\" },\n0x01D3: { n:\"BrtBeginDatabar\" },\n0x01D4: { n:\"BrtEndDatabar\" },\n0x01D5: { n:\"BrtBeginColorScale\" },\n0x01D6: { n:\"BrtEndColorScale\" },\n0x01D7: { n:\"BrtCFVO\" },\n0x01D8: { n:\"BrtExternValueMeta\" },\n0x01D9: { n:\"BrtBeginColorPalette\" },\n0x01DA: { n:\"BrtEndColorPalette\" },\n0x01DB: { n:\"BrtIndexedColor\" },\n0x01DC: { n:\"BrtMargins\", f:parse_BrtMargins },\n0x01DD: { n:\"BrtPrintOptions\" },\n0x01DE: { n:\"BrtPageSetup\" },\n0x01DF: { n:\"BrtBeginHeaderFooter\" },\n0x01E0: { n:\"BrtEndHeaderFooter\" },\n0x01E1: { n:\"BrtBeginSXCrtFormat\" },\n0x01E2: { n:\"BrtEndSXCrtFormat\" },\n0x01E3: { n:\"BrtBeginSXCrtFormats\" },\n0x01E4: { n:\"BrtEndSXCrtFormats\" },\n0x01E5: { n:\"BrtWsFmtInfo\", f:parse_BrtWsFmtInfo },\n0x01E6: { n:\"BrtBeginMgs\" },\n0x01E7: { n:\"BrtEndMGs\" },\n0x01E8: { n:\"BrtBeginMGMaps\" },\n0x01E9: { n:\"BrtEndMGMaps\" },\n0x01EA: { n:\"BrtBeginMG\" },\n0x01EB: { n:\"BrtEndMG\" },\n0x01EC: { n:\"BrtBeginMap\" },\n0x01ED: { n:\"BrtEndMap\" },\n0x01EE: { n:\"BrtHLink\", f:parse_BrtHLink },\n0x01EF: { n:\"BrtBeginDCon\" },\n0x01F0: { n:\"BrtEndDCon\" },\n0x01F1: { n:\"BrtBeginDRefs\" },\n0x01F2: { n:\"BrtEndDRefs\" },\n0x01F3: { n:\"BrtDRef\" },\n0x01F4: { n:\"BrtBeginScenMan\" },\n0x01F5: { n:\"BrtEndScenMan\" },\n0x01F6: { n:\"BrtBeginSct\" },\n0x01F7: { n:\"BrtEndSct\" },\n0x01F8: { n:\"BrtSlc\" },\n0x01F9: { n:\"BrtBeginDXFs\" },\n0x01FA: { n:\"BrtEndDXFs\" },\n0x01FB: { n:\"BrtDXF\" },\n0x01FC: { n:\"BrtBeginTableStyles\" },\n0x01FD: { n:\"BrtEndTableStyles\" },\n0x01FE: { n:\"BrtBeginTableStyle\" },\n0x01FF: { n:\"BrtEndTableStyle\" },\n0x0200: { n:\"BrtTableStyleElement\" },\n0x0201: { n:\"BrtTableStyleClient\" },\n0x0202: { n:\"BrtBeginVolDeps\" },\n0x0203: { n:\"BrtEndVolDeps\" },\n0x0204: { n:\"BrtBeginVolType\" },\n0x0205: { n:\"BrtEndVolType\" },\n0x0206: { n:\"BrtBeginVolMain\" },\n0x0207: { n:\"BrtEndVolMain\" },\n0x0208: { n:\"BrtBeginVolTopic\" },\n0x0209: { n:\"BrtEndVolTopic\" },\n0x020A: { n:\"BrtVolSubtopic\" },\n0x020B: { n:\"BrtVolRef\" },\n0x020C: { n:\"BrtVolNum\" },\n0x020D: { n:\"BrtVolErr\" },\n0x020E: { n:\"BrtVolStr\" },\n0x020F: { n:\"BrtVolBool\" },\n0x0210: { n:\"BrtBeginCalcChain$\" },\n0x0211: { n:\"BrtEndCalcChain$\" },\n0x0212: { n:\"BrtBeginSortState\" },\n0x0213: { n:\"BrtEndSortState\" },\n0x0214: { n:\"BrtBeginSortCond\" },\n0x0215: { n:\"BrtEndSortCond\" },\n0x0216: { n:\"BrtBookProtection\" },\n0x0217: { n:\"BrtSheetProtection\" },\n0x0218: { n:\"BrtRangeProtection\" },\n0x0219: { n:\"BrtPhoneticInfo\" },\n0x021A: { n:\"BrtBeginECTxtWiz\" },\n0x021B: { n:\"BrtEndECTxtWiz\" },\n0x021C: { n:\"BrtBeginECTWFldInfoLst\" },\n0x021D: { n:\"BrtEndECTWFldInfoLst\" },\n0x021E: { n:\"BrtBeginECTwFldInfo\" },\n0x0224: { n:\"BrtFileSharing\" },\n0x0225: { n:\"BrtOleSize\" },\n0x0226: { n:\"BrtDrawing\", f:parse_RelID },\n0x0227: { n:\"BrtLegacyDrawing\" },\n0x0228: { n:\"BrtLegacyDrawingHF\" },\n0x0229: { n:\"BrtWebOpt\" },\n0x022A: { n:\"BrtBeginWebPubItems\" },\n0x022B: { n:\"BrtEndWebPubItems\" },\n0x022C: { n:\"BrtBeginWebPubItem\" },\n0x022D: { n:\"BrtEndWebPubItem\" },\n0x022E: { n:\"BrtBeginSXCondFmt\" },\n0x022F: { n:\"BrtEndSXCondFmt\" },\n0x0230: { n:\"BrtBeginSXCondFmts\" },\n0x0231: { n:\"BrtEndSXCondFmts\" },\n0x0232: { n:\"BrtBkHim\" },\n0x0234: { n:\"BrtColor\" },\n0x0235: { n:\"BrtBeginIndexedColors\" },\n0x0236: { n:\"BrtEndIndexedColors\" },\n0x0239: { n:\"BrtBeginMRUColors\" },\n0x023A: { n:\"BrtEndMRUColors\" },\n0x023C: { n:\"BrtMRUColor\" },\n0x023D: { n:\"BrtBeginDVals\" },\n0x023E: { n:\"BrtEndDVals\" },\n0x0241: { n:\"BrtSupNameStart\" },\n0x0242: { n:\"BrtSupNameValueStart\" },\n0x0243: { n:\"BrtSupNameValueEnd\" },\n0x0244: { n:\"BrtSupNameNum\" },\n0x0245: { n:\"BrtSupNameErr\" },\n0x0246: { n:\"BrtSupNameSt\" },\n0x0247: { n:\"BrtSupNameNil\" },\n0x0248: { n:\"BrtSupNameBool\" },\n0x0249: { n:\"BrtSupNameFmla\" },\n0x024A: { n:\"BrtSupNameBits\" },\n0x024B: { n:\"BrtSupNameEnd\" },\n0x024C: { n:\"BrtEndSupBook\" },\n0x024D: { n:\"BrtCellSmartTagProperty\" },\n0x024E: { n:\"BrtBeginCellSmartTag\" },\n0x024F: { n:\"BrtEndCellSmartTag\" },\n0x0250: { n:\"BrtBeginCellSmartTags\" },\n0x0251: { n:\"BrtEndCellSmartTags\" },\n0x0252: { n:\"BrtBeginSmartTags\" },\n0x0253: { n:\"BrtEndSmartTags\" },\n0x0254: { n:\"BrtSmartTagType\" },\n0x0255: { n:\"BrtBeginSmartTagTypes\" },\n0x0256: { n:\"BrtEndSmartTagTypes\" },\n0x0257: { n:\"BrtBeginSXFilters\" },\n0x0258: { n:\"BrtEndSXFilters\" },\n0x0259: { n:\"BrtBeginSXFILTER\" },\n0x025A: { n:\"BrtEndSXFilter\" },\n0x025B: { n:\"BrtBeginFills\" },\n0x025C: { n:\"BrtEndFills\" },\n0x025D: { n:\"BrtBeginCellWatches\" },\n0x025E: { n:\"BrtEndCellWatches\" },\n0x025F: { n:\"BrtCellWatch\" },\n0x0260: { n:\"BrtBeginCRErrs\" },\n0x0261: { n:\"BrtEndCRErrs\" },\n0x0262: { n:\"BrtCrashRecErr\" },\n0x0263: { n:\"BrtBeginFonts\" },\n0x0264: { n:\"BrtEndFonts\" },\n0x0265: { n:\"BrtBeginBorders\" },\n0x0266: { n:\"BrtEndBorders\" },\n0x0267: { n:\"BrtBeginFmts\" },\n0x0268: { n:\"BrtEndFmts\" },\n0x0269: { n:\"BrtBeginCellXFs\" },\n0x026A: { n:\"BrtEndCellXFs\" },\n0x026B: { n:\"BrtBeginStyles\" },\n0x026C: { n:\"BrtEndStyles\" },\n0x0271: { n:\"BrtBigName\" },\n0x0272: { n:\"BrtBeginCellStyleXFs\" },\n0x0273: { n:\"BrtEndCellStyleXFs\" },\n0x0274: { n:\"BrtBeginComments\" },\n0x0275: { n:\"BrtEndComments\" },\n0x0276: { n:\"BrtBeginCommentAuthors\" },\n0x0277: { n:\"BrtEndCommentAuthors\" },\n0x0278: { n:\"BrtCommentAuthor\", f:parse_BrtCommentAuthor },\n0x0279: { n:\"BrtBeginCommentList\" },\n0x027A: { n:\"BrtEndCommentList\" },\n0x027B: { n:\"BrtBeginComment\", f:parse_BrtBeginComment},\n0x027C: { n:\"BrtEndComment\" },\n0x027D: { n:\"BrtCommentText\", f:parse_BrtCommentText },\n0x027E: { n:\"BrtBeginOleObjects\" },\n0x027F: { n:\"BrtOleObject\" },\n0x0280: { n:\"BrtEndOleObjects\" },\n0x0281: { n:\"BrtBeginSxrules\" },\n0x0282: { n:\"BrtEndSxRules\" },\n0x0283: { n:\"BrtBeginActiveXControls\" },\n0x0284: { n:\"BrtActiveX\" },\n0x0285: { n:\"BrtEndActiveXControls\" },\n0x0286: { n:\"BrtBeginPCDSDTCEMembersSortBy\" },\n0x0288: { n:\"BrtBeginCellIgnoreECs\" },\n0x0289: { n:\"BrtCellIgnoreEC\" },\n0x028A: { n:\"BrtEndCellIgnoreECs\" },\n0x028B: { n:\"BrtCsProp\", f:parse_BrtCsProp },\n0x028C: { n:\"BrtCsPageSetup\" },\n0x028D: { n:\"BrtBeginUserCsViews\" },\n0x028E: { n:\"BrtEndUserCsViews\" },\n0x028F: { n:\"BrtBeginUserCsView\" },\n0x0290: { n:\"BrtEndUserCsView\" },\n0x0291: { n:\"BrtBeginPcdSFCIEntries\" },\n0x0292: { n:\"BrtEndPCDSFCIEntries\" },\n0x0293: { n:\"BrtPCDSFCIEntry\" },\n0x0294: { n:\"BrtBeginListParts\" },\n0x0295: { n:\"BrtListPart\" },\n0x0296: { n:\"BrtEndListParts\" },\n0x0297: { n:\"BrtSheetCalcProp\" },\n0x0298: { n:\"BrtBeginFnGroup\" },\n0x0299: { n:\"BrtFnGroup\" },\n0x029A: { n:\"BrtEndFnGroup\" },\n0x029B: { n:\"BrtSupAddin\" },\n0x029C: { n:\"BrtSXTDMPOrder\" },\n0x029D: { n:\"BrtCsProtection\" },\n0x029F: { n:\"BrtBeginWsSortMap\" },\n0x02A0: { n:\"BrtEndWsSortMap\" },\n0x02A1: { n:\"BrtBeginRRSort\" },\n0x02A2: { n:\"BrtEndRRSort\" },\n0x02A3: { n:\"BrtRRSortItem\" },\n0x02A4: { n:\"BrtFileSharingIso\" },\n0x02A5: { n:\"BrtBookProtectionIso\" },\n0x02A6: { n:\"BrtSheetProtectionIso\" },\n0x02A7: { n:\"BrtCsProtectionIso\" },\n0x02A8: { n:\"BrtRangeProtectionIso\" },\n0x02A9: { n:\"BrtDValList\" },\n0x0400: { n:\"BrtRwDescent\" },\n0x0401: { n:\"BrtKnownFonts\" },\n0x0402: { n:\"BrtBeginSXTupleSet\" },\n0x0403: { n:\"BrtEndSXTupleSet\" },\n0x0404: { n:\"BrtBeginSXTupleSetHeader\" },\n0x0405: { n:\"BrtEndSXTupleSetHeader\" },\n0x0406: { n:\"BrtSXTupleSetHeaderItem\" },\n0x0407: { n:\"BrtBeginSXTupleSetData\" },\n0x0408: { n:\"BrtEndSXTupleSetData\" },\n0x0409: { n:\"BrtBeginSXTupleSetRow\" },\n0x040A: { n:\"BrtEndSXTupleSetRow\" },\n0x040B: { n:\"BrtSXTupleSetRowItem\" },\n0x040C: { n:\"BrtNameExt\" },\n0x040D: { n:\"BrtPCDH14\" },\n0x040E: { n:\"BrtBeginPCDCalcMem14\" },\n0x040F: { n:\"BrtEndPCDCalcMem14\" },\n0x0410: { n:\"BrtSXTH14\" },\n0x0411: { n:\"BrtBeginSparklineGroup\" },\n0x0412: { n:\"BrtEndSparklineGroup\" },\n0x0413: { n:\"BrtSparkline\" },\n0x0414: { n:\"BrtSXDI14\" },\n0x0415: { n:\"BrtWsFmtInfoEx14\" },\n0x0416: { n:\"BrtBeginConditionalFormatting14\" },\n0x0417: { n:\"BrtEndConditionalFormatting14\" },\n0x0418: { n:\"BrtBeginCFRule14\" },\n0x0419: { n:\"BrtEndCFRule14\" },\n0x041A: { n:\"BrtCFVO14\" },\n0x041B: { n:\"BrtBeginDatabar14\" },\n0x041C: { n:\"BrtBeginIconSet14\" },\n0x041D: { n:\"BrtDVal14\", f: parse_BrtDVal14 },\n0x041E: { n:\"BrtBeginDVals14\" },\n0x041F: { n:\"BrtColor14\" },\n0x0420: { n:\"BrtBeginSparklines\" },\n0x0421: { n:\"BrtEndSparklines\" },\n0x0422: { n:\"BrtBeginSparklineGroups\" },\n0x0423: { n:\"BrtEndSparklineGroups\" },\n0x0425: { n:\"BrtSXVD14\" },\n0x0426: { n:\"BrtBeginSXView14\" },\n0x0427: { n:\"BrtEndSXView14\" },\n0x0428: { n:\"BrtBeginSXView16\" },\n0x0429: { n:\"BrtEndSXView16\" },\n0x042A: { n:\"BrtBeginPCD14\" },\n0x042B: { n:\"BrtEndPCD14\" },\n0x042C: { n:\"BrtBeginExtConn14\" },\n0x042D: { n:\"BrtEndExtConn14\" },\n0x042E: { n:\"BrtBeginSlicerCacheIDs\" },\n0x042F: { n:\"BrtEndSlicerCacheIDs\" },\n0x0430: { n:\"BrtBeginSlicerCacheID\" },\n0x0431: { n:\"BrtEndSlicerCacheID\" },\n0x0433: { n:\"BrtBeginSlicerCache\" },\n0x0434: { n:\"BrtEndSlicerCache\" },\n0x0435: { n:\"BrtBeginSlicerCacheDef\" },\n0x0436: { n:\"BrtEndSlicerCacheDef\" },\n0x0437: { n:\"BrtBeginSlicersEx\" },\n0x0438: { n:\"BrtEndSlicersEx\" },\n0x0439: { n:\"BrtBeginSlicerEx\" },\n0x043A: { n:\"BrtEndSlicerEx\" },\n0x043B: { n:\"BrtBeginSlicer\" },\n0x043C: { n:\"BrtEndSlicer\" },\n0x043D: { n:\"BrtSlicerCachePivotTables\" },\n0x043E: { n:\"BrtBeginSlicerCacheOlapImpl\" },\n0x043F: { n:\"BrtEndSlicerCacheOlapImpl\" },\n0x0440: { n:\"BrtBeginSlicerCacheLevelsData\" },\n0x0441: { n:\"BrtEndSlicerCacheLevelsData\" },\n0x0442: { n:\"BrtBeginSlicerCacheLevelData\" },\n0x0443: { n:\"BrtEndSlicerCacheLevelData\" },\n0x0444: { n:\"BrtBeginSlicerCacheSiRanges\" },\n0x0445: { n:\"BrtEndSlicerCacheSiRanges\" },\n0x0446: { n:\"BrtBeginSlicerCacheSiRange\" },\n0x0447: { n:\"BrtEndSlicerCacheSiRange\" },\n0x0448: { n:\"BrtSlicerCacheOlapItem\" },\n0x0449: { n:\"BrtBeginSlicerCacheSelections\" },\n0x044A: { n:\"BrtSlicerCacheSelection\" },\n0x044B: { n:\"BrtEndSlicerCacheSelections\" },\n0x044C: { n:\"BrtBeginSlicerCacheNative\" },\n0x044D: { n:\"BrtEndSlicerCacheNative\" },\n0x044E: { n:\"BrtSlicerCacheNativeItem\" },\n0x044F: { n:\"BrtRangeProtection14\" },\n0x0450: { n:\"BrtRangeProtectionIso14\" },\n0x0451: { n:\"BrtCellIgnoreEC14\" },\n0x0457: { n:\"BrtList14\" },\n0x0458: { n:\"BrtCFIcon\" },\n0x0459: { n:\"BrtBeginSlicerCachesPivotCacheIDs\" },\n0x045A: { n:\"BrtEndSlicerCachesPivotCacheIDs\" },\n0x045B: { n:\"BrtBeginSlicers\" },\n0x045C: { n:\"BrtEndSlicers\" },\n0x045D: { n:\"BrtWbProp14\" },\n0x045E: { n:\"BrtBeginSXEdit\" },\n0x045F: { n:\"BrtEndSXEdit\" },\n0x0460: { n:\"BrtBeginSXEdits\" },\n0x0461: { n:\"BrtEndSXEdits\" },\n0x0462: { n:\"BrtBeginSXChange\" },\n0x0463: { n:\"BrtEndSXChange\" },\n0x0464: { n:\"BrtBeginSXChanges\" },\n0x0465: { n:\"BrtEndSXChanges\" },\n0x0466: { n:\"BrtSXTupleItems\" },\n0x0468: { n:\"BrtBeginSlicerStyle\" },\n0x0469: { n:\"BrtEndSlicerStyle\" },\n0x046A: { n:\"BrtSlicerStyleElement\" },\n0x046B: { n:\"BrtBeginStyleSheetExt14\" },\n0x046C: { n:\"BrtEndStyleSheetExt14\" },\n0x046D: { n:\"BrtBeginSlicerCachesPivotCacheID\" },\n0x046E: { n:\"BrtEndSlicerCachesPivotCacheID\" },\n0x046F: { n:\"BrtBeginConditionalFormattings\" },\n0x0470: { n:\"BrtEndConditionalFormattings\" },\n0x0471: { n:\"BrtBeginPCDCalcMemExt\" },\n0x0472: { n:\"BrtEndPCDCalcMemExt\" },\n0x0473: { n:\"BrtBeginPCDCalcMemsExt\" },\n0x0474: { n:\"BrtEndPCDCalcMemsExt\" },\n0x0475: { n:\"BrtPCDField14\" },\n0x0476: { n:\"BrtBeginSlicerStyles\" },\n0x0477: { n:\"BrtEndSlicerStyles\" },\n0x0478: { n:\"BrtBeginSlicerStyleElements\" },\n0x0479: { n:\"BrtEndSlicerStyleElements\" },\n0x047A: { n:\"BrtCFRuleExt\" },\n0x047B: { n:\"BrtBeginSXCondFmt14\" },\n0x047C: { n:\"BrtEndSXCondFmt14\" },\n0x047D: { n:\"BrtBeginSXCondFmts14\" },\n0x047E: { n:\"BrtEndSXCondFmts14\" },\n0x0480: { n:\"BrtBeginSortCond14\" },\n0x0481: { n:\"BrtEndSortCond14\" },\n0x0482: { n:\"BrtEndDVals14\" },\n0x0483: { n:\"BrtEndIconSet14\" },\n0x0484: { n:\"BrtEndDatabar14\" },\n0x0485: { n:\"BrtBeginColorScale14\" },\n0x0486: { n:\"BrtEndColorScale14\" },\n0x0487: { n:\"BrtBeginSxrules14\" },\n0x0488: { n:\"BrtEndSxrules14\" },\n0x0489: { n:\"BrtBeginPRule14\" },\n0x048A: { n:\"BrtEndPRule14\" },\n0x048B: { n:\"BrtBeginPRFilters14\" },\n0x048C: { n:\"BrtEndPRFilters14\" },\n0x048D: { n:\"BrtBeginPRFilter14\" },\n0x048E: { n:\"BrtEndPRFilter14\" },\n0x048F: { n:\"BrtBeginPRFItem14\" },\n0x0490: { n:\"BrtEndPRFItem14\" },\n0x0491: { n:\"BrtBeginCellIgnoreECs14\" },\n0x0492: { n:\"BrtEndCellIgnoreECs14\" },\n0x0493: { n:\"BrtDxf14\" },\n0x0494: { n:\"BrtBeginDxF14s\" },\n0x0495: { n:\"BrtEndDxf14s\" },\n0x0499: { n:\"BrtFilter14\" },\n0x049A: { n:\"BrtBeginCustomFilters14\" },\n0x049C: { n:\"BrtCustomFilter14\" },\n0x049D: { n:\"BrtIconFilter14\" },\n0x049E: { n:\"BrtPivotCacheConnectionName\" },\n0x0800: { n:\"BrtBeginDecoupledPivotCacheIDs\" },\n0x0801: { n:\"BrtEndDecoupledPivotCacheIDs\" },\n0x0802: { n:\"BrtDecoupledPivotCacheID\" },\n0x0803: { n:\"BrtBeginPivotTableRefs\" },\n0x0804: { n:\"BrtEndPivotTableRefs\" },\n0x0805: { n:\"BrtPivotTableRef\" },\n0x0806: { n:\"BrtSlicerCacheBookPivotTables\" },\n0x0807: { n:\"BrtBeginSxvcells\" },\n0x0808: { n:\"BrtEndSxvcells\" },\n0x0809: { n:\"BrtBeginSxRow\" },\n0x080A: { n:\"BrtEndSxRow\" },\n0x080C: { n:\"BrtPcdCalcMem15\" },\n0x0813: { n:\"BrtQsi15\" },\n0x0814: { n:\"BrtBeginWebExtensions\" },\n0x0815: { n:\"BrtEndWebExtensions\" },\n0x0816: { n:\"BrtWebExtension\" },\n0x0817: { n:\"BrtAbsPath15\" },\n0x0818: { n:\"BrtBeginPivotTableUISettings\" },\n0x0819: { n:\"BrtEndPivotTableUISettings\" },\n0x081B: { n:\"BrtTableSlicerCacheIDs\" },\n0x081C: { n:\"BrtTableSlicerCacheID\" },\n0x081D: { n:\"BrtBeginTableSlicerCache\" },\n0x081E: { n:\"BrtEndTableSlicerCache\" },\n0x081F: { n:\"BrtSxFilter15\" },\n0x0820: { n:\"BrtBeginTimelineCachePivotCacheIDs\" },\n0x0821: { n:\"BrtEndTimelineCachePivotCacheIDs\" },\n0x0822: { n:\"BrtTimelineCachePivotCacheID\" },\n0x0823: { n:\"BrtBeginTimelineCacheIDs\" },\n0x0824: { n:\"BrtEndTimelineCacheIDs\" },\n0x0825: { n:\"BrtBeginTimelineCacheID\" },\n0x0826: { n:\"BrtEndTimelineCacheID\" },\n0x0827: { n:\"BrtBeginTimelinesEx\" },\n0x0828: { n:\"BrtEndTimelinesEx\" },\n0x0829: { n:\"BrtBeginTimelineEx\" },\n0x082A: { n:\"BrtEndTimelineEx\" },\n0x082B: { n:\"BrtWorkBookPr15\" },\n0x082C: { n:\"BrtPCDH15\" },\n0x082D: { n:\"BrtBeginTimelineStyle\" },\n0x082E: { n:\"BrtEndTimelineStyle\" },\n0x082F: { n:\"BrtTimelineStyleElement\" },\n0x0830: { n:\"BrtBeginTimelineStylesheetExt15\" },\n0x0831: { n:\"BrtEndTimelineStylesheetExt15\" },\n0x0832: { n:\"BrtBeginTimelineStyles\" },\n0x0833: { n:\"BrtEndTimelineStyles\" },\n0x0834: { n:\"BrtBeginTimelineStyleElements\" },\n0x0835: { n:\"BrtEndTimelineStyleElements\" },\n0x0836: { n:\"BrtDxf15\" },\n0x0837: { n:\"BrtBeginDxfs15\" },\n0x0838: { n:\"brtEndDxfs15\" },\n0x0839: { n:\"BrtSlicerCacheHideItemsWithNoData\" },\n0x083A: { n:\"BrtBeginItemUniqueNames\" },\n0x083B: { n:\"BrtEndItemUniqueNames\" },\n0x083C: { n:\"BrtItemUniqueName\" },\n0x083D: { n:\"BrtBeginExtConn15\" },\n0x083E: { n:\"BrtEndExtConn15\" },\n0x083F: { n:\"BrtBeginOledbPr15\" },\n0x0840: { n:\"BrtEndOledbPr15\" },\n0x0841: { n:\"BrtBeginDataFeedPr15\" },\n0x0842: { n:\"BrtEndDataFeedPr15\" },\n0x0843: { n:\"BrtTextPr15\" },\n0x0844: { n:\"BrtRangePr15\" },\n0x0845: { n:\"BrtDbCommand15\" },\n0x0846: { n:\"BrtBeginDbTables15\" },\n0x0847: { n:\"BrtEndDbTables15\" },\n0x0848: { n:\"BrtDbTable15\" },\n0x0849: { n:\"BrtBeginDataModel\" },\n0x084A: { n:\"BrtEndDataModel\" },\n0x084B: { n:\"BrtBeginModelTables\" },\n0x084C: { n:\"BrtEndModelTables\" },\n0x084D: { n:\"BrtModelTable\" },\n0x084E: { n:\"BrtBeginModelRelationships\" },\n0x084F: { n:\"BrtEndModelRelationships\" },\n0x0850: { n:\"BrtModelRelationship\" },\n0x0851: { n:\"BrtBeginECTxtWiz15\" },\n0x0852: { n:\"BrtEndECTxtWiz15\" },\n0x0853: { n:\"BrtBeginECTWFldInfoLst15\" },\n0x0854: { n:\"BrtEndECTWFldInfoLst15\" },\n0x0855: { n:\"BrtBeginECTWFldInfo15\" },\n0x0856: { n:\"BrtFieldListActiveItem\" },\n0x0857: { n:\"BrtPivotCacheIdVersion\" },\n0x0858: { n:\"BrtSXDI15\" },\n0x0859: { n:\"BrtBeginModelTimeGroupings\" },\n0x085A: { n:\"BrtEndModelTimeGroupings\" },\n0x085B: { n:\"BrtBeginModelTimeGrouping\" },\n0x085C: { n:\"BrtEndModelTimeGrouping\" },\n0x085D: { n:\"BrtModelTimeGroupingCalcCol\" },\n0x0C00: { n:\"BrtUid\" },\n0x0C01: { n:\"BrtRevisionPtr\" },\n0x13e7: { n:\"BrtBeginCalcFeatures\" },\n0x13e8: { n:\"BrtEndCalcFeatures\" },\n0x13e9: { n:\"BrtCalcFeature\" },\n0xFFFF: { n:\"\" }\n};\n\nvar XLSBRE = evert_key(XLSBRecordEnum, 'n');\n\n/* [MS-XLS] 2.3 Record Enumeration */\nvar XLSRecordEnum = {\n0x0003: { n:\"BIFF2NUM\", f:parse_BIFF2NUM },\n0x0004: { n:\"BIFF2STR\", f:parse_BIFF2STR },\n0x0006: { n:\"Formula\", f:parse_Formula },\n0x0009: { n:'BOF', f:parse_BOF },\n0x000a: { n:'EOF', f:parsenoop2 },\n0x000c: { n:\"CalcCount\", f:parseuint16 },\n0x000d: { n:\"CalcMode\", f:parseuint16 },\n0x000e: { n:\"CalcPrecision\", f:parsebool },\n0x000f: { n:\"CalcRefMode\", f:parsebool },\n0x0010: { n:\"CalcDelta\", f:parse_Xnum },\n0x0011: { n:\"CalcIter\", f:parsebool },\n0x0012: { n:\"Protect\", f:parsebool },\n0x0013: { n:\"Password\", f:parseuint16 },\n0x0014: { n:\"Header\", f:parse_XLHeaderFooter },\n0x0015: { n:\"Footer\", f:parse_XLHeaderFooter },\n0x0017: { n:\"ExternSheet\", f:parse_ExternSheet },\n0x0018: { n:\"Lbl\", f:parse_Lbl },\n0x0019: { n:\"WinProtect\", f:parsebool },\n0x001a: { n:\"VerticalPageBreaks\" },\n0x001b: { n:\"HorizontalPageBreaks\" },\n0x001c: { n:\"Note\", f:parse_Note },\n0x001d: { n:\"Selection\" },\n0x0022: { n:\"Date1904\", f:parsebool },\n0x0023: { n:\"ExternName\", f:parse_ExternName },\n0x0024: { n:\"COLWIDTH\" },\n0x0026: { n:\"LeftMargin\", f:parse_Xnum },\n0x0027: { n:\"RightMargin\", f:parse_Xnum },\n0x0028: { n:\"TopMargin\", f:parse_Xnum },\n0x0029: { n:\"BottomMargin\", f:parse_Xnum },\n0x002a: { n:\"PrintRowCol\", f:parsebool },\n0x002b: { n:\"PrintGrid\", f:parsebool },\n0x002f: { n:\"FilePass\", f:parse_FilePass },\n0x0031: { n:\"Font\", f:parse_Font },\n0x0033: { n:\"PrintSize\", f:parseuint16 },\n0x003c: { n:\"Continue\" },\n0x003d: { n:\"Window1\", f:parse_Window1 },\n0x0040: { n:\"Backup\", f:parsebool },\n0x0041: { n:\"Pane\", f:parse_Pane },\n0x0042: { n:'CodePage', f:parseuint16 },\n0x004d: { n:\"Pls\" },\n0x0050: { n:\"DCon\" },\n0x0051: { n:\"DConRef\" },\n0x0052: { n:\"DConName\" },\n0x0055: { n:\"DefColWidth\", f:parseuint16 },\n0x0059: { n:\"XCT\" },\n0x005a: { n:\"CRN\" },\n0x005b: { n:\"FileSharing\" },\n0x005c: { n:'WriteAccess', f:parse_WriteAccess },\n0x005d: { n:\"Obj\", f:parse_Obj },\n0x005e: { n:\"Uncalced\" },\n0x005f: { n:\"CalcSaveRecalc\", f:parsebool },\n0x0060: { n:\"Template\" },\n0x0061: { n:\"Intl\" },\n0x0063: { n:\"ObjProtect\", f:parsebool },\n0x007d: { n:\"ColInfo\", f:parse_ColInfo },\n0x0080: { n:\"Guts\", f:parse_Guts },\n0x0081: { n:\"WsBool\", f:parse_WsBool },\n0x0082: { n:\"GridSet\", f:parseuint16 },\n0x0083: { n:\"HCenter\", f:parsebool },\n0x0084: { n:\"VCenter\", f:parsebool },\n0x0085: { n:'BoundSheet8', f:parse_BoundSheet8 },\n0x0086: { n:\"WriteProtect\" },\n0x008c: { n:\"Country\", f:parse_Country },\n0x008d: { n:\"HideObj\", f:parseuint16 },\n0x0090: { n:\"Sort\" },\n0x0092: { n:\"Palette\", f:parse_Palette },\n0x0097: { n:\"Sync\" },\n0x0098: { n:\"LPr\" },\n0x0099: { n:\"DxGCol\" },\n0x009a: { n:\"FnGroupName\" },\n0x009b: { n:\"FilterMode\" },\n0x009c: { n:\"BuiltInFnGroupCount\", f:parseuint16 },\n0x009d: { n:\"AutoFilterInfo\" },\n0x009e: { n:\"AutoFilter\" },\n0x00a0: { n:\"Scl\", f:parse_Scl },\n0x00a1: { n:\"Setup\", f:parse_Setup },\n0x00ae: { n:\"ScenMan\" },\n0x00af: { n:\"SCENARIO\" },\n0x00b0: { n:\"SxView\" },\n0x00b1: { n:\"Sxvd\" },\n0x00b2: { n:\"SXVI\" },\n0x00b4: { n:\"SxIvd\" },\n0x00b5: { n:\"SXLI\" },\n0x00b6: { n:\"SXPI\" },\n0x00b8: { n:\"DocRoute\" },\n0x00b9: { n:\"RecipName\" },\n0x00bd: { n:\"MulRk\", f:parse_MulRk },\n0x00be: { n:\"MulBlank\", f:parse_MulBlank },\n0x00c1: { n:'Mms', f:parsenoop2 },\n0x00c5: { n:\"SXDI\" },\n0x00c6: { n:\"SXDB\" },\n0x00c7: { n:\"SXFDB\" },\n0x00c8: { n:\"SXDBB\" },\n0x00c9: { n:\"SXNum\" },\n0x00ca: { n:\"SxBool\", f:parsebool },\n0x00cb: { n:\"SxErr\" },\n0x00cc: { n:\"SXInt\" },\n0x00cd: { n:\"SXString\" },\n0x00ce: { n:\"SXDtr\" },\n0x00cf: { n:\"SxNil\" },\n0x00d0: { n:\"SXTbl\" },\n0x00d1: { n:\"SXTBRGIITM\" },\n0x00d2: { n:\"SxTbpg\" },\n0x00d3: { n:\"ObProj\" },\n0x00d5: { n:\"SXStreamID\" },\n0x00d7: { n:\"DBCell\" },\n0x00d8: { n:\"SXRng\" },\n0x00d9: { n:\"SxIsxoper\" },\n0x00da: { n:\"BookBool\", f:parseuint16 },\n0x00dc: { n:\"DbOrParamQry\" },\n0x00dd: { n:\"ScenarioProtect\", f:parsebool },\n0x00de: { n:\"OleObjectSize\" },\n0x00e0: { n:\"XF\", f:parse_XF },\n0x00e1: { n:'InterfaceHdr', f:parse_InterfaceHdr },\n0x00e2: { n:'InterfaceEnd', f:parsenoop2 },\n0x00e3: { n:\"SXVS\" },\n0x00e5: { n:\"MergeCells\", f:parse_MergeCells },\n0x00e9: { n:\"BkHim\" },\n0x00eb: { n:\"MsoDrawingGroup\" },\n0x00ec: { n:\"MsoDrawing\" },\n0x00ed: { n:\"MsoDrawingSelection\" },\n0x00ef: { n:\"PhoneticInfo\" },\n0x00f0: { n:\"SxRule\" },\n0x00f1: { n:\"SXEx\" },\n0x00f2: { n:\"SxFilt\" },\n0x00f4: { n:\"SxDXF\" },\n0x00f5: { n:\"SxItm\" },\n0x00f6: { n:\"SxName\" },\n0x00f7: { n:\"SxSelect\" },\n0x00f8: { n:\"SXPair\" },\n0x00f9: { n:\"SxFmla\" },\n0x00fb: { n:\"SxFormat\" },\n0x00fc: { n:\"SST\", f:parse_SST },\n0x00fd: { n:\"LabelSst\", f:parse_LabelSst },\n0x00ff: { n:\"ExtSST\", f:parse_ExtSST },\n0x0100: { n:\"SXVDEx\" },\n0x0103: { n:\"SXFormula\" },\n0x0122: { n:\"SXDBEx\" },\n0x0137: { n:\"RRDInsDel\" },\n0x0138: { n:\"RRDHead\" },\n0x013b: { n:\"RRDChgCell\" },\n0x013d: { n:\"RRTabId\", f:parseuint16a },\n0x013e: { n:\"RRDRenSheet\" },\n0x013f: { n:\"RRSort\" },\n0x0140: { n:\"RRDMove\" },\n0x014a: { n:\"RRFormat\" },\n0x014b: { n:\"RRAutoFmt\" },\n0x014d: { n:\"RRInsertSh\" },\n0x014e: { n:\"RRDMoveBegin\" },\n0x014f: { n:\"RRDMoveEnd\" },\n0x0150: { n:\"RRDInsDelBegin\" },\n0x0151: { n:\"RRDInsDelEnd\" },\n0x0152: { n:\"RRDConflict\" },\n0x0153: { n:\"RRDDefName\" },\n0x0154: { n:\"RRDRstEtxp\" },\n0x015f: { n:\"LRng\" },\n0x0160: { n:\"UsesELFs\", f:parsebool },\n0x0161: { n:\"DSF\", f:parsenoop2 },\n0x0191: { n:\"CUsr\" },\n0x0192: { n:\"CbUsr\" },\n0x0193: { n:\"UsrInfo\" },\n0x0194: { n:\"UsrExcl\" },\n0x0195: { n:\"FileLock\" },\n0x0196: { n:\"RRDInfo\" },\n0x0197: { n:\"BCUsrs\" },\n0x0198: { n:\"UsrChk\" },\n0x01a9: { n:\"UserBView\" },\n0x01aa: { n:\"UserSViewBegin\" },\n0x01ab: { n:\"UserSViewEnd\" },\n0x01ac: { n:\"RRDUserView\" },\n0x01ad: { n:\"Qsi\" },\n0x01ae: { n:\"SupBook\", f:parse_SupBook },\n0x01af: { n:\"Prot4Rev\", f:parsebool },\n0x01b0: { n:\"CondFmt\" },\n0x01b1: { n:\"CF\" },\n0x01b2: { n:\"DVal\" },\n0x01b5: { n:\"DConBin\" },\n0x01b6: { n:\"TxO\", f:parse_TxO },\n0x01b7: { n:\"RefreshAll\", f:parsebool },\n0x01b8: { n:\"HLink\", f:parse_HLink },\n0x01b9: { n:\"Lel\" },\n0x01ba: { n:\"CodeName\", f:parse_XLUnicodeString },\n0x01bb: { n:\"SXFDBType\" },\n0x01bc: { n:\"Prot4RevPass\", f:parseuint16 },\n0x01bd: { n:\"ObNoMacros\" },\n0x01be: { n:\"Dv\" },\n0x01c0: { n:\"Excel9File\", f:parsenoop2 },\n0x01c1: { n:\"RecalcId\", f:parse_RecalcId, r:2},\n0x01c2: { n:\"EntExU2\", f:parsenoop2 },\n0x0200: { n:\"Dimensions\", f:parse_Dimensions },\n0x0201: { n:\"Blank\", f:parse_Blank },\n0x0203: { n:\"Number\", f:parse_Number },\n0x0204: { n:\"Label\", f:parse_Label },\n0x0205: { n:\"BoolErr\", f:parse_BoolErr },\n0x0206: { n:\"Formula\", f:parse_Formula },\n0x0207: { n:\"String\", f:parse_String },\n0x0208: { n:'Row', f:parse_Row },\n0x020b: { n:\"Index\" },\n0x0221: { n:\"Array\", f:parse_Array },\n0x0225: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n0x0236: { n:\"Table\" },\n0x023e: { n:\"Window2\", f:parse_Window2 },\n0x027e: { n:\"RK\", f:parse_RK },\n0x0293: { n:\"Style\" },\n0x0406: { n:\"Formula\", f:parse_Formula },\n0x0418: { n:\"BigName\" },\n0x041e: { n:\"Format\", f:parse_Format },\n0x043c: { n:\"ContinueBigName\" },\n0x04bc: { n:\"ShrFmla\", f:parse_ShrFmla },\n0x0800: { n:\"HLinkTooltip\", f:parse_HLinkTooltip },\n0x0801: { n:\"WebPub\" },\n0x0802: { n:\"QsiSXTag\" },\n0x0803: { n:\"DBQueryExt\" },\n0x0804: { n:\"ExtString\" },\n0x0805: { n:\"TxtQry\" },\n0x0806: { n:\"Qsir\" },\n0x0807: { n:\"Qsif\" },\n0x0808: { n:\"RRDTQSIF\" },\n0x0809: { n:'BOF', f:parse_BOF },\n0x080a: { n:\"OleDbConn\" },\n0x080b: { n:\"WOpt\" },\n0x080c: { n:\"SXViewEx\" },\n0x080d: { n:\"SXTH\" },\n0x080e: { n:\"SXPIEx\" },\n0x080f: { n:\"SXVDTEx\" },\n0x0810: { n:\"SXViewEx9\" },\n0x0812: { n:\"ContinueFrt\" },\n0x0813: { n:\"RealTimeData\" },\n0x0850: { n:\"ChartFrtInfo\" },\n0x0851: { n:\"FrtWrapper\" },\n0x0852: { n:\"StartBlock\" },\n0x0853: { n:\"EndBlock\" },\n0x0854: { n:\"StartObject\" },\n0x0855: { n:\"EndObject\" },\n0x0856: { n:\"CatLab\" },\n0x0857: { n:\"YMult\" },\n0x0858: { n:\"SXViewLink\" },\n0x0859: { n:\"PivotChartBits\" },\n0x085a: { n:\"FrtFontList\" },\n0x0862: { n:\"SheetExt\" },\n0x0863: { n:\"BookExt\", r:12},\n0x0864: { n:\"SXAddl\" },\n0x0865: { n:\"CrErr\" },\n0x0866: { n:\"HFPicture\" },\n0x0867: { n:'FeatHdr', f:parsenoop2 },\n0x0868: { n:\"Feat\" },\n0x086a: { n:\"DataLabExt\" },\n0x086b: { n:\"DataLabExtContents\" },\n0x086c: { n:\"CellWatch\" },\n0x0871: { n:\"FeatHdr11\" },\n0x0872: { n:\"Feature11\" },\n0x0874: { n:\"DropDownObjIds\" },\n0x0875: { n:\"ContinueFrt11\" },\n0x0876: { n:\"DConn\" },\n0x0877: { n:\"List12\" },\n0x0878: { n:\"Feature12\" },\n0x0879: { n:\"CondFmt12\" },\n0x087a: { n:\"CF12\" },\n0x087b: { n:\"CFEx\" },\n0x087c: { n:\"XFCRC\", f:parse_XFCRC, r:12 },\n0x087d: { n:\"XFExt\", f:parse_XFExt, r:12 },\n0x087e: { n:\"AutoFilter12\" },\n0x087f: { n:\"ContinueFrt12\" },\n0x0884: { n:\"MDTInfo\" },\n0x0885: { n:\"MDXStr\" },\n0x0886: { n:\"MDXTuple\" },\n0x0887: { n:\"MDXSet\" },\n0x0888: { n:\"MDXProp\" },\n0x0889: { n:\"MDXKPI\" },\n0x088a: { n:\"MDB\" },\n0x088b: { n:\"PLV\" },\n0x088c: { n:\"Compat12\", f:parsebool, r:12 },\n0x088d: { n:\"DXF\" },\n0x088e: { n:\"TableStyles\", r:12 },\n0x088f: { n:\"TableStyle\" },\n0x0890: { n:\"TableStyleElement\" },\n0x0892: { n:\"StyleExt\" },\n0x0893: { n:\"NamePublish\" },\n0x0894: { n:\"NameCmt\", f:parse_NameCmt, r:12 },\n0x0895: { n:\"SortData\" },\n0x0896: { n:\"Theme\", f:parse_Theme, r:12 },\n0x0897: { n:\"GUIDTypeLib\" },\n0x0898: { n:\"FnGrp12\" },\n0x0899: { n:\"NameFnGrp12\" },\n0x089a: { n:\"MTRSettings\", f:parse_MTRSettings, r:12 },\n0x089b: { n:\"CompressPictures\", f:parsenoop2 },\n0x089c: { n:\"HeaderFooter\" },\n0x089d: { n:\"CrtLayout12\" },\n0x089e: { n:\"CrtMlFrt\" },\n0x089f: { n:\"CrtMlFrtContinue\" },\n0x08a3: { n:\"ForceFullCalculation\", f:parse_ForceFullCalculation },\n0x08a4: { n:\"ShapePropsStream\" },\n0x08a5: { n:\"TextPropsStream\" },\n0x08a6: { n:\"RichTextStream\" },\n0x08a7: { n:\"CrtLayout12A\" },\n0x1001: { n:\"Units\" },\n0x1002: { n:\"Chart\" },\n0x1003: { n:\"Series\" },\n0x1006: { n:\"DataFormat\" },\n0x1007: { n:\"LineFormat\" },\n0x1009: { n:\"MarkerFormat\" },\n0x100a: { n:\"AreaFormat\" },\n0x100b: { n:\"PieFormat\" },\n0x100c: { n:\"AttachedLabel\" },\n0x100d: { n:\"SeriesText\" },\n0x1014: { n:\"ChartFormat\" },\n0x1015: { n:\"Legend\" },\n0x1016: { n:\"SeriesList\" },\n0x1017: { n:\"Bar\" },\n0x1018: { n:\"Line\" },\n0x1019: { n:\"Pie\" },\n0x101a: { n:\"Area\" },\n0x101b: { n:\"Scatter\" },\n0x101c: { n:\"CrtLine\" },\n0x101d: { n:\"Axis\" },\n0x101e: { n:\"Tick\" },\n0x101f: { n:\"ValueRange\" },\n0x1020: { n:\"CatSerRange\" },\n0x1021: { n:\"AxisLine\" },\n0x1022: { n:\"CrtLink\" },\n0x1024: { n:\"DefaultText\" },\n0x1025: { n:\"Text\" },\n0x1026: { n:\"FontX\", f:parseuint16 },\n0x1027: { n:\"ObjectLink\" },\n0x1032: { n:\"Frame\" },\n0x1033: { n:\"Begin\" },\n0x1034: { n:\"End\" },\n0x1035: { n:\"PlotArea\" },\n0x103a: { n:\"Chart3d\" },\n0x103c: { n:\"PicF\" },\n0x103d: { n:\"DropBar\" },\n0x103e: { n:\"Radar\" },\n0x103f: { n:\"Surf\" },\n0x1040: { n:\"RadarArea\" },\n0x1041: { n:\"AxisParent\" },\n0x1043: { n:\"LegendException\" },\n0x1044: { n:\"ShtProps\", f:parse_ShtProps },\n0x1045: { n:\"SerToCrt\" },\n0x1046: { n:\"AxesUsed\" },\n0x1048: { n:\"SBaseRef\" },\n0x104a: { n:\"SerParent\" },\n0x104b: { n:\"SerAuxTrend\" },\n0x104e: { n:\"IFmtRecord\" },\n0x104f: { n:\"Pos\" },\n0x1050: { n:\"AlRuns\" },\n0x1051: { n:\"BRAI\" },\n0x105b: { n:\"SerAuxErrBar\" },\n0x105c: { n:\"ClrtClient\", f:parse_ClrtClient },\n0x105d: { n:\"SerFmt\" },\n0x105f: { n:\"Chart3DBarShape\" },\n0x1060: { n:\"Fbi\" },\n0x1061: { n:\"BopPop\" },\n0x1062: { n:\"AxcExt\" },\n0x1063: { n:\"Dat\" },\n0x1064: { n:\"PlotGrowth\" },\n0x1065: { n:\"SIIndex\" },\n0x1066: { n:\"GelFrame\" },\n0x1067: { n:\"BopPopCustom\" },\n0x1068: { n:\"Fbi2\" },\n\n0x0000: { n:\"Dimensions\", f:parse_Dimensions },\n0x0002: { n:\"BIFF2INT\", f:parse_BIFF2INT },\n0x0005: { n:\"BoolErr\", f:parse_BoolErr },\n0x0007: { n:\"String\", f:parse_BIFF2STRING },\n0x0008: { n:\"BIFF2ROW\" },\n0x000b: { n:\"Index\" },\n0x0016: { n:\"ExternCount\", f:parseuint16 },\n0x001e: { n:\"BIFF2FORMAT\", f:parse_BIFF2Format },\n0x001f: { n:\"BIFF2FMTCNT\" }, /* 16-bit cnt of BIFF2FORMAT records */\n0x0020: { n:\"BIFF2COLINFO\" },\n0x0021: { n:\"Array\", f:parse_Array },\n0x0025: { n:\"DefaultRowHeight\", f:parse_DefaultRowHeight },\n0x0032: { n:\"BIFF2FONTXTRA\", f:parse_BIFF2FONTXTRA },\n0x0034: { n:\"DDEObjName\" },\n0x003e: { n:\"BIFF2WINDOW2\" },\n0x0043: { n:\"BIFF2XF\" },\n0x0045: { n:\"BIFF2FONTCLR\" },\n0x0056: { n:\"BIFF4FMTCNT\" }, /* 16-bit cnt, similar to BIFF2 */\n0x007e: { n:\"RK\" }, /* Not necessarily same as 0x027e */\n0x007f: { n:\"ImData\", f:parse_ImData },\n0x0087: { n:\"Addin\" },\n0x0088: { n:\"Edg\" },\n0x0089: { n:\"Pub\" },\n0x0091: { n:\"Sub\" },\n0x0094: { n:\"LHRecord\" },\n0x0095: { n:\"LHNGraph\" },\n0x0096: { n:\"Sound\" },\n0x00a9: { n:\"CoordList\" },\n0x00ab: { n:\"GCW\" },\n0x00bc: { n:\"ShrFmla\" }, /* Not necessarily same as 0x04bc */\n0x00bf: { n:\"ToolbarHdr\" },\n0x00c0: { n:\"ToolbarEnd\" },\n0x00c2: { n:\"AddMenu\" },\n0x00c3: { n:\"DelMenu\" },\n0x00d6: { n:\"RString\", f:parse_RString },\n0x00df: { n:\"UDDesc\" },\n0x00ea: { n:\"TabIdConf\" },\n0x0162: { n:\"XL5Modify\" },\n0x01a5: { n:\"FileSharing2\" },\n0x0209: { n:'BOF', f:parse_BOF },\n0x0218: { n:\"Lbl\", f:parse_Lbl },\n0x0223: { n:\"ExternName\", f:parse_ExternName },\n0x0231: { n:\"Font\" },\n0x0243: { n:\"BIFF3XF\" },\n0x0409: { n:'BOF', f:parse_BOF },\n0x0443: { n:\"BIFF4XF\" },\n0x086d: { n:\"FeatInfo\" },\n0x0873: { n:\"FeatInfo11\" },\n0x0881: { n:\"SXAddl12\" },\n0x08c0: { n:\"AutoWebPub\" },\n0x08c1: { n:\"ListObj\" },\n0x08c2: { n:\"ListField\" },\n0x08c3: { n:\"ListDV\" },\n0x08c4: { n:\"ListCondFmt\" },\n0x08c5: { n:\"ListCF\" },\n0x08c6: { n:\"FMQry\" },\n0x08c7: { n:\"FMSQry\" },\n0x08c8: { n:\"PLV\" },\n0x08c9: { n:\"LnExt\" },\n0x08ca: { n:\"MkrExt\" },\n0x08cb: { n:\"CrtCoopt\" },\n0x08d6: { n:\"FRTArchId$\", r:12 },\n\n0x7262: {}\n};\n\nvar XLSRE = evert_key(XLSRecordEnum, 'n');\nfunction write_biff_rec(ba, type, payload, length) {\n\tvar t = +type || +XLSRE[type];\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(len > 0 && is_buf(payload)) ba.push(payload);\n}\n\n//function write_biff_continue(ba, type, payload, length) {\n//\tvar len = length || (payload||[]).length || 0;\n//\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n//\tvar t = +type || +XLSRE[type];\n//\tif(isNaN(t)) return;\n//\tvar parts = payload.parts || [], sidx = 0;\n//\tvar i = 0, w = 0;\n//\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n//\tvar o = ba.next(4);\n//\to.write_shift(2, t);\n//\to.write_shift(2, w);\n//\tba.push(payload.slice(i, i + w));\n//\ti += w;\n//\twhile(i < len) {\n//\t\to = ba.next(4);\n//\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n//\t\tw = 0;\n//\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n//\t\to.write_shift(2, w);\n//\t\tba.push(payload.slice(i, i+w)); i+= w;\n//\t}\n//}\n\nfunction write_BIFF2Cell(out, r, c) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r, c, val, t) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tif(t == 'e') { out.write_shift(1, val); out.write_shift(1, 1); }\n\telse { out.write_shift(1, val?1:0); out.write_shift(1, 0); }\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r, c, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba, cell, R, C) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba, ws, idx, opts) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb, opts) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, \"CalcMode\", writeuint16(1));\n\twrite_biff_rec(ba, \"CalcCount\", writeuint16(100));\n\twrite_biff_rec(ba, \"CalcRefMode\", writebool(true));\n\twrite_biff_rec(ba, \"CalcIter\", writebool(false));\n\twrite_biff_rec(ba, \"CalcDelta\", write_Xnum(0.001));\n\twrite_biff_rec(ba, \"CalcSaveRecalc\", writebool(true));\n\twrite_biff_rec(ba, \"PrintRowCol\", writebool(false));\n\twrite_biff_rec(ba, \"PrintGrid\", writebool(false));\n\twrite_biff_rec(ba, \"GridSet\", writeuint16(1));\n\twrite_biff_rec(ba, \"Guts\", write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, \"HCenter\", writebool(false));\n\twrite_biff_rec(ba, \"VCenter\", writebool(false));\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8 && _WB.Views) write_biff_rec(ba, \"Window2\", write_Window2(_WB.Views[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, \"MergeCells\", write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, \"CodeName\", write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, \"EOF\");\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb, bufs, opts) {\n\tvar A = buf_array();\n\tvar _WB = ((wb||{}).Workbook||{});\n\tvar _sheets = (_WB.Sheets||[]);\n\tvar _wb = _WB.WBProps||{};\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, \"Addin\");\n\twrite_biff_rec(A, \"InterfaceHdr\", b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, \"Mms\", writezeroes(2));\n\tif(b5) write_biff_rec(A, \"ToolbarHdr\");\n\tif(b5) write_biff_rec(A, \"ToolbarEnd\");\n\twrite_biff_rec(A, \"InterfaceEnd\");\n\twrite_biff_rec(A, \"WriteAccess\", write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, \"CodePage\", writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, \"DSF\", writeuint16(0));\n\tif(b8) write_biff_rec(A, \"Excel9File\");\n\twrite_biff_rec(A, \"RRTabId\", write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, \"ObProj\");\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, \"CodeName\", write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, \"BuiltInFnGroupCount\", writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, \"WinProtect\", writebool(false));\n\twrite_biff_rec(A, \"Protect\", writebool(false));\n\twrite_biff_rec(A, \"Password\", writeuint16(0));\n\tif(b8) write_biff_rec(A, \"Prot4Rev\", writebool(false));\n\tif(b8) write_biff_rec(A, \"Prot4RevPass\", writeuint16(0));\n\twrite_biff_rec(A, \"Window1\", write_Window1(opts));\n\twrite_biff_rec(A, \"Backup\", writebool(false));\n\twrite_biff_rec(A, \"HideObj\", writeuint16(0));\n\twrite_biff_rec(A, \"Date1904\", writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, \"CalcPrecision\", writebool(true));\n\tif(b8) write_biff_rec(A, \"RefreshAll\", writebool(false));\n\twrite_biff_rec(A, \"BookBool\", writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, \"UsesELFs\", writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, \"Country\", write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\t/* BIFF8: [SST *Continue] ExtSST */\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, \"EOF\");\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet = _sheets[j] || ({});\n\t\twrite_biff_rec(B, \"BoundSheet8\", write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn __toBuffer([out]);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb, opts) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = []; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn __toBuffer([bufs]);\n}\n\nfunction write_biff_buf(wb, opts) {\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nvar HTML_ = (function() {\n\tfunction html_to_sheet(str, _opts) {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar ws = opts.dense ? ([]) : ({});\n\t\tstr = str.replace(//g, \"\");\n\t\tvar mtch = str.match(/\");\n\t\tvar mtch2 = str.match(/<\\/table/i);\n\t\tvar i = mtch.index, j = mtch2 && mtch2.index || str.length;\n\t\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\t\tvar R = -1, C = 0, RS = 0, CS = 0;\n\t\tvar range = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\t\tvar merges = [];\n\t\tfor(i = 0; i < rows.length; ++i) {\n\t\t\tvar row = rows[i].trim();\n\t\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\t\tif(hd == \"/i);\n\t\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\t\tvar cell = cells[j].trim();\n\t\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\t\tvar _merge = merges[midx];\n\t\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t\t}\n\t\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\t\tvar _t = tag.t || \"\";\n\t\t\t\t/* TODO: generate stub cells */\n\t\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\t\tm = htmldecode(m);\n\t\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\t\tif(!m.length) continue;\n\t\t\t\tvar o = {t:'s', v:m};\n\t\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(m)});\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)});\n\t\t\t\t\to.z = opts.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\t\tC += CS;\n\t\t\t}\n\t\t}\n\t\tws['!ref'] = encode_range(range);\n\t\tif(merges.length) ws[\"!merges\"] = merges;\n\t\treturn ws;\n\t}\n\tfunction html_to_book(str, opts) {\n\t\treturn sheet_to_workbook(html_to_sheet(str, opts), opts);\n\t}\n\tfunction make_html_row(ws, r, R, o) {\n\t\tvar M = (ws['!merges'] ||[]);\n\t\tvar oo = [];\n\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tvar RS = 0, CS = 0;\n\t\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t\t}\n\t\t\tif(RS < 0) continue;\n\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t/* TODO: html entities */\n\t\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\t\tvar sp = ({});\n\t\t\tif(RS > 1) sp.rowspan = RS;\n\t\t\tif(CS > 1) sp.colspan = CS;\n\t\t\tsp.t = cell && cell.t || 'z';\n\t\t\tif(o.editable) w = '' + w + '';\n\t\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\t\too.push(writextag('td', w, sp));\n\t\t}\n\t\tvar preamble = \"\";\n\t\treturn preamble + oo.join(\"\") + \"\";\n\t}\n\tfunction make_html_preamble(ws, R, o) {\n\t\tvar out = [];\n\t\treturn out.join(\"\") + '';\n\t}\n\tvar _BEGIN = 'SheetJS Table Export';\n\tvar _END = '';\n\tfunction sheet_to_html(ws, opts/*, wb:?Workbook*/) {\n\t\tvar o = opts || {};\n\t\tvar header = o.header != null ? o.header : _BEGIN;\n\t\tvar footer = o.footer != null ? o.footer : _END;\n\t\tvar out = [header];\n\t\tvar r = decode_range(ws['!ref']);\n\t\to.dense = Array.isArray(ws);\n\t\tout.push(make_html_preamble(ws, r, o));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\t\tout.push(\"
\" + footer);\n\t\treturn out.join(\"\");\n\t}\n\n\treturn {\n\t\tto_workbook: html_to_book,\n\t\tto_sheet: html_to_sheet,\n\t\t_row: make_html_row,\n\t\tBEGIN: _BEGIN,\n\t\tEND: _END,\n\t\t_preamble: make_html_preamble,\n\t\tfrom_sheet: sheet_to_html\n\t};\n})();\n\nfunction parse_dom_table(table, _opts) {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar ws = opts.dense ? ([]) : ({});\n\tvar rows = table.getElementsByTagName('tr');\n\tvar sheetRows = opts.sheetRows || 10000000;\n\tvar range = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar merges = [], midx = 0;\n\tvar rowinfo = [];\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts = (row.children);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v = htmldecode(elt.innerHTML);\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m = merges[midx];\n\t\t\t\tif(m.s.c == C && m.s.r <= R && R <= m.e.r) { C = m.e.c+1; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif((RS = +elt.getAttribute(\"rowspan\"))>0 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar o = {t:'s', v:v};\n\t\t\tvar _t = elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)});\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)});\n\t\t\t\t\to.z = opts.dateNF || SSF._table[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\telse ws[encode_cell({c:C, r:R})] = o;\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = merges;\n\tif(rowinfo.length) ws['!rows'] = rowinfo;\n\trange.e.r = R - 1;\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction table_to_book(table, opts) {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element) {\n\tvar display = '';\n\tvar get_computed_style = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style.display; // Fallback for cases when getComputedStyle is not available (e.g. an old browser or some Node.js environments) or doesn't work (e.g. if the element is not inserted to a document)\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element) {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nvar parse_content_xml = (function() {\n\n\tvar parse_text_p = function(text) {\n\t\t/* 6.1.2 White Space Characters */\n\t\tvar fixed = text\n\t\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t\t.replace(//g,\" \")\n\t\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t\t.replace(//g,\"\\n\");\n\t\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\t\treturn [v];\n\t};\n\n\tvar number_formats = {\n\t\t/* ods name: [short ssf fmt, long ssf fmt] */\n\t\tday: [\"d\", \"dd\"],\n\t\tmonth: [\"m\", \"mm\"],\n\t\tyear: [\"y\", \"yy\"],\n\t\thours: [\"h\", \"hh\"],\n\t\tminutes: [\"m\", \"mm\"],\n\t\tseconds: [\"s\", \"ss\"],\n\t\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\t\tera: [\"e\", \"ee\"],\n\t\t/* there is no native representation of LO \"Q\" format */\n\t\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n\t};\n\n\treturn function pcx(d, _opts) {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state = [], tmp;\n\t\tvar tag;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag;\n\t\tvar rowtag;\n\t\tvar Sheets = {}, SheetNames = [];\n\t\tvar ws = opts.dense ? ([]) : ({});\n\t\tvar Rn, q;\n\t\tvar ctag = ({value:\"\"});\n\t\tvar textp = \"\", textpidx = 0, textptag;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({});\n\t\tvar _Ref = [\"\", \"\"];\n\t\tvar comments = [], comment = ({});\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]) : ({}); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null});\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({});\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null});\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({});\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) comment.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\t\t\tcase 'master-styles': break; // TODO: \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]});\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = atag.href; delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ';\n\treturn function wso() {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods = (function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text) {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb, i) {\n\t\t/* Section 9 Tables */\n\t\tvar o = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']);\n\t\tvar marr = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(R = 0; R < range.s.r; ++R) o.push(' \\n');\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target; _tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o) {\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\to.push(' \\n'); // style:master-page-name=\"mp1\">\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") o.push('\\n');\n\t\telse o.push('\\n');\n\t\twrite_automatic_styles_ods(o);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb, opts) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\nvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest = [];\n\tvar rdf = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, write_meta_ods());\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\nfunction write_sheet_index(wb, sheet) {\n\tif(!sheet) return 0;\n\tvar idx = wb.SheetNames.indexOf(sheet);\n\tif(idx == -1) throw new Error(\"Sheet not found: \" + sheet);\n\treturn idx;\n}\n\nfunction write_obj_str(factory) {\n\treturn function write_str(wb, o) {\n\t\tvar idx = write_sheet_index(wb, o.sheet);\n\t\treturn factory.from_sheet(wb.Sheets[wb.SheetNames[idx]], o, wb);\n\t};\n}\n\nvar write_htm_str = write_obj_str(HTML_);\nvar write_csv_str = write_obj_str({from_sheet:sheet_to_csv});\nvar write_slk_str = write_obj_str(typeof SYLK !== \"undefined\" ? SYLK : {});\nvar write_dif_str = write_obj_str(typeof DIF !== \"undefined\" ? DIF : {});\nvar write_prn_str = write_obj_str(typeof PRN !== \"undefined\" ? PRN : {});\nvar write_rtf_str = write_obj_str(typeof RTF !== \"undefined\" ? RTF : {});\nvar write_txt_str = write_obj_str({from_sheet:sheet_to_txt});\nvar write_dbf_buf = write_obj_str(typeof DBF !== \"undefined\" ? DBF : {});\nvar write_eth_str = write_obj_str(typeof ETH !== \"undefined\" ? ETH : {});\n\nfunction fix_opts_func(defaults) {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nvar fix_read_opts = fix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n]);\n\n\nvar fix_write_opts = fix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n]);\nfunction get_sheet_type(n) {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path, relsPath, sheet, idx, sheetRels, sheets, stype, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments */\n\t\tvar comments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tvar dfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tcomments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments);\n\t\t\t}\n\t\t});\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x) { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip, opts) {\n\tmake_ssf(SSF);\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) throw new Error('Unsupported NUMBERS file');\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({});\n\tvar styles = ({});\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({});\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({});\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile);\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: SSF.get_table()\n\t});\n\tif(opts && opts.bookFiles) {\n\t\tout.keys = entries;\n\t\tout.files = zip.files;\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts) {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\nif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\nif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb, opts) {\n\t_shapeid = 1024;\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = SSF.get_table();\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(SSF); SSF.load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = []; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\nvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\nf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar cf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\nfunction firstbyte(f,o) {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3]];\n\t\tcase 'base64': x = Base64.decode(f.slice(0,24)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3)];\n}\n\nfunction read_cfb(cfb, opts) {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data, opts) {\nvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data, o) {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data, o) {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64.decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data, o) {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64.decode(d);\n\td = cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data) {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data, opts) {\n\treset_cp();\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), opts);\n\tvar d = data, n = [0,0,0,0], str = false;\n\tvar o = opts||{};\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: return read_cfb(CFB.read(d, o), o);\n\t\tcase 0x09: if(n[1] <= 0x04) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49: if(n[1] === 0x44) return read_wb_ID(d, o); break;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF: if(n[1] === 0xFE) { return read_utf16(d, o); } break;\n\t\tcase 0x00: if(n[1] === 0x00 && n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o); break;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t}\n\tif(n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb, o) {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\nfunction write_zip_type(wb, opts) {\n\tvar o = opts||{};\n\tvar z = write_zip(wb, o);\n\tvar oopts = {};\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = has_buf ? \"nodebuffer\" : \"string\";\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = has_buf ? \"nodebuffer\" : \"string\"; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: {\"nodebuffer\": \"buffer\", \"string\": \"binary\"}[oopts.type] || oopts.type}) : z.generate(oopts);\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(out) : out;\n}\n\nfunction write_cfb_type(wb, opts) {\n\tvar o = opts||{};\n\tvar cfb = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out, opts, bom) {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64.encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out, opts) {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64.encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts) {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64.encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSync(wb, opts) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = opts||{};\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out = (writeSync(wb, o)); o.type = \"array\"; return s2ab(out); }\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(write_slk_str(wb, o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(write_htm_str(wb, o), o);\n\t\tcase 'txt': return write_stxt_type(write_txt_str(wb, o), o);\n\t\tcase 'csv': return write_string_type(write_csv_str(wb, o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(write_dif_str(wb, o), o);\n\t\tcase 'dbf': return write_binary_type(write_dbf_buf(wb, o), o);\n\t\tcase 'prn': return write_string_type(write_prn_str(wb, o), o);\n\t\tcase 'rtf': return write_string_type(write_rtf_str(wb, o), o);\n\t\tcase 'eth': return write_string_type(write_eth_str(wb, o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb, filename, opts) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileAsync(filename, wb, opts, cb) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\nfunction make_json_row(sheet, r, R, cols, header, hdr, dense, o) {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = void 0; break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet, opts) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols = [];\n\tvar out = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0, CC = 0;\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = 0;\n\t\t\t\tfor(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + \"_\" + (++counter);\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet, r, R, cols, fs, rs, FS, o) {\n\tvar isempty = true;\n\tvar row = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+format_cell(val, null, o);\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet, opts) {\n\tvar out = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tout.push(row + RS);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet, opts) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet) {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols = [], C;\n\tvar cmds = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws, js, opts) {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws = _ws || ({});\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell;\n\tvar range = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}});\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t}\n\tvar hdr = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = utils.sheet_get_cell(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || SSF._table[14]);\n\t\t\t\t}\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v});\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js, opts) { return sheet_add_json(null, js, opts); }\n\nvar utils = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tget_formulae: sheet_to_formulae,\n\tmake_csv: sheet_to_csv,\n\tmake_json: sheet_to_json,\n\tmake_formulae: sheet_to_formulae,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: HTML_.from_sheet,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json\n};\n\n(function(utils) {\nutils.consts = utils.consts || {};\nfunction add_consts(R/*Array*/) { R.forEach(function(a){ utils.consts[a[0]] = a[1]; }); }\n\nfunction get_default(x, y, z) { return x[y] != null ? x[y] : (x[y] = z); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws, R, C) {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\nutils.sheet_get_cell = ws_get_cell_stub;\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb, sh) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nutils.book_new = function() {\n\treturn { SheetNames: [], Sheets: {} };\n};\n\n/* add a worksheet to the end of a given workbook */\nutils.book_append_sheet = function(wb, ws, name) {\n\tif(!name) for(var i = 1; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name) throw new Error(\"Too many worksheets\");\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n};\n\n/* set sheet visibility (visible/hidden/very hidden) */\nutils.book_set_sheet_visibility = function(wb, sh, vis) {\n\tget_default(wb,\"Workbook\",{});\n\tget_default(wb.Workbook,\"Sheets\",[]);\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tget_default(wb.Workbook.Sheets,idx, {});\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n};\nadd_consts([\n\t[\"SHEET_VISIBLE\", 0],\n\t[\"SHEET_HIDDEN\", 1],\n\t[\"SHEET_VERY_HIDDEN\", 2]\n]);\n\n/* set number format */\nutils.cell_set_number_format = function(cell, fmt) {\n\tcell.z = fmt;\n\treturn cell;\n};\n\n/* set cell hyperlink */\nutils.cell_set_hyperlink = function(cell, target, tooltip) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target });\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n};\nutils.cell_set_internal_link = function(cell, range, tooltip) { return utils.cell_set_hyperlink(cell, \"#\" + range, tooltip); };\n\n/* add to cell comments */\nutils.cell_add_comment = function(cell, text, author) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n};\n\n/* set array formula and flush related cells */\nutils.sheet_set_array_formula = function(ws, range, formula) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) cell.f = formula;\n\t}\n\treturn ws;\n};\n\nreturn utils;\n})(utils);\n\nif(has_buf && typeof require != 'undefined') (function() {\n\tvar Readable = require('stream').Readable;\n\n\tvar write_csv_stream = function(sheet, opts) {\n\t\tvar stream = Readable();\n\t\tvar o = opts == null ? {} : opts;\n\t\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\t\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\t\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\t\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\t\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\t\tvar row = \"\", cols = [];\n\t\to.dense = Array.isArray(sheet);\n\t\tvar colinfo = o.skipHidden && sheet[\"!cols\"] || [];\n\t\tvar rowinfo = o.skipHidden && sheet[\"!rows\"] || [];\n\t\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\t\tvar R = r.s.r;\n\t\tvar BOM = false;\n\t\tstream._read = function() {\n\t\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\t++R;\n\t\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\t\tif(row != null) {\n\t\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\t\tstream.push(row + RS);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(R > r.e.r) return stream.push(null);\n\t\t};\n\t\treturn stream;\n\t};\n\n\tvar write_html_stream = function(ws, opts) {\n\t\tvar stream = Readable();\n\n\t\tvar o = opts || {};\n\t\tvar header = o.header != null ? o.header : HTML_.BEGIN;\n\t\tvar footer = o.footer != null ? o.footer : HTML_.END;\n\t\tstream.push(header);\n\t\tvar r = decode_range(ws['!ref']);\n\t\to.dense = Array.isArray(ws);\n\t\tstream.push(HTML_._preamble(ws, r, o));\n\t\tvar R = r.s.r;\n\t\tvar end = false;\n\t\tstream._read = function() {\n\t\t\tif(R > r.e.r) {\n\t\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\t\treturn stream.push(null);\n\t\t\t}\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\tstream.push(HTML_._row(ws, r, R, o));\n\t\t\t\t++R;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\t\treturn stream;\n\t};\n\n\tvar write_json_stream = function(sheet, opts) {\n\t\tvar stream = Readable({objectMode:true});\n\n\t\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\t\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr = [], v=0, vv=\"\";\n\t\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tvar o = opts || {};\n\t\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\t\tif(o.header === 1) header = 1;\n\t\telse if(o.header === \"A\") header = 2;\n\t\telse if(Array.isArray(o.header)) header = 3;\n\t\tswitch(typeof range) {\n\t\t\tcase 'string': r = safe_decode_range(range); break;\n\t\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\t\tdefault: r = range;\n\t\t}\n\t\tif(header > 0) offset = 0;\n\t\tvar rr = encode_row(r.s.r);\n\t\tvar cols = [];\n\t\tvar counter = 0;\n\t\tvar dense = Array.isArray(sheet);\n\t\tvar R = r.s.r, C = 0, CC = 0;\n\t\tif(dense && !sheet[R]) sheet[R] = [];\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\tcols[C] = encode_col(C);\n\t\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\t\tswitch(header) {\n\t\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\t\tdefault:\n\t\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\t\tcounter = 0;\n\t\t\t\t\tfor(CC = 0; CC < hdr.length; ++CC) if(hdr[CC] == vv) vv = v + \"_\" + (++counter);\n\t\t\t\t\thdr[C] = vv;\n\t\t\t}\n\t\t}\n\t\tR = r.s.r + offset;\n\t\tstream._read = function() {\n\t\t\tif(R > r.e.r) return stream.push(null);\n\t\t\twhile(R <= r.e.r) {\n\t\t\t\t//if ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t\t++R;\n\t\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\t\tstream.push(row.row);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn stream;\n\t};\n\n\tXLSX.stream = {\n\t\tto_json: write_json_stream,\n\t\tto_html: write_html_stream,\n\t\tto_csv: write_csv_stream\n\t};\n})();\n\nif(typeof parse_xlscfb !== \"undefined\") XLSX.parse_xlscfb = parse_xlscfb;\nXLSX.parse_zip = parse_zip;\nXLSX.read = readSync; //xlsread\nXLSX.readFile = readFileSync; //readFile\nXLSX.readFileSync = readFileSync;\nXLSX.write = writeSync;\nXLSX.writeFile = writeFileSync;\nXLSX.writeFileSync = writeFileSync;\nXLSX.writeFileAsync = writeFileAsync;\nXLSX.utils = utils;\nXLSX.SSF = SSF;\nif(typeof CFB !== \"undefined\") XLSX.CFB = CFB;\n}\n/*global define */\nif(typeof exports !== 'undefined') make_xlsx_lib(exports);\nelse if(typeof module !== 'undefined' && module.exports) make_xlsx_lib(module.exports);\nelse if(typeof define === 'function' && define.amd) define('xlsx', function() { if(!XLSX.version) make_xlsx_lib(XLSX); return XLSX; });\nelse make_xlsx_lib(XLSX);\n/*exported XLS, ODS */\nvar XLS = XLSX, ODS = XLSX;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'device_publish' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"device_publish\"}}),_c('el-main',[_c('el-form',{staticClass:\"search-input\",attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-input',{staticClass:\"search-input-l\",attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('devicePublish.deviceVersionId')},model:{value:(_vm.search.deviceVersionId),callback:function ($$v) {_vm.$set(_vm.search, \"deviceVersionId\", $$v)},expression:\"search.deviceVersionId\"}})],1),_c('el-form-item',[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('devicePublish.firmID')},model:{value:(_vm.search.firmID),callback:function ($$v) {_vm.$set(_vm.search, \"firmID\", $$v)},expression:\"search.firmID\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.submitFetchList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":_vm.cleanSearch_fetchList}})],1)],1),_c('el-form',{staticClass:\"search-input\",staticStyle:{\"float\":\"right\"},attrs:{\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.open}},[_vm._v(_vm._s(_vm.$t('devicePublish.publishDevice')))])],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('el-form',{staticClass:\"table-expand-from\",attrs:{\"size\":\"mini\",\"inline\":\"\"}},_vm._l((_vm.detailList),function(item,index){return _c('el-form-item',{key:index,attrs:{\"label\":_vm.$t('devicePublish.' + item)}},[_c('span',[_vm._v(_vm._s(props.row[item]))])])}),1)]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceVersionId\",\"label\":_vm.$t('devicePublish.deviceVersionId')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceUrl\",\"label\":_vm.$t('devicePublish.deviceUrl')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":_vm.$t('devicePublish.createDate')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(_vm._s(_vm._f(\"formatDate\")(scope.row.createDate)))]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"updatePersion\",\"label\":_vm.$t('devicePublish.updatePersion')}})],1),_c('el-dialog',{attrs:{\"title\":_vm.$t('devicePublish.publishDevice'),\"visible\":_vm.editDialogVisible,\"width\":\"750px\"},on:{\"update:visible\":function($event){_vm.editDialogVisible=$event}}},[_c('el-form',{ref:\"form\",staticClass:\"edit-input\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"inline\":\"\",\"label-width\":\"100px\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.en'),\"prop\":\"en\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.en),callback:function ($$v) {_vm.$set(_vm.form, \"en\", $$v)},expression:\"form.en\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.zh'),\"prop\":\"zh\"}},[_c('el-input',{staticStyle:{\"float\":\"left\"},attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.zh),callback:function ($$v) {_vm.$set(_vm.form, \"zh\", $$v)},expression:\"form.zh\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.de'),\"prop\":\"de\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.de),callback:function ($$v) {_vm.$set(_vm.form, \"de\", $$v)},expression:\"form.de\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.fr'),\"prop\":\"fr\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.fr),callback:function ($$v) {_vm.$set(_vm.form, \"fr\", $$v)},expression:\"form.fr\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.pl'),\"prop\":\"pl\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.pl),callback:function ($$v) {_vm.$set(_vm.form, \"pl\", $$v)},expression:\"form.pl\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.es'),\"prop\":\"es\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.es),callback:function ($$v) {_vm.$set(_vm.form, \"es\", $$v)},expression:\"form.es\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.ja'),\"prop\":\"ja\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.ja),callback:function ($$v) {_vm.$set(_vm.form, \"ja\", $$v)},expression:\"form.ja\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.ko'),\"prop\":\"ko\"}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.form.ko),callback:function ($$v) {_vm.$set(_vm.form, \"ko\", $$v)},expression:\"form.ko\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.deviceVersionId'),\"prop\":\"deviceVersionId\"}},[_c('el-input',{model:{value:(_vm.form.deviceVersionId),callback:function ($$v) {_vm.$set(_vm.form, \"deviceVersionId\", $$v)},expression:\"form.deviceVersionId\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.firmID'),\"prop\":\"firmID\"}},[_c('el-select',{model:{value:(_vm.form.firmID),callback:function ($$v) {_vm.$set(_vm.form, \"firmID\", $$v)},expression:\"form.firmID\"}},_vm._l((_vm.firmIdList),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.name,\"value\":item.id}})}),1)],1),_c('el-form-item',{staticClass:\"upload_class\",attrs:{\"label\":_vm.$t('devicePublish.file'),\"enctype\":\"multipart/form-data\"}},[_c('el-upload',{ref:\"upload\",staticClass:\"upload-demo\",attrs:{\"action\":_vm.doUpload,\"before-upload\":_vm.beforeUpload,\"multiple\":\"\",\"limit\":1,\"auto-upload\":false}},[_c('el-button',{attrs:{\"slot\":\"trigger\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(_vm._s(_vm.$t('devicePublish.selectFile')))]),_c('div',{staticClass:\"el-upload__tip text_not_exceed\",attrs:{\"slot\":\"tip\"},slot:\"tip\"},[_vm._v(_vm._s(_vm.$t('devicePublish.updateUploadTip')))])],1)],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('devicePublish.updatePersion'),\"prop\":\"updatePersion\"}},[_c('el-switch',{model:{value:(_vm.form.updatePersion),callback:function ($$v) {_vm.$set(_vm.form, \"updatePersion\", $$v)},expression:\"form.updatePersion\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.onSubmit('form')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.create')))]),_c('el-button',{on:{\"click\":function($event){return _vm.resetForm('form')}}},[_vm._v(_vm._s(_vm.$t('devicePublish.reset')))])],1)],1)],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":[10, 20, 30, 50],\"current-page\":_vm.page,\"page-size\":_vm.size,\"total\":_vm.total},on:{\"size-change\":_vm.fetchList,\"current-change\":_vm.fetchList,\"update:currentPage\":function($event){_vm.page=$event},\"update:current-page\":function($event){_vm.page=$event},\"update:pageSize\":function($event){_vm.size=$event},\"update:page-size\":function($event){_vm.size=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DevicePublish.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./DevicePublish.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DevicePublish.vue?vue&type=template&id=58fa9926&scoped=true&\"\nimport script from \"./DevicePublish.vue?vue&type=script&lang=js&\"\nexport * from \"./DevicePublish.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DevicePublish.vue?vue&type=style&index=0&id=58fa9926&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58fa9926\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"stat\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'stat', 'stat_version' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"stat\",\"active\":\"stat_version\"}}),_c('el-main',[_c('el-form',{ref:\"search\",staticClass:\"search-input\",attrs:{\"model\":_vm.search,\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',{attrs:{\"prop\":\"deviceVersionID\"}},[_c('el-input',{attrs:{\"clearable\":\"\",\"placeholder\":_vm.$t('appPublish.deviceVersionId')},model:{value:(_vm.search.deviceVersionID),callback:function ($$v) {_vm.$set(_vm.search, \"deviceVersionID\", $$v)},expression:\"search.deviceVersionID\"}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-search\"},on:{\"click\":_vm.getList}})],1),_c('el-form-item',[_c('el-button',{attrs:{\"icon\":\"el-icon-close\"},on:{\"click\":function($event){return _vm.resetForm('search',true)}}})],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"type\":\"index\",\"label\":_vm.$t('productList.number'),\"width\":\"150\"}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceVersion\",\"label\":_vm.$t('appPublish.deviceVersionId')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"count\",\"label\":_vm.$t('count'),\"width\":\"150\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatVersion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./StatVersion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatVersion.vue?vue&type=template&id=f15c3aae&scoped=true&\"\nimport script from \"./StatVersion.vue?vue&type=script&lang=js&\"\nexport * from \"./StatVersion.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f15c3aae\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{attrs:{\"direction\":\"vertical\"}},[_c('NavTop',{attrs:{\"project-id\":-1,\"active\":\"operation\"}}),_c('Breadcrumb',{attrs:{\"project-id\":-1,\"list\":[ 'operation', 'visitor_list' ]}}),_c('el-container',{staticClass:\"body-container\"},[_c('Aside',{attrs:{\"project-id\":-1,\"page\":\"operation\",\"active\":\"visitor_list\"}}),_c('el-main',[_c('el-form',{ref:\"search\",staticClass:\"search-input\",attrs:{\"model\":_vm.search,\"size\":\"small\",\"inline\":\"\"}},[_c('el-form-item',[_c('el-button',{staticClass:\"el-icon-arrow-left\",on:{\"click\":function($event){return _vm.$router.replace({ path: '/back/device_list' })}}})],1)],1),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"data\":_vm.list}},[_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"deviceID\",\"label\":_vm.$t('deviceList.deviceID')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"userID\",\"label\":_vm.$t('deviceList.userID')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"closePush\",\"label\":_vm.$t('deviceList.closePush')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"createDate\",\"label\":_vm.$t('deviceList.createDate')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"isCancel\",\"label\":_vm.$t('deviceList.isCancel')}}),_c('el-table-column',{attrs:{\"align\":\"center\",\"prop\":\"shareAccessSign\",\"label\":_vm.$t('deviceList.shareAccessSign')}})],1),_c('el-pagination',{attrs:{\"background\":\"\",\"layout\":\"total, sizes, prev, pager, next\",\"page-sizes\":_vm.pageSizes,\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"total\":_vm.totalNum},on:{\"size-change\":_vm.getList,\"current-change\":_vm.getList,\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"update:pageSize\":function($event){_vm.pageSize=$event},\"update:page-size\":function($event){_vm.pageSize=$event}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./VisitorList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./VisitorList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VisitorList.vue?vue&type=template&id=57774324&scoped=true&\"\nimport script from \"./VisitorList.vue?vue&type=script&lang=js&\"\nexport * from \"./VisitorList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"57774324\",\n null\n \n)\n\nexport default component.exports","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n"],"sourceRoot":""}