@zoley/react-file-preview 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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A,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEIC,EA5SY,CAChB,YACA,eACA,OACA,aACA,QACA,QACA,SACA,QACA,iBACA,OACA,aACA,QACA,YACA,YACA,aACA,YACA,QACA,iBACA,WACA,UACA,OACA,WACA,WACA,gBACA,WACA,WACA,YACA,YACA,cACA,iBACA,aACA,aACA,UACA,aACA,eACA,gBACA,gBACA,gBACA,gBACA,aACA,WACA,cACA,UACA,UACA,aACA,YACA,cACA,cACA,UACA,YACA,aACA,OACA,YACA,OACA,OACA,QACA,cACA,WACA,UACA,YACA,SACA,QACA,QACA,WACA,gBACA,YACA,eACA,YACA,aACA,YACA,uBACA,YACA,YACA,aACA,YACA,cACA,gBACA,eACA,iBACA,iBACA,iBACA,cACA,OACA,YACA,QACA,UACA,SACA,mBACA,aACA,eACA,eACA,iBACA,kBACA,oBACA,kBACA,kBACA,eACA,YACA,YACA,WACA,cACA,OACA,UACA,QACA,YACA,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","sources":["webpack://@zoley/react-file-preview/./src/components/loading/style.css","webpack://@zoley/react-file-preview/./src/components/style.css","webpack://@zoley/react-file-preview/./node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/api.js","webpack://@zoley/react-file-preview/./node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://@zoley/react-file-preview/webpack/bootstrap","webpack://@zoley/react-file-preview/webpack/runtime/compat get default export","webpack://@zoley/react-file-preview/webpack/runtime/define property getters","webpack://@zoley/react-file-preview/webpack/runtime/hasOwnProperty shorthand","webpack://@zoley/react-file-preview/webpack/runtime/make namespace object","webpack://@zoley/react-file-preview/webpack/runtime/nonce","webpack://@zoley/react-file-preview/external commonjs \"pdfjs-dist/legacy/build/pdf\"","webpack://@zoley/react-file-preview/external commonjs \"react\"","webpack://@zoley/react-file-preview/external commonjs \"react-visibility-sensor\"","webpack://@zoley/react-file-preview/external commonjs \"pdfjs-dist/legacy/build/pdf.worker.entry\"","webpack://@zoley/react-file-preview/external commonjs \"react/jsx-runtime\"","webpack://@zoley/react-file-preview/./src/components/drivers/pdf.jsx","webpack://@zoley/react-file-preview/external commonjs \"docx-preview\"","webpack://@zoley/react-file-preview/./src/components/drivers/docx.jsx","webpack://@zoley/react-file-preview/external commonjs \"exceljs\"","webpack://@zoley/react-file-preview/external commonjs \"handsontable\"","webpack://@zoley/react-file-preview/external commonjs \"handsontable/i18n\"","webpack://@zoley/react-file-preview/external commonjs \"handsontable/dist/handsontable.full.min.css\"","webpack://@zoley/react-file-preview/./src/components/drivers/util.js","webpack://@zoley/react-file-preview/./src/components/loading/style.css?f408","webpack://@zoley/react-file-preview/./src/components/loading/index.jsx","webpack://@zoley/react-file-preview/./src/components/loading/loading.png","webpack://@zoley/react-file-preview/./src/components/drivers/xlsx.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/t_xml.js","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/colz/index.js","webpack://@zoley/react-file-preview/external commonjs \"jszip\"","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/process_pptx.js","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/pptx_css.js","webpack://@zoley/react-file-preview/external commonjs \"jquery\"","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/index.js","webpack://@zoley/react-file-preview/./src/components/drivers/pptx.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/image.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/text.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/video.jsx","webpack://@zoley/react-file-preview/./src/components/style.css?f8a0","webpack://@zoley/react-file-preview/./src/components/fileViewer.jsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.loading-box-wrapper .text{\r\n text-align: center;\r\n margin-top:30px;\r\n font-size: 18px;\r\n}\r\n.loading-box{\r\n position:relative;\r\n margin:200px auto 100px;\r\n width:50px;\r\n height:50px;\r\n border-radius:50%;\r\n}\r\n.loading-box img{\r\n width:100%;\r\n height:100%;\r\n animation: rotate 0.8s linear infinite;\r\n}\r\n@keyframes rotate {\r\n 0%{\r\n transform:rotate(0deg);\r\n }\r\n 100%{ \r\n transform:rotate(360deg);\r\n }\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/loading/style.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,eAAe;EACf,eAAe;AACjB;AACA;EACE,iBAAiB;EACjB,uBAAuB;EACvB,UAAU;EACV,WAAW;EACX,iBAAiB;AACnB;AACA;EACE,UAAU;EACV,WAAW;EACX,sCAAsC;AACxC;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,wBAAwB;EAC1B;AACF\",\"sourcesContent\":[\".loading-box-wrapper .text{\\r\\n text-align: center;\\r\\n margin-top:30px;\\r\\n font-size: 18px;\\r\\n}\\r\\n.loading-box{\\r\\n position:relative;\\r\\n margin:200px auto 100px;\\r\\n width:50px;\\r\\n height:50px;\\r\\n border-radius:50%;\\r\\n}\\r\\n.loading-box img{\\r\\n width:100%;\\r\\n height:100%;\\r\\n animation: rotate 0.8s linear infinite;\\r\\n}\\r\\n@keyframes rotate {\\r\\n 0%{\\r\\n transform:rotate(0deg);\\r\\n }\\r\\n 100%{ \\r\\n transform:rotate(360deg);\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.cr-viewer-wrapper{\r\n width:100%;\r\n}\r\n.pdf-viewer-wrapper .pdf-controls{position:fixed;top:70px;right:40px;display:flex;align-items: center;font-size: 20px;cursor: pointer;user-select: none;}\r\n.pdf-viewer-wrapper .pdf-controls .pdf-large{margin-right: 10px;}\r\n.pdf-viewer-wrapper .pdf-viewer{background-color: #f0f2f5;}\r\n.xlsx-viewer .xlsx-btn{padding:0 20px;}\r\n.img-viewer-wrapper img{width:100%;max-width:1000px;margin: 10px auto 0;display: block;}\r\n.text-viewer-wrapper .code-area {\r\n display: block;\r\n margin: 0 auto;\r\n font-size: 12px;\r\n width: 1000px;\r\n padding:10px;\r\n min-height: 500px;\r\n background: #1f1f1f;\r\n word-break: break-word;\r\n white-space: break-spaces;\r\n color: #5af117\r\n}\r\n/* video全屏半屏 ResizeObserver loop limit exceeded报错隐藏 */\r\n#webpack-dev-server-client-overlay {\r\n display: none !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/style.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,UAAU;AACZ;AACA,kCAAkC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC,eAAe,CAAC,eAAe,CAAC,iBAAiB,CAAC;AACxJ,6CAA6C,kBAAkB,CAAC;AAChE,gCAAgC,yBAAyB,CAAC;AAC1D,uBAAuB,cAAc,CAAC;AACtC,wBAAwB,UAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,cAAc,CAAC;AACvF;EACE,cAAc;EACd,cAAc;EACd,eAAe;EACf,aAAa;EACb,YAAY;EACZ,iBAAiB;EACjB,mBAAmB;EACnB,sBAAsB;EACtB,yBAAyB;EACzB;AACF;AACA,qDAAqD;AACrD;EACE,wBAAwB;AAC1B\",\"sourcesContent\":[\".cr-viewer-wrapper{\\r\\n width:100%;\\r\\n}\\r\\n.pdf-viewer-wrapper .pdf-controls{position:fixed;top:70px;right:40px;display:flex;align-items: center;font-size: 20px;cursor: pointer;user-select: none;}\\r\\n.pdf-viewer-wrapper .pdf-controls .pdf-large{margin-right: 10px;}\\r\\n.pdf-viewer-wrapper .pdf-viewer{background-color: #f0f2f5;}\\r\\n.xlsx-viewer .xlsx-btn{padding:0 20px;}\\r\\n.img-viewer-wrapper img{width:100%;max-width:1000px;margin: 10px auto 0;display: block;}\\r\\n.text-viewer-wrapper .code-area {\\r\\n display: block;\\r\\n margin: 0 auto;\\r\\n font-size: 12px;\\r\\n width: 1000px;\\r\\n padding:10px;\\r\\n min-height: 500px;\\r\\n background: #1f1f1f;\\r\\n word-break: break-word;\\r\\n white-space: break-spaces;\\r\\n color: #5af117\\r\\n}\\r\\n/* video全屏半屏 ResizeObserver loop limit exceeded报错隐藏 */\\r\\n#webpack-dev-server-client-overlay {\\r\\n display: none !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"pdfjs-dist/legacy/build/pdf\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-visibility-sensor\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"pdfjs-dist/legacy/build/pdf.worker.entry\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react/jsx-runtime\");","\r\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\"\r\nimport React,{ useEffect,useState,useRef } from 'react'\r\nimport VisibilitySensor from 'react-visibility-sensor';\r\nimport pdfjsWorker from \"pdfjs-dist/legacy/build/pdf.worker.entry\"\r\nPDFJS.GlobalWorkerOptions.workerSrc = pdfjsWorker\r\n\r\nconst DEFAULT_SCALE=1.4\r\nconst INCREASE_PERCENTAGE = 0.2;\r\nlet timeout;\r\n\r\nconst PDFPage=React.memo(({index,zoom,pdfInstance,containerWidth})=>{\r\n const [visible,setVisible]=useState(false)\r\n const handlePageRender=async()=>{\r\n const page= await pdfInstance.getPage(index);\r\n const calculatedScale = (containerWidth / page.getViewport({scale:DEFAULT_SCALE}).width);\r\n const scale = calculatedScale > DEFAULT_SCALE ? DEFAULT_SCALE : calculatedScale;\r\n const viewport = page.getViewport({scale:scale + zoom});\r\n const { width, height } = viewport;\r\n const canvas = document.getElementById(\"canvasPDF\" + index);\r\n const context = canvas.getContext('2d');\r\n canvas.width = width;\r\n canvas.height = height;\r\n page.render({\r\n canvasContext: context,\r\n viewport,\r\n });\r\n }\r\n const onChange=(visible)=>{\r\n setVisible(visible)\r\n }\r\n useEffect(()=>{\r\n if(visible){\r\n handlePageRender()\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n },[index,zoom,visible])\r\n\r\n return <div key={String(index)+'pdf'} style={{textAlign:'center'}}>\r\n <VisibilitySensor partialVisibility onChange={onChange}>\r\n <canvas id={'canvasPDF'+index}/> \r\n </VisibilitySensor>\r\n </div>\r\n\r\n})\r\n\r\nexport const PDFViewer=(props)=>{\r\n const [pages,setPages]=useState([])\r\n const [zoom,setZoom]=useState(0)\r\n const pdfRef=useRef()\r\n const containerRef=useRef()\r\n const handleIncreaseZoom=()=>{\r\n if (timeout) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n }\r\n timeout = setTimeout(()=>{\r\n setZoom(s=>s+1)\r\n }, 200);\r\n \r\n }\r\n\r\n const handleReduceZoom=()=>{\r\n if (zoom <-2) return;\r\n if (timeout) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n }\r\n timeout = setTimeout(()=>{\r\n setZoom(s=>s-1)\r\n }, 200);\r\n }\r\n\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n PDFJS.getDocument(props?.filePath).promise.then((pdf) => {\r\n pdfRef.current=pdf\r\n const random=(Math.random() * 10000000).toFixed(0)\r\n const tempPages = Array.from({ length: pdf.numPages }).fill(random);\r\n setPages(tempPages)\r\n });\r\n }\r\n },[props?.filePath])\r\n\r\n return <div className=\"pdf-viewer-wrapper\">\r\n <div className=\"pdf-controls\">\r\n <div className=\"pdf-large\" onClick={handleIncreaseZoom}>➕</div>\r\n <div className=\"pdf-small\" onClick={handleReduceZoom}>➖</div>\r\n </div>\r\n <div ref={containerRef} className=\"pdf-viewer\">\r\n {\r\n pages?.map((x,i)=>{\r\n return <PDFPage \r\n key={String(i)+'pdfs'+x}\r\n index={i+1} \r\n zoom={zoom * INCREASE_PERCENTAGE} \r\n pdfInstance={pdfRef.current} \r\n containerWidth={containerRef.current?.offsetWidth}\r\n />\r\n })\r\n }\r\n </div>\r\n </div>\r\n}","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"docx-preview\");","\r\n\r\nimport React,{ useEffect } from 'react'\r\n\r\nimport { defaultOptions, renderAsync } from \"docx-preview\";\r\n\r\n\r\nexport const DocxViewer=(props)=>{\r\n \r\n useEffect(()=>{\r\n if(props?.filePath){\r\n const docxOptions = Object.assign(defaultOptions, {\r\n debug: false,\r\n experimental: true,\r\n });\r\n const dom=document.getElementById('docx-viewer')\r\n renderAsync(props?.filePath, dom, null, docxOptions)\r\n }\r\n },[props?.filePath])\r\n\r\n return <div className=\"docx-viewer-wrapper\">\r\n <div id=\"docx-viewer\"></div>\r\n </div>\r\n}","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"exceljs\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"handsontable\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"handsontable/i18n\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"handsontable/dist/handsontable.full.min.css\");","\n// 深度扁平化routes\nexport function flatten(routes) {\n return routes.flatMap(route => route.children ? [ route, ...flatten(route.children) ] : [ route ]);\n}\n\n// 转化style对象为style字符串\nexport function toStyleString(style) {\n return [...style].map(key => `${key}: ${style[key]}`).join(';')\n}\n\n// 修复矩阵的宽度\nexport function fixMatrix(data, colLen) {\n for (const row of data) {\n for (let j = 0; j < colLen; j++) {\n if (!row[j]) {\n row[j] = '';\n }\n }\n }\n return data;\n}\n\n// 首字母大写\nexport function captain(str) {\n return `${str.charAt(0).toUpperCase()}${str.slice(1)}`;\n}\n\n// 连字符转驼峰\nexport function camelCase(str) {\n return str.split('-').map((part, index) => {\n if (index !== 0) {\n return captain(part);\n } else {\n return part;\n }\n }).join('');\n}\n","\n import API from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/cjs.js!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/cjs.js!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","import './style.css'\r\nimport Img from './loading.png'\r\nexport const Loading=()=>{\r\n return <div className='loading-box-wrapper'>\r\n <div className='loading-box'>\r\n <img src={Img} alt=\"\" />\r\n </div>\r\n <p className='text'>加载中 ,请稍等 · · · </p>\r\n </div>\r\n}","export default \"data:image/png;base64,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\"","\r\n\r\nimport React,{ useEffect,useState,useMemo,useRef } from 'react'\r\nimport ExcelJS from \"exceljs\";\r\nimport Handsontable from \"handsontable\";\r\nimport { registerLanguageDictionary, zhCN } from \"handsontable/i18n\";\r\nimport \"handsontable/dist/handsontable.full.min.css\";\r\nimport { camelCase, captain, fixMatrix } from \"./util\";\r\nimport {Loading}from \"../loading\";\r\n// 注册中文\r\nregisterLanguageDictionary(zhCN);\r\n\r\nconst indexedColors = [\r\n '000000',\r\n 'FFFFFF',\r\n 'FF0000',\r\n '00FF00',\r\n '0000FF',\r\n 'FFFF00',\r\n 'FF00FF',\r\n '00FFFF',\r\n '000000',\r\n 'FFFFFF',\r\n 'FF0000',\r\n '00FF00',\r\n '0000FF',\r\n 'FFFF00',\r\n 'FF00FF',\r\n '00FFFF',\r\n '800000',\r\n '008000',\r\n '000080',\r\n '808000',\r\n '800080',\r\n '008080',\r\n 'C0C0C0',\r\n '808080',\r\n '9999FF',\r\n '993366',\r\n 'FFFFCC',\r\n 'CCFFFF',\r\n '660066',\r\n 'FF8080',\r\n '0066CC',\r\n 'CCCCFF',\r\n '000080',\r\n 'FF00FF',\r\n 'FFFF00',\r\n '00FFFF',\r\n '800080',\r\n '800000',\r\n '008080',\r\n '0000FF',\r\n '00CCFF',\r\n 'CCFFFF',\r\n 'CCFFCC',\r\n 'FFFF99',\r\n '99CCFF',\r\n 'FF99CC',\r\n 'CC99FF',\r\n 'FFCC99',\r\n '3366FF',\r\n '33CCCC',\r\n '99CC00',\r\n 'FFCC00',\r\n 'FF9900',\r\n 'FF6600',\r\n '666699',\r\n '969696',\r\n '003366',\r\n '339966',\r\n '003300',\r\n '333300',\r\n '993300',\r\n '993366',\r\n '333399',\r\n '333333',\r\n 'b7e0ff',\r\n '00CCFF'\r\n];\r\n\r\n\r\n// 边框类型\r\nconst borders = [\"left\", \"right\", \"top\", \"bottom\"];\r\nconst RenderTable=({workbook={},...props})=>{\r\n const [curSheetId,setCurSheetId]=useState(1)\r\n const [loading,setLoading]=useState(true)\r\n const workbookRef=useRef()\r\n const themeColors=useRef()\r\n \r\n const sheets=useMemo(()=>{\r\n if(workbook?.worksheets){\r\n return workbook.worksheets.filter((sheet) => sheet._rows.length);\r\n }\r\n return []\r\n },[workbook])\r\n\r\n\r\n const ws=useMemo(()=>{\r\n const { getWorksheet = {} } = workbook;\r\n if (getWorksheet && curSheetId!==-1) {\r\n const index = curSheetId || sheets[0].id;\r\n if(workbook?.getWorksheet){\r\n return workbook?.getWorksheet(index);\r\n }\r\n }\r\n return null;\r\n },[workbook,curSheetId])\r\n\r\n const parseTheme=()=> {\r\n const theme = workbook?._themes?.theme1;\r\n const parser = new DOMParser();\r\n if (theme) {\r\n const doc = parser.parseFromString(theme, \"text/xml\");\r\n const [{ children = [] } = {}] =\r\n doc.getElementsByTagName(\"a:clrScheme\");\r\n themeColors.current = [...children]\r\n .flatMap((node) => [...node.getElementsByTagName(\"a:srgbClr\")])\r\n .map((node) => node.getAttribute(\"val\"))\r\n .filter((i) => i);\r\n }\r\n }\r\n\r\n const alignToClass=({ horizontal, vertical }) =>{\r\n return [horizontal, vertical]\r\n .filter((i) => i)\r\n .map((key) => `ht${key.charAt(0).toUpperCase()}${key.slice(1)}`)\r\n .join(\" \");\r\n }\r\n\r\n const transferTime=(str)=>{\r\n var date = new Date(str);\r\n var y = date.getFullYear();\r\n var m = date.getMonth() + 1;\r\n m = m < 10 ? ('0' + m) : m;\r\n var d = date.getDate();\r\n d = d < 10 ? ('0' + d) : d;\r\n var h = date.getHours();\r\n var minute = date.getMinutes();\r\n minute = minute < 10 ? ('0' + minute) : minute;\r\n let time = y + '-' + m + '-' + d\r\n return time\r\n }\r\n const renderDefault=()=>{\r\n Handsontable.renderers.registerRenderer(\r\n \"styleRender\",\r\n (hotInstance, TD, row, col, prop, value, cell) => {\r\n Handsontable.renderers.getRenderer(\"text\")(\r\n hotInstance,\r\n TD,\r\n row,\r\n col,\r\n prop,\r\n value,\r\n cell\r\n );\r\n const isTime=(value + '').indexOf('中国标准时间')>-1;\r\n if(isTime){\r\n TD.innerText = transferTime(value)\r\n }\r\n if (ws && cell.style) {\r\n const {\r\n style: { alignment: { wrapText } = {}, border, fill, font },\r\n } = cell;\r\n const style = TD.style;\r\n if (font) {\r\n if (font.bold) style.fontWeight = \"bold\";\r\n if (font.size) style.fontSize = `${font.size}px`;\r\n }\r\n if (fill) {\r\n if (fill.bgColor) {\r\n const { argb, indexed } = fill.bgColor;\r\n style.backgroundColor = `#${argb || indexedColors[indexed]}`;\r\n }\r\n if (fill.fgColor) {\r\n const { theme, indexed } = fill.fgColor;\r\n if (theme && themeColors.current) {\r\n const color = themeColors.current[theme + 1];\r\n if (color) {\r\n style.color = `#${color}`;\r\n }\r\n }\r\n if (indexed) {\r\n style.color = `#${indexedColors[indexed]}`;\r\n }\r\n }\r\n }\r\n if (border) {\r\n borders\r\n .map((key) => ({ key, value: border[key] }))\r\n .filter((v) => v.value)\r\n .forEach((v) => {\r\n const {\r\n key,\r\n value: { style: borderStyle },\r\n } = v;\r\n const prefix = `border${captain(key)}`;\r\n if (borderStyle === \"thin\") {\r\n style[`${prefix}Width`] = \"1px\";\r\n } else {\r\n style[`${prefix}Width`] = \"2px\";\r\n }\r\n style[`${prefix}Style`] = \"solid\";\r\n style[`${prefix}Color`] = \"#000\";\r\n });\r\n }\r\n }\r\n // 启用了内联css,直接赋值\r\n if (cell.css) {\r\n const style = TD.style;\r\n const { css } = cell;\r\n Object.keys(css).forEach((key) => {\r\n const k = camelCase(key);\r\n style[k] = css[key];\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n const merge=useMemo(()=> {\r\n if(ws){\r\n const { _merges={} } = ws;\r\n return Object.values(_merges).map(({ left, top, right, bottom }) => {\r\n // 构建区域\r\n return {\r\n row: top - 1,\r\n col: left - 1,\r\n rowspan: bottom - top + 1,\r\n colspan: right - left + 1,\r\n };\r\n });\r\n }\r\n },[\r\n ws\r\n ])\r\n \r\n const cols=useMemo(() =>{\r\n return ws?.columns.map((item) => item.letter);\r\n },[ws])\r\n const data=useMemo(() =>{\r\n if(ws && cols){\r\n return fixMatrix(\r\n ws?.getRows(1, ws.actualRowCount).map((row) =>\r\n row?._cells.map((item) => {\r\n const value = item.model.value;\r\n if (value) {\r\n if(value.richText){\r\n if(Array.isArray(value.richText)){\r\n return value.richText.map(x=>x.text).join('')\r\n }else{\r\n return value.richText.text\r\n }\r\n }\r\n return value;\r\n }\r\n return \"\";\r\n })\r\n ),\r\n cols?.length\r\n );\r\n }\r\n return []\r\n },[\r\n ws,cols\r\n ])\r\n const columns=useMemo(() =>{\r\n return ws?.columns?.map((item) => ({\r\n ...(item.width\r\n ? { width: item.width*6 < 100 ? 100 : item.width*6 }\r\n : { width: 100 }),\r\n className: alignToClass(item.alignment || {}),\r\n renderer: \"styleRender\",\r\n }));\r\n },[ws])\r\n const cell=useMemo(()=> {\r\n if(ws){\r\n return ws?.getRows(1, ws.actualRowCount).flatMap((row, ri) => {\r\n return row._cells\r\n .map((cell, ci) => {\r\n if (cell.style) {\r\n return {\r\n row: ri,\r\n col: ci,\r\n ...(cell.alignment\r\n ? { className: alignToClass(cell.alignment) }\r\n : {}),\r\n style: cell.style,\r\n };\r\n }\r\n })\r\n .filter((i) => i);\r\n });\r\n }\r\n return []\r\n \r\n },[ws])\r\n const border=useMemo(()=> {\r\n if(ws){\r\n return ws?.getRows(1, ws.actualRowCount).flatMap((row, ri) => {\r\n return row._cells\r\n .map((cell, ci) => {\r\n if (cell.style && cell.style.border) {\r\n const border = cell.style.border;\r\n const keys = Object.keys(border);\r\n if (keys.length) {\r\n return {\r\n row: ri,\r\n col: ci,\r\n ...keys.reduce((result, key) => {\r\n result[key] = {\r\n width: 1,\r\n color: `#${\r\n (border.color && indexedColors[border.color.indexed]) ||\r\n border.argb ||\r\n \"000000\"\r\n }`,\r\n };\r\n return result;\r\n }, {}),\r\n };\r\n }\r\n }\r\n })\r\n .filter((i) => i);\r\n });\r\n }\r\n return []\r\n },[ws])\r\n const updateTable=()=>{\r\n workbookRef.current.updateSettings({\r\n mergeCells: merge,\r\n data: data,\r\n colHeaders: cols,\r\n columns: columns,\r\n cell: cell,\r\n autoColumnSize : true,\r\n stretchH: 'all',\r\n // customBorders: this.border,\r\n });\r\n setTimeout(()=>{\r\n setLoading(false)\r\n },200)\r\n }\r\n useEffect(()=>{\r\n const dom=document.getElementById('xlsx-handsontable')\r\n const setting={\r\n outsideClickDeselects: false,\r\n // 表格总宽度 默认undefined\r\n width: '100%',\r\n // 表格总高度 默认undefined\r\n height: \"calc(100vh - 112px)\",\r\n // 水平垂直居中\r\n className: 'htCenter htMiddle',\r\n // 当值为true且列宽未设置时,自适应列大小\r\n autoColumnSize: true,\r\n // 列标题高度\r\n columnHeaderHeight: 24,\r\n // 是否允许列表行排序\r\n columnSorting: false,\r\n // 是否可以多列排序\r\n multiColumnSorting: false,\r\n // 列表头字段\r\n colHeaders: null,\r\n // 是否展示行表头\r\n rowHeaders: true,\r\n // 行表头宽度\r\n rowHeaderWidth: 30,\r\n // 行高\r\n rowHeights: 30,\r\n // 列宽--可以数字 100、字符串'100px'、数组[10,20,30]或者函数 (index)=>{return index*10}\r\n colWidths: 150,\r\n // 行拖动\r\n manualRowMove: false,\r\n // 列拖动\r\n manualColumnMove: false,\r\n // 手动调整行大小\r\n manualRowResize: false,\r\n // 手动调整列大小\r\n manualColumnResize: false,\r\n // 是否开启固定列\r\n manualColumnFreeze: true,\r\n // 列对应属性\r\n columns: undefined,\r\n // 只读属性,不可编辑\r\n readOnly: true,\r\n copyable: true,\r\n // 可粘贴 ctrl+ V\r\n copyPaste: true,\r\n // 禁用或启用拖动滚动功能\r\n dragToScroll: true,\r\n // 允许将可配置的下拉菜单添加到表的列标题中\r\n dropdownMenu: false,\r\n // 过滤\r\n filters: true,\r\n // 表格左侧指定固定(或冻结)列的数量\r\n fixedColumnsLeft: 0,\r\n // 表格底部指定固定(或冻结)行的数量\r\n fixedRowsBottom: 0,\r\n // 表格顶部指定固定(或冻结)行的数量\r\n fixedRowsTop: 0,\r\n // 合并单元格\r\n mergeCells: true,\r\n // 表宽度不同于所有列宽度的计算得出的总和时列的反应 'none' |'last'|'all'\r\n stretchH: 'none',\r\n // 对单元值进行预定义的计算\r\n columnSummary: undefined,\r\n // 最少空列\r\n minSpareCols: 0,\r\n // 最少空行\r\n minSpareRows: 0,\r\n // 禁用公式计算\r\n formulas: false,\r\n viewportColumnRenderingOffset: 50,\r\n viewportRowRenderingOffset: 50,\r\n // 渲染全部行\r\n renderAllRows: true,\r\n language: 'zh-CN',\r\n licenseKey: \"non-commercial-and-evaluation\",\r\n }\r\n if(dom && ws){\r\n workbookRef.current = new Handsontable(dom, setting)\r\n parseTheme()\r\n renderDefault()\r\n updateTable()\r\n }\r\n },[ws,data])\r\n\r\n\r\n const handleTabSheet=(id)=>{\r\n if(id===curSheetId)return\r\n setLoading(true)\r\n setCurSheetId(-1)\r\n setTimeout(()=>{\r\n setCurSheetId(id)\r\n updateTable();\r\n },0)\r\n }\r\n \r\n renderDefault()\r\n return <div className='xlsx-viewer'>\r\n {\r\n ws && data?.length>0 && (<div style={{display:loading?'none':'block'}} id=\"xlsx-handsontable\"/>)\r\n }\r\n {loading && <Loading/>}\r\n <div className='xlsx-bottom-btns'>\r\n {\r\n !loading && sheets?.map((x,i)=><button \r\n className='xlsx-btn' \r\n key={String(i)+'xlsxbtn'} \r\n onClick={()=>{\r\n handleTabSheet(x?.id)\r\n }}\r\n style={curSheetId===x?.id?{color:'#fff',backgroundColor:'#52c41a',borderColor:'#52c41a'}:{}}\r\n >{x?.name}</button>)\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n\r\n\r\nexport const XlsxViewer=(props)=>{\r\n const [workbook,setWorkbook]=useState({})\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n new ExcelJS.Workbook().xlsx.load(props?.filePath).then(workbook=>{\r\n setWorkbook(workbook)\r\n })\r\n }\r\n },[props?.filePath])\r\n\r\n return <div className=\"xlsx-viewer-wrapper\">\r\n <RenderTable workbook={workbook}/>\r\n </div>\r\n}","'use strict'\n\nlet _order = 1\n\nexport default function t_xml (S) {\n const openBracket = '<'\n const openBracketCC = '<'.charCodeAt(0)\n const closeBracket = '>'\n const closeBracketCC = '>'.charCodeAt(0)\n const minusCC = '-'.charCodeAt(0)\n const slashCC = '/'.charCodeAt(0)\n const exclamationCC = '!'.charCodeAt(0)\n const singleQuoteCC = '\\''.charCodeAt(0)\n const doubleQuoteCC = '\"'.charCodeAt(0)\n const questionMarkCC = '?'.charCodeAt(0)\n\n /**\n * returns text until the first nonAlphebetic letter\n */\n const nameSpacer = '\\r\\n\\t>/= '\n\n let pos = 0\n\n /**\n * Parsing a list of entries\n */\n function parseChildren () {\n const children = []\n while (S[pos]) {\n if (S.charCodeAt(pos) === openBracketCC) {\n if (S.charCodeAt(pos + 1) === slashCC) { // </\n // while (S[pos]!=='>') { pos++; }\n pos = S.indexOf(closeBracket, pos)\n return children\n } else if (S.charCodeAt(pos + 1) === exclamationCC) { // <! or <!--\n if (S.charCodeAt(pos + 2) === minusCC) {\n // comment support\n while (!(S.charCodeAt(pos) === closeBracketCC && S.charCodeAt(pos - 1) === minusCC &&\n S.charCodeAt(pos - 2) === minusCC && pos !== -1)) {\n pos = S.indexOf(closeBracket, pos + 1)\n }\n if (pos === -1) {\n pos = S.length\n }\n } else {\n // doctype support\n pos += 2\n for (; S.charCodeAt(pos) !== closeBracketCC; pos++) {}\n }\n pos++\n continue\n } else if (S.charCodeAt(pos + 1) === questionMarkCC) { // <?\n // XML header support\n pos = S.indexOf(closeBracket, pos)\n pos++\n continue\n }\n pos++\n let startNamePos = pos\n for (; nameSpacer.indexOf(S[pos]) === -1; pos++) {}\n const nodeTagName = S.slice(startNamePos, pos)\n\n // Parsing attributes\n let attrFound = false\n let nodeAttributes = {}\n for (; S.charCodeAt(pos) !== closeBracketCC; pos++) {\n const c = S.charCodeAt(pos)\n if ((c > 64 && c < 91) || (c > 96 && c < 123)) {\n startNamePos = pos\n for (; nameSpacer.indexOf(S[pos]) === -1; pos++) {}\n const name = S.slice(startNamePos, pos)\n // search beginning of the string\n let code = S.charCodeAt(pos)\n while (code !== singleQuoteCC && code !== doubleQuoteCC) {\n pos++\n code = S.charCodeAt(pos)\n }\n\n const startChar = S[pos]\n const startStringPos = ++pos\n pos = S.indexOf(startChar, startStringPos)\n const value = S.slice(startStringPos, pos)\n if (!attrFound) {\n nodeAttributes = {}\n attrFound = true\n }\n nodeAttributes[name] = value\n }\n }\n\n // Optional parsing of children\n let nodeChildren\n if (S.charCodeAt(pos - 1) !== slashCC) {\n pos++\n nodeChildren = parseChildren()\n }\n\n children.push({\n 'children': nodeChildren,\n 'tagName': nodeTagName,\n 'attrs': nodeAttributes\n })\n } else {\n const startTextPos = pos\n pos = S.indexOf(openBracket, pos) - 1 // Skip characters until '<'\n if (pos === -2) {\n pos = S.length\n }\n const text = S.slice(startTextPos, pos + 1)\n if (text.trim().length > 0) {\n children.push(text)\n }\n }\n pos++\n }\n return children\n }\n\n _order = 1\n return simplefy(parseChildren())\n}\n\nfunction simplefy (children) {\n const node = {}\n\n if (children === undefined) {\n return {}\n }\n\n // Text node (e.g. <t>This is text.</t>)\n if (children.length === 1 && (typeof children[0] === 'string' || children[0] instanceof String)) {\n // eslint-disable-next-line no-new-wrappers\n return new String(children[0])\n }\n\n // map each object\n children.forEach(function (child) {\n if (!node[child.tagName]) {\n node[child.tagName] = []\n }\n\n if (typeof child === 'object') {\n const kids = simplefy(child.children)\n if (child.attrs) {\n kids.attrs = child.attrs\n }\n\n if (kids['attrs'] === undefined) {\n kids['attrs'] = {'order': _order}\n } else {\n kids['attrs']['order'] = _order\n }\n _order++\n node[child.tagName].push(kids)\n }\n })\n\n for (let i in node) {\n if (node[i].length === 1) {\n node[i] = node[i][0]\n }\n }\n\n return node\n}\n","/**\n * Colorz (or Colz) is a Javascript \"library\" to help\n * in color conversion between the usual color-spaces\n * Hex - Rgb - Hsl / Hsv - Hsb\n *\n * It provides some helpers to output Canvas / CSS\n * color strings.\n *\n * by Carlos Cabo 2013\n * http://carloscabo.com\n *\n * Some formulas borrowed from Wikipedia or other authors.\n */\n\nconst round = Math.round\n\n/*\n ==================================\n Color constructors\n ==================================\n*/\n\nexport class Rgb {\n constructor (col) {\n this.r = col[0]\n this.g = col[1]\n this.b = col[2]\n }\n\n toString () {\n return `rgb(${this.r},${this.g},${this.b})`\n }\n}\n\nexport class Rgba extends Rgb {\n constructor (col) {\n super(col)\n this.a = col[3]\n }\n\n toString () {\n return `rgba(${this.r},${this.g},${this.b},${this.a})`\n }\n}\n\nexport class Hsl {\n constructor (col) {\n this.h = col[0]\n this.s = col[1]\n this.l = col[2]\n }\n\n toString () {\n return `hsl(${this.h},${this.s}%,${this.l}%)`\n }\n}\n\nexport class Hsla extends Hsl {\n constructor (col) {\n super(col)\n this.a = col[3]\n }\n\n toString () {\n return `hsla(${this.h},${this.s}%,${this.l}%,${this.a})`\n }\n}\n\n/*\n ==================================\n Main Colz color object\n ==================================\n*/\nexport class Color {\n constructor (r, g, b, a = 1.0) {\n // If args are not given in (r, g, b, [a]) format, convert\n if (typeof r === 'string') {\n let str = r\n // Add initial '#' if missing\n if (str.charAt(0) !== '#') { str = '#' + str }\n // If Hex in #fff format convert to #ffffff\n if (str.length < 7) {\n str = '#' + str[1] + str[1] + str[2] + str[2] + str[3] + str[3]\n }\n ([r, g, b] = hexToRgb(str))\n } else if (r instanceof Array) {\n a = r[3] || a\n b = r[2]\n g = r[1]\n r = r[0]\n }\n\n this.r = r\n this.g = g\n this.b = b\n this.a = a\n\n this.rgb = new Rgb([this.r, this.g, this.b])\n this.rgba = new Rgba([this.r, this.g, this.b, this.a])\n this.hex = rgbToHex(this.r, this.g, this.b)\n\n this.hsl = new Hsl(rgbToHsl(this.r, this.g, this.b))\n this.h = this.hsl.h\n this.s = this.hsl.s\n this.l = this.hsl.l\n this.hsla = new Hsla([this.h, this.s, this.l, this.a])\n }\n\n setHue (newHue) {\n this.h = newHue\n this.hsl.h = newHue\n this.hsla.h = newHue\n this.updateFromHsl()\n }\n\n setSat (newSat) {\n this.s = newSat\n this.hsl.s = newSat\n this.hsla.s = newSat\n this.updateFromHsl()\n }\n\n setLum (newLum) {\n this.l = newLum\n this.hsl.l = newLum\n this.hsla.l = newLum\n this.updateFromHsl()\n }\n\n setAlpha (newAlpha) {\n this.a = newAlpha\n this.hsla.a = newAlpha\n this.rgba.a = newAlpha\n }\n\n updateFromHsl () {\n // Updates Rgb\n this.rgb = null\n this.rgb = new Rgb(hslToRgb(this.h, this.s, this.l))\n\n this.r = this.rgb.r\n this.g = this.rgb.g\n this.b = this.rgb.b\n this.rgba.r = this.rgb.r\n this.rgba.g = this.rgb.g\n this.rgba.b = this.rgb.b\n\n // Updates Hex\n this.hex = null\n this.hex = rgbToHex([this.r, this.g, this.b])\n }\n}\n\n/*\n ==================================\n Public Methods\n ==================================\n*/\n\nexport const randomColor = function () {\n const r = '#' + Math.random().toString(16).slice(2, 8)\n return new Color(r)\n}\n\nexport const hexToRgb = function (hex) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n return result ? [\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16)\n ] : null\n}\n\nexport const componentToHex = function (c) {\n const hex = c.toString(16)\n return hex.length === 1 ? '0' + hex : hex\n}\n\n// You can pass 3 numeric values or 1 Array\nexport const rgbToHex = function (r, g, b) {\n if (r instanceof Array) {\n b = r[2]\n g = r[1]\n r = r[0]\n }\n return '#' + componentToHex(r) + componentToHex(g) + componentToHex(b)\n}\n\n/**\n * Converts an RGB color value to HSL. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n *\n * @param {Number} r The red color value\n * @param {Number} g The green color value\n * @param {Number} b The blue color value\n * @return {Array} The HSL representation\n */\nexport const rgbToHsl = function (r, g, b) {\n if (r instanceof Array) {\n b = r[2]\n g = r[1]\n r = r[0]\n }\n\n let h, s, l, d, max, min\n\n r /= 255\n g /= 255\n b /= 255\n\n max = Math.max(r, g, b)\n min = Math.min(r, g, b)\n l = (max + min) / 2\n\n if (max === min) {\n h = s = 0 // achromatic\n } else {\n d = max - min\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0)\n break\n case g:\n h = (b - r) / d + 2\n break\n case b:\n h = (r - g) / d + 4\n break\n }\n\n h /= 6\n }\n\n // CARLOS\n h = round(h * 360)\n s = round(s * 100)\n l = round(l * 100)\n\n return [h, s, l]\n}\n\nexport const hue2rgb = function (p, q, t) {\n if (t < 0) { t += 1 }\n if (t > 1) { t -= 1 }\n if (t < 1 / 6) { return p + (q - p) * 6 * t }\n if (t < 1 / 2) { return q }\n if (t < 2 / 3) { return p + (q - p) * (2 / 3 - t) * 6 }\n return p\n}\n\n/**\n * Converts an HSL color value to RGB. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n *\n * @param {Number} h The hue\n * @param {Number} s The saturation\n * @param {Number} l The lightness\n * @return {Array} The RGB representation\n */\n\nexport const hslToRgb = function (h, s, l) {\n if (h instanceof Array) {\n l = h[2]\n s = h[1]\n h = h[0]\n }\n h = h / 360\n s = s / 100\n l = l / 100\n\n let r, g, b, q, p\n\n if (s === 0) {\n r = g = b = l // achromatic\n } else {\n q = l < 0.5 ? l * (1 + s) : l + s - l * s\n p = 2 * l - q\n r = hue2rgb(p, q, h + 1 / 3)\n g = hue2rgb(p, q, h)\n b = hue2rgb(p, q, h - 1 / 3)\n }\n return [round(r * 255), round(g * 255), round(b * 255)]\n}\n\n/**\n * Converts an RGB color value to HSB / HSV. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSV_color_space.\n *\n * @param {Number} r The red color value\n * @param {Number} g The green color value\n * @param {Number} b The blue color value\n * @return {Array} The HSB representation\n */\nexport const rgbToHsb = function (r, g, b) {\n let max, min, h, s, v, d\n\n r = r / 255\n g = g / 255\n b = b / 255\n\n max = Math.max(r, g, b)\n min = Math.min(r, g, b)\n v = max\n\n d = max - min\n s = max === 0 ? 0 : d / max\n\n if (max === min) {\n h = 0 // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0)\n break\n case g:\n h = (b - r) / d + 2\n break\n case b:\n h = (r - g) / d + 4\n break\n }\n h /= 6\n }\n\n // map top 360,100,100\n h = round(h * 360)\n s = round(s * 100)\n v = round(v * 100)\n\n return [h, s, v]\n}\n\n/**\n * Converts an HSB / HSV color value to RGB. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSV_color_space.\n *\n * @param {Number} h The hue\n * @param {Number} s The saturation\n * @param {Number} v The value\n * @return {Array} The RGB representation\n */\nexport const hsbToRgb = function (h, s, v) {\n let r, g, b, i, f, p, q, t\n\n // h = h / 360;\n if (v === 0) { return [0, 0, 0] }\n\n s = s / 100\n v = v / 100\n h = h / 60\n\n i = Math.floor(h)\n f = h - i\n p = v * (1 - s)\n q = v * (1 - (s * f))\n t = v * (1 - (s * (1 - f)))\n\n if (i === 0) {\n r = v\n g = t\n b = p\n } else if (i === 1) {\n r = q\n g = v\n b = p\n } else if (i === 2) {\n r = p\n g = v\n b = t\n } else if (i === 3) {\n r = p\n g = q\n b = v\n } else if (i === 4) {\n r = t\n g = p\n b = v\n } else if (i === 5) {\n r = v\n g = p\n b = q\n }\n\n r = Math.floor(r * 255)\n g = Math.floor(g * 255)\n b = Math.floor(b * 255)\n\n return [r, g, b]\n}\n\nexport const hsvToRgb = hsbToRgb // alias\n\n/* Convert from Hsv */\nexport const hsbToHsl = function (h, s, b) {\n return rgbToHsl(hsbToRgb(h, s, b))\n}\n\nexport const hsvToHsl = hsbToHsl // alias\n\n/*\n ==================================\n Color Scheme Builder\n ==================================\n*/\nexport class ColorScheme {\n constructor (colorVal, angleArray) {\n this.palette = []\n\n if (angleArray === undefined && colorVal instanceof Array) {\n // Asume you passing a color array ['#f00','#0f0'...]\n this.createFromColors(colorVal)\n } else {\n // Create scheme from color + hue angles\n this.createFromAngles(colorVal, angleArray)\n }\n }\n\n createFromColors (colorVal) {\n for (let i in colorVal) {\n if (colorVal.hasOwn(i)) {\n // console.log(colorVal[i]);\n this.palette.push(new Color(colorVal[i]))\n }\n }\n return this.palette\n }\n\n createFromAngles (colorVal, angleArray) {\n this.palette.push(new Color(colorVal))\n\n for (let i in angleArray) {\n if (angleArray.hasOwn(i)) {\n const tempHue = (this.palette[0].h + angleArray[i]) % 360\n this.palette.push(new Color(hslToRgb(tempHue, this.palette[0].s, this.palette[0].l)))\n }\n }\n return this.palette\n }\n\n /* Complementary colors constructors */\n static Compl (colorVal) {\n return new this(colorVal, [180])\n }\n\n /* Triad */\n static Triad (colorVal) {\n return new this(colorVal, [120, 240])\n }\n\n /* Tetrad */\n static Tetrad (colorVal) {\n return new this(colorVal, [60, 180, 240])\n }\n\n /* Analogous */\n static Analog (colorVal) {\n return new this(colorVal, [-45, 45])\n }\n\n /* Split complementary */\n static Split (colorVal) {\n return new this(colorVal, [150, 210])\n }\n\n /* Accented Analogous */\n static Accent (colorVal) {\n return new this(colorVal, [-45, 45, 180])\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"jszip\");","\"use strict\";\n\nimport t_xml from \"./t_xml\";\nimport { Color } from \"./colz\";\nimport JSZip from \"jszip\";\n\nfunction base64ArrayBuffer(arrayBuff) {\n const buff = new Uint8Array(arrayBuff);\n let text = \"\";\n for (let i = 0; i < buff.byteLength; i++) {\n text += String.fromCharCode(buff[i]);\n }\n return btoa(text);\n}\n\nfunction extractFileExtension(filename) {\n const dot = filename.lastIndexOf(\".\");\n if (dot === 0 || dot === -1) return \"\";\n return filename.substr(filename.lastIndexOf(\".\") + 1);\n}\n\n/*\nfunction escapeHtml (text) {\n const map = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n '\\'': '&#039;'\n }\n return text.replace(/[&<>\"']/g, m => map[m])\n}\n*/\nexport default function processPptx(setOnMessage = () => {}, postMessage) {\n const charts = [];\n let chartID = 0;\n\n let themeContent = null;\n\n let slideLayoutClrOvride = \"\";\n\n const styleTable = {};\n\n let tableStyles;\n // 设置postMessage方法\n setOnMessage(async (e) => {\n switch (e.type) {\n case \"processPPTX\": {\n try {\n await processPPTX(e.data);\n } catch (e) {\n console.error(\"AN ERROR HAPPENED DURING processPPTX\", e);\n postMessage({\n type: \"ERROR\",\n data: e.toString(),\n });\n }\n break;\n }\n default:\n }\n });\n\n async function processPPTX(data) {\n const zip = await JSZip.loadAsync(data);\n const dateBefore = new Date();\n\n if (zip.file(\"docProps/thumbnail.jpeg\") !== null) {\n const pptxThumbImg = await zip\n .file(\"docProps/thumbnail.jpeg\")\n .async(\"base64\");\n postMessage({\n type: \"pptx-thumb\",\n data: pptxThumbImg,\n });\n }\n\n const filesInfo = await getContentTypes(zip);\n const slideSize = await getSlideSize(zip);\n themeContent = await loadTheme(zip);\n\n tableStyles = await readXmlFile(zip, \"ppt/tableStyles.xml\");\n\n postMessage({\n type: \"slideSize\",\n data: slideSize,\n });\n\n const numOfSlides = filesInfo[\"slides\"].length;\n for (let i = 0; i < numOfSlides; i++) {\n const filename = filesInfo[\"slides\"][i];\n const slideHtml = await processSingleSlide(zip, filename, i, slideSize);\n postMessage({\n type: \"slide\",\n data: slideHtml,\n });\n postMessage({\n type: \"progress-update\",\n data: ((i + 1) * 100) / numOfSlides,\n });\n }\n\n postMessage({\n type: \"globalCSS\",\n data: genGlobalCSS(),\n });\n\n const dateAfter = new Date();\n postMessage({\n type: \"Done\",\n data: {\n time: dateAfter - dateBefore,\n charts,\n },\n });\n }\n\n async function readXmlFile(zip, filename) {\n return t_xml(await zip.file(filename).async(\"text\"));\n }\n\n async function getContentTypes(zip) {\n const ContentTypesJson = await readXmlFile(zip, \"[Content_Types].xml\");\n // console.log('CONTENT TYPES JSON', ContentTypesJson)\n const subObj = ContentTypesJson[\"Types\"][\"Override\"];\n const slidesLocArray = [];\n const slideLayoutsLocArray = [];\n for (let i = 0; i < subObj.length; i++) {\n switch (subObj[i][\"attrs\"][\"ContentType\"]) {\n case \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\":\n slidesLocArray.push(subObj[i][\"attrs\"][\"PartName\"].substr(1));\n break;\n case \"application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml\":\n slideLayoutsLocArray.push(subObj[i][\"attrs\"][\"PartName\"].substr(1));\n break;\n default:\n }\n }\n return {\n slides: slidesLocArray,\n slideLayouts: slideLayoutsLocArray,\n };\n }\n\n async function getSlideSize(zip) {\n // Pixel = EMUs * Resolution / 914400; (Resolution = 96)\n const content = await readXmlFile(zip, \"ppt/presentation.xml\");\n const sldSzAttrs = content[\"p:presentation\"][\"p:sldSz\"][\"attrs\"];\n return {\n width: (parseInt(sldSzAttrs[\"cx\"]) * 96) / 914400,\n height: (parseInt(sldSzAttrs[\"cy\"]) * 96) / 914400,\n };\n }\n\n async function loadTheme(zip) {\n const preResContent = await readXmlFile(\n zip,\n \"ppt/_rels/presentation.xml.rels\"\n );\n const relationshipArray = preResContent[\"Relationships\"][\"Relationship\"];\n let themeURI;\n if (relationshipArray.constructor === Array) {\n for (let i = 0; i < relationshipArray.length; i++) {\n if (\n relationshipArray[i][\"attrs\"][\"Type\"] ===\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\"\n ) {\n themeURI = relationshipArray[i][\"attrs\"][\"Target\"];\n break;\n }\n }\n } else if (\n relationshipArray[\"attrs\"][\"Type\"] ===\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\"\n ) {\n themeURI = relationshipArray[\"attrs\"][\"Target\"];\n }\n\n if (themeURI === undefined) {\n throw Error(\"Can't open theme file.\");\n }\n\n return readXmlFile(zip, \"ppt/\" + themeURI);\n }\n\n async function processSingleSlide(zip, sldFileName, index, slideSize) {\n postMessage({\n type: \"INFO\",\n data: \"Processing slide\" + (index + 1),\n });\n\n // =====< Step 1 >=====\n // Read relationship filename of the slide (Get slideLayoutXX.xml)\n // @sldFileName: ppt/slides/slide1.xml\n // @resName: ppt/slides/_rels/slide1.xml.rels\n const resName =\n sldFileName.replace(\"slides/slide\", \"slides/_rels/slide\") + \".rels\";\n const resContent = await readXmlFile(zip, resName);\n let RelationshipArray = resContent[\"Relationships\"][\"Relationship\"];\n let layoutFilename = \"\";\n const slideResObj = {};\n if (RelationshipArray.constructor === Array) {\n for (let i = 0; i < RelationshipArray.length; i++) {\n switch (RelationshipArray[i][\"attrs\"][\"Type\"]) {\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout\":\n layoutFilename = RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n break;\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide\":\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\":\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\":\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\":\n default: {\n slideResObj[RelationshipArray[i][\"attrs\"][\"Id\"]] = {\n type: RelationshipArray[i][\"attrs\"][\"Type\"].replace(\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/\",\n \"\"\n ),\n target: RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n ),\n };\n }\n }\n }\n } else {\n layoutFilename = RelationshipArray[\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n }\n // console.log(slideResObj);\n // Open slideLayoutXX.xml\n const slideLayoutContent = await readXmlFile(zip, layoutFilename);\n const slideLayoutTables = indexNodes(slideLayoutContent);\n const sldLayoutClrOvr =\n slideLayoutContent[\"p:sldLayout\"][\"p:clrMapOvr\"][\"a:overrideClrMapping\"];\n\n // console.log(slideLayoutClrOvride);\n if (sldLayoutClrOvr !== undefined) {\n slideLayoutClrOvride = sldLayoutClrOvr[\"attrs\"];\n }\n // =====< Step 2 >=====\n // Read slide master filename of the slidelayout (Get slideMasterXX.xml)\n // @resName: ppt/slideLayouts/slideLayout1.xml\n // @masterName: ppt/slideLayouts/_rels/slideLayout1.xml.rels\n const slideLayoutResFilename =\n layoutFilename.replace(\n \"slideLayouts/slideLayout\",\n \"slideLayouts/_rels/slideLayout\"\n ) + \".rels\";\n const slideLayoutResContent = await readXmlFile(\n zip,\n slideLayoutResFilename\n );\n RelationshipArray = slideLayoutResContent[\"Relationships\"][\"Relationship\"];\n let masterFilename = \"\";\n const layoutResObj = {};\n if (RelationshipArray.constructor === Array) {\n for (let i = 0; i < RelationshipArray.length; i++) {\n switch (RelationshipArray[i][\"attrs\"][\"Type\"]) {\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster\":\n masterFilename = RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n break;\n default:\n layoutResObj[RelationshipArray[i][\"attrs\"][\"Id\"]] = {\n type: RelationshipArray[i][\"attrs\"][\"Type\"].replace(\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/\",\n \"\"\n ),\n target: RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n ),\n };\n }\n }\n } else {\n masterFilename = RelationshipArray[\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n }\n // Open slideMasterXX.xml\n const slideMasterContent = await readXmlFile(zip, masterFilename);\n const slideMasterTextStyles = getTextByPathList(slideMasterContent, [\n \"p:sldMaster\",\n \"p:txStyles\",\n ]);\n const slideMasterTables = indexNodes(slideMasterContent);\n\n // ///////////////Amir/////////////\n // Open slideMasterXX.xml.rels\n const slideMasterResFilename =\n masterFilename.replace(\n \"slideMasters/slideMaster\",\n \"slideMasters/_rels/slideMaster\"\n ) + \".rels\";\n const slideMasterResContent = await readXmlFile(\n zip,\n slideMasterResFilename\n );\n RelationshipArray = slideMasterResContent[\"Relationships\"][\"Relationship\"];\n let themeFilename = \"\";\n const masterResObj = {};\n if (RelationshipArray.constructor === Array) {\n for (let i = 0; i < RelationshipArray.length; i++) {\n switch (RelationshipArray[i][\"attrs\"][\"Type\"]) {\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\":\n themeFilename = RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n break;\n default:\n masterResObj[RelationshipArray[i][\"attrs\"][\"Id\"]] = {\n type: RelationshipArray[i][\"attrs\"][\"Type\"].replace(\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/\",\n \"\"\n ),\n target: RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n ),\n };\n }\n }\n } else {\n themeFilename = RelationshipArray[\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n }\n // console.log(themeFilename)\n // Load Theme file\n if (themeFilename !== undefined) {\n themeContent = await readXmlFile(zip, themeFilename);\n }\n // =====< Step 3 >=====\n const slideContent = await readXmlFile(zip, sldFileName);\n const nodes = slideContent[\"p:sld\"][\"p:cSld\"][\"p:spTree\"];\n const warpObj = {\n zip: zip,\n slideLayoutTables: slideLayoutTables,\n slideMasterTables: slideMasterTables,\n slideResObj: slideResObj,\n slideMasterTextStyles: slideMasterTextStyles,\n layoutResObj: layoutResObj,\n masterResObj: masterResObj,\n };\n\n const bgColor = await getSlideBackgroundFill(\n slideContent,\n slideLayoutContent,\n slideMasterContent,\n warpObj\n );\n\n let result =\n \"<section style='width:\" +\n slideSize.width +\n \"px; height:\" +\n slideSize.height +\n \"px;\" +\n bgColor +\n \"'>\";\n\n for (let nodeKey in nodes) {\n if (nodes[nodeKey].constructor === Array) {\n for (let i = 0; i < nodes[nodeKey].length; i++) {\n result += await processNodesInSlide(\n nodeKey,\n nodes[nodeKey][i],\n warpObj\n );\n }\n } else {\n result += await processNodesInSlide(nodeKey, nodes[nodeKey], warpObj);\n }\n }\n\n return result + \"</section>\";\n }\n\n function indexNodes(content) {\n const keys = Object.keys(content);\n const spTreeNode = content[keys[0]][\"p:cSld\"][\"p:spTree\"];\n\n const idTable = {};\n const idxTable = {};\n const typeTable = {};\n\n for (let key in spTreeNode) {\n if (key === \"p:nvGrpSpPr\" || key === \"p:grpSpPr\") {\n continue;\n }\n\n const targetNode = spTreeNode[key];\n\n if (targetNode.constructor === Array) {\n for (let i = 0; i < targetNode.length; i++) {\n const nvSpPrNode = targetNode[i][\"p:nvSpPr\"];\n const id = getTextByPathList(nvSpPrNode, [\"p:cNvPr\", \"attrs\", \"id\"]);\n const idx = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"idx\",\n ]);\n const type = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n\n if (id !== undefined) {\n idTable[id] = targetNode[i];\n }\n if (idx !== undefined) {\n idxTable[idx] = targetNode[i];\n }\n if (type !== undefined) {\n typeTable[type] = targetNode[i];\n }\n }\n } else {\n const nvSpPrNode = targetNode[\"p:nvSpPr\"];\n const id = getTextByPathList(nvSpPrNode, [\"p:cNvPr\", \"attrs\", \"id\"]);\n const idx = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"idx\",\n ]);\n const type = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n\n if (id !== undefined) {\n idTable[id] = targetNode;\n }\n if (idx !== undefined) {\n idxTable[idx] = targetNode;\n }\n if (type !== undefined) {\n typeTable[type] = targetNode;\n }\n }\n }\n\n return { idTable: idTable, idxTable: idxTable, typeTable: typeTable };\n }\n\n async function processNodesInSlide(nodeKey, nodeValue, warpObj) {\n let result = \"\";\n\n switch (nodeKey) {\n case \"p:sp\": // Shape, Text\n result = await processSpNode(nodeValue, warpObj);\n break;\n case \"p:cxnSp\": // Shape, Text (with connection)\n result = await processCxnSpNode(nodeValue, warpObj);\n break;\n case \"p:pic\": // Picture\n result = await processPicNode(nodeValue, warpObj);\n break;\n case \"p:graphicFrame\": // Chart, Diagram, Table\n result = await processGraphicFrameNode(nodeValue, warpObj);\n break;\n case \"p:grpSp\": // 群組\n result = await processGroupSpNode(nodeValue, warpObj);\n break;\n default:\n }\n\n return result;\n }\n\n async function processGroupSpNode(node, warpObj) {\n const factor = 96 / 914400;\n\n const xfrmNode = node[\"p:grpSpPr\"][\"a:xfrm\"];\n const x = parseInt(xfrmNode[\"a:off\"][\"attrs\"][\"x\"]) * factor;\n const y = parseInt(xfrmNode[\"a:off\"][\"attrs\"][\"y\"]) * factor;\n const chx = parseInt(xfrmNode[\"a:chOff\"][\"attrs\"][\"x\"]) * factor;\n const chy = parseInt(xfrmNode[\"a:chOff\"][\"attrs\"][\"y\"]) * factor;\n const cx = parseInt(xfrmNode[\"a:ext\"][\"attrs\"][\"cx\"]) * factor;\n const cy = parseInt(xfrmNode[\"a:ext\"][\"attrs\"][\"cy\"]) * factor;\n const chcx = parseInt(xfrmNode[\"a:chExt\"][\"attrs\"][\"cx\"]) * factor;\n const chcy = parseInt(xfrmNode[\"a:chExt\"][\"attrs\"][\"cy\"]) * factor;\n\n const order = node[\"attrs\"][\"order\"];\n\n let result =\n \"<div class='block group' style='z-index: \" +\n order +\n \"; top: \" +\n (y - chy) +\n \"px; left: \" +\n (x - chx) +\n \"px; width: \" +\n (cx - chcx) +\n \"px; height: \" +\n (cy - chcy) +\n \"px;'>\";\n\n // Procsee all child nodes\n for (let nodeKey in node) {\n if (node[nodeKey].constructor === Array) {\n for (let i = 0; i < node[nodeKey].length; i++) {\n result += await processNodesInSlide(\n nodeKey,\n node[nodeKey][i],\n warpObj\n );\n }\n } else {\n result += await processNodesInSlide(nodeKey, node[nodeKey], warpObj);\n }\n }\n\n result += \"</div>\";\n\n return result;\n }\n\n async function processSpNode(node, warpObj) {\n /*\n * 958 <xsd:complexType name=\"CT_GvmlShape\">\n * 959 <xsd:sequence>\n * 960 <xsd:element name=\"nvSpPr\" type=\"CT_GvmlShapeNonVisual\" minOccurs=\"1\" maxOccurs=\"1\"/>\n * 961 <xsd:element name=\"spPr\" type=\"CT_ShapeProperties\" minOccurs=\"1\" maxOccurs=\"1\"/>\n * 962 <xsd:element name=\"txSp\" type=\"CT_GvmlTextShape\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 963 <xsd:element name=\"style\" type=\"CT_ShapeStyle\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 964 <xsd:element name=\"extLst\" type=\"CT_OfficeArtExtensionList\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 965 </xsd:sequence>\n * 966 </xsd:complexType>\n */\n\n const id = node[\"p:nvSpPr\"][\"p:cNvPr\"][\"attrs\"][\"id\"];\n const name = node[\"p:nvSpPr\"][\"p:cNvPr\"][\"attrs\"][\"name\"];\n const idx =\n node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined\n ? undefined\n : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"idx\"];\n let type =\n node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined\n ? undefined\n : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"type\"];\n const order = node[\"attrs\"][\"order\"];\n\n let slideLayoutSpNode;\n let slideMasterSpNode;\n\n if (type !== undefined) {\n if (idx !== undefined) {\n slideLayoutSpNode = warpObj[\"slideLayoutTables\"][\"typeTable\"][type];\n slideMasterSpNode = warpObj[\"slideMasterTables\"][\"typeTable\"][type];\n } else {\n slideLayoutSpNode = warpObj[\"slideLayoutTables\"][\"typeTable\"][type];\n slideMasterSpNode = warpObj[\"slideMasterTables\"][\"typeTable\"][type];\n }\n } else {\n if (idx !== undefined) {\n slideLayoutSpNode = warpObj[\"slideLayoutTables\"][\"idxTable\"][idx];\n slideMasterSpNode = warpObj[\"slideMasterTables\"][\"idxTable\"][idx];\n } else {\n // Nothing\n }\n }\n\n if (type === undefined) {\n type = getTextByPathList(slideLayoutSpNode, [\n \"p:nvSpPr\",\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n if (type === undefined) {\n type = getTextByPathList(slideMasterSpNode, [\n \"p:nvSpPr\",\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n }\n }\n\n return await genShape(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n id,\n name,\n idx,\n type,\n order,\n warpObj\n );\n }\n\n async function processCxnSpNode(node, warpObj) {\n const id = node[\"p:nvCxnSpPr\"][\"p:cNvPr\"][\"attrs\"][\"id\"];\n const name = node[\"p:nvCxnSpPr\"][\"p:cNvPr\"][\"attrs\"][\"name\"];\n // const idx = (node[\"p:nvCxnSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined) ? undefined : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"idx\"];\n // const type = (node[\"p:nvCxnSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined) ? undefined : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"type\"];\n // <p:cNvCxnSpPr>(<p:cNvCxnSpPr>, <a:endCxn>)\n const order = node[\"attrs\"][\"order\"];\n\n return await genShape(\n node,\n undefined,\n undefined,\n id,\n name,\n undefined,\n undefined,\n order,\n warpObj\n );\n }\n\n async function genShape(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n id,\n name,\n idx,\n type,\n order,\n warpObj\n ) {\n const xfrmList = [\"p:spPr\", \"a:xfrm\"];\n const slideXfrmNode = getTextByPathList(node, xfrmList);\n const slideLayoutXfrmNode = getTextByPathList(slideLayoutSpNode, xfrmList);\n const slideMasterXfrmNode = getTextByPathList(slideMasterSpNode, xfrmList);\n\n let result = \"\";\n const shpId = getTextByPathList(node, [\"attrs\", \"order\"]);\n // console.log(\"shpId: \",shpId)\n const shapType = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"attrs\",\n \"prst\",\n ]);\n\n // custGeom - Amir\n const custShapType = getTextByPathList(node, [\"p:spPr\", \"a:custGeom\"]);\n\n let isFlipV = false;\n if (\n getTextByPathList(slideXfrmNode, [\"attrs\", \"flipV\"]) === \"1\" ||\n getTextByPathList(slideXfrmNode, [\"attrs\", \"flipH\"]) === \"1\"\n ) {\n isFlipV = true;\n }\n // ///////////////////////Amir////////////////////////\n // rotate\n const rotate = angleToDegrees(\n getTextByPathList(slideXfrmNode, [\"attrs\", \"rot\"])\n );\n // console.log(\"rotate: \"+rotate);\n // ////////////////////////////////////////////////\n let w;\n let h;\n let border;\n let headEndNodeAttrs;\n let tailEndNodeAttrs;\n let fillColor;\n let grndFillFlg = false;\n let imgFillFlg = false;\n if (shapType !== undefined || custShapType !== undefined) {\n // const off = getTextByPathList(slideXfrmNode, ['a:off', 'attrs'])\n // const x = parseInt(off['x']) * 96 / 914400\n // const y = parseInt(off['y']) * 96 / 914400\n\n const ext = getTextByPathList(slideXfrmNode, [\"a:ext\", \"attrs\"]);\n w = (parseInt(ext[\"cx\"]) * 96) / 914400;\n h = (parseInt(ext[\"cy\"]) * 96) / 914400;\n\n result +=\n \"<svg class='drawing' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, undefined, undefined) +\n getSize(slideXfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n result += \"<defs>\";\n // Fill Color\n fillColor = await getShapeFill(node, true, warpObj);\n const clrFillType = getFillType(getTextByPathList(node, [\"p:spPr\"]));\n // ///////////////////////////////////////\n if (clrFillType === \"GRADIENT_FILL\") {\n grndFillFlg = true;\n const colorArray = fillColor.color;\n const angl = fillColor.rot;\n const svgGrdnt = getSvgGradient(w, h, angl, colorArray, shpId);\n // fill=\"url(#linGrd)\"\n result += svgGrdnt;\n } else if (clrFillType === \"PIC_FILL\") {\n imgFillFlg = true;\n const svgBgImg = getSvgImagePattern(fillColor, shpId);\n // fill=\"url(#imgPtrn)\"\n // console.log(svgBgImg)\n result += svgBgImg;\n }\n // Border Color\n border = getBorder(node, true);\n\n headEndNodeAttrs = getTextByPathList(node, [\n \"p:spPr\",\n \"a:ln\",\n \"a:headEnd\",\n \"attrs\",\n ]);\n tailEndNodeAttrs = getTextByPathList(node, [\n \"p:spPr\",\n \"a:ln\",\n \"a:tailEnd\",\n \"attrs\",\n ]);\n // type: none, triangle, stealth, diamond, oval, arrow\n\n if (\n (headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")) ||\n (tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\"))\n ) {\n const triangleMarker =\n \"<marker id='markerTriangle_\" +\n shpId +\n \"' viewBox='0 0 10 10' refX='1' refY='5' markerWidth='5' markerHeight='5' stroke='\" +\n border.color +\n \"' fill='\" +\n border.color +\n \"' orient='auto-start-reverse' markerUnits='strokeWidth'><path d='M 0 0 L 10 5 L 0 10 z' /></marker>\";\n result += triangleMarker;\n }\n result += \"</defs>\";\n }\n if (shapType !== undefined && custShapType === undefined) {\n switch (shapType) {\n case \"accentBorderCallout1\":\n case \"accentBorderCallout2\":\n case \"accentBorderCallout3\":\n case \"accentCallout1\":\n case \"accentCallout2\":\n case \"accentCallout3\":\n case \"actionButtonBackPrevious\":\n case \"actionButtonBeginning\":\n case \"actionButtonBlank\":\n case \"actionButtonDocument\":\n case \"actionButtonEnd\":\n case \"actionButtonForwardNext\":\n case \"actionButtonHelp\":\n case \"actionButtonHome\":\n case \"actionButtonInformation\":\n case \"actionButtonMovie\":\n case \"actionButtonReturn\":\n case \"actionButtonSound\":\n case \"arc\":\n case \"bevel\":\n case \"blockArc\":\n case \"borderCallout1\":\n case \"borderCallout2\":\n case \"borderCallout3\":\n case \"bracePair\":\n case \"bracketPair\":\n case \"callout1\":\n case \"callout2\":\n case \"callout3\":\n case \"can\":\n case \"chartPlus\":\n case \"chartStar\":\n case \"chartX\":\n case \"chevron\":\n case \"chord\":\n case \"cloud\":\n case \"cloudCallout\":\n case \"corner\":\n case \"cornerTabs\":\n case \"cube\":\n case \"diagStripe\":\n case \"donut\":\n case \"doubleWave\":\n case \"downArrowCallout\":\n case \"ellipseRibbon\":\n case \"ellipseRibbon2\":\n case \"flowChartAlternateProcess\":\n case \"flowChartCollate\":\n case \"flowChartConnector\":\n case \"flowChartDecision\":\n case \"flowChartDelay\":\n case \"flowChartDisplay\":\n case \"flowChartDocument\":\n case \"flowChartExtract\":\n case \"flowChartInputOutput\":\n case \"flowChartInternalStorage\":\n case \"flowChartMagneticDisk\":\n case \"flowChartMagneticDrum\":\n case \"flowChartMagneticTape\":\n case \"flowChartManualInput\":\n case \"flowChartManualOperation\":\n case \"flowChartMerge\":\n case \"flowChartMultidocument\":\n case \"flowChartOfflineStorage\":\n case \"flowChartOffpageConnector\":\n case \"flowChartOnlineStorage\":\n case \"flowChartOr\":\n case \"flowChartPredefinedProcess\":\n case \"flowChartPreparation\":\n case \"flowChartProcess\":\n case \"flowChartPunchedCard\":\n case \"flowChartPunchedTape\":\n case \"flowChartSort\":\n case \"flowChartSummingJunction\":\n case \"flowChartTerminator\":\n case \"folderCorner\":\n case \"frame\":\n case \"funnel\":\n case \"gear6\":\n case \"gear9\":\n case \"halfFrame\":\n case \"heart\":\n case \"homePlate\":\n case \"horizontalScroll\":\n case \"irregularSeal1\":\n case \"irregularSeal2\":\n case \"leftArrowCallout\":\n case \"leftBrace\":\n case \"leftBracket\":\n case \"leftRightArrowCallout\":\n case \"leftRightRibbon\":\n case \"lightningBolt\":\n case \"lineInv\":\n case \"mathDivide\":\n case \"mathEqual\":\n case \"mathMinus\":\n case \"mathMultiply\":\n case \"mathNotEqual\":\n case \"mathPlus\":\n case \"moon\":\n case \"nonIsoscelesTrapezoid\":\n case \"noSmoking\":\n case \"pie\":\n case \"pieWedge\":\n case \"plaque\":\n case \"plaqueTabs\":\n case \"quadArrowCallout\":\n case \"rect\":\n case \"ribbon\":\n case \"ribbon2\":\n case \"rightArrowCallout\":\n case \"rightBrace\":\n case \"rightBracket\":\n case \"round1Rect\":\n case \"round2DiagRect\":\n case \"round2SameRect\":\n case \"smileyFace\":\n case \"snip1Rect\":\n case \"snip2DiagRect\":\n case \"snip2SameRect\":\n case \"snipRoundRect\":\n case \"squareTabs\":\n case \"star10\":\n case \"star12\":\n case \"star16\":\n case \"star24\":\n case \"star32\":\n case \"star4\":\n case \"star5\":\n case \"star6\":\n case \"star7\":\n case \"star8\":\n case \"sun\":\n case \"teardrop\":\n case \"upArrowCallout\":\n case \"upDownArrowCallout\":\n case \"verticalScroll\":\n case \"wave\":\n case \"wedgeEllipseCallout\":\n case \"wedgeRectCallout\":\n case \"wedgeRoundRectCallout\": {\n result +=\n \"<rect x='0' y='0' width='\" +\n w +\n \"' height='\" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"ellipse\": {\n result +=\n \"<ellipse cx='\" +\n w / 2 +\n \"' cy='\" +\n h / 2 +\n \"' rx='\" +\n w / 2 +\n \"' ry='\" +\n h / 2 +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"roundRect\": {\n result +=\n \"<rect x='0' y='0' width='\" +\n w +\n \"' height='\" +\n h +\n \"' rx='7' ry='7' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"bentConnector2\": {\n // 直角 (path)\n let d;\n if (isFlipV) {\n d = \"M 0 \" + w + \" L \" + h + \" \" + w + \" L \" + h + \" 0\";\n } else {\n d = \"M \" + w + \" 0 L \" + w + \" \" + h + \" L 0 \" + h;\n }\n result +=\n \"<path d='\" +\n d +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' fill='none' \";\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n break;\n }\n case \"rtTriangle\": {\n result +=\n \" <polygon points='0 0,0 \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"triangle\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let shapAdjstVal = 0.5;\n if (shapAdjst !== undefined) {\n shapAdjstVal = (parseInt(shapAdjst.substr(4)) * 96) / 9144000;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nshapAdjst: \"+shapAdjst+\"\\nshapAdjstVal: \"+shapAdjstVal);\n }\n result +=\n \" <polygon points='\" +\n w * shapAdjstVal +\n \" 0,0 \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"diamond\": {\n result +=\n \" <polygon points='\" +\n w / 2 +\n \" 0,0 \" +\n h / 2 +\n \",\" +\n w / 2 +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"trapezoid\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adjstVal = 0.25;\n const maxAdjConst = 0.7407;\n if (shapAdjst !== undefined) {\n const adjst = (parseInt(shapAdjst.substr(4)) * 96) / 9144000;\n adjstVal = (adjst * 0.5) / maxAdjConst;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nshapAdjst: \"+shapAdjst+\"\\nadjstVal: \"+adjstVal);\n }\n result +=\n \" <polygon points='\" +\n w * adjstVal +\n \" 0,0 \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \",\" +\n (1 - adjstVal) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"parallelogram\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adjstVal = 0.25;\n let maxAdjConst;\n if (w > h) {\n maxAdjConst = w / h;\n } else {\n maxAdjConst = h / w;\n }\n if (shapAdjst !== undefined) {\n const adjst = parseInt(shapAdjst.substr(4)) / 100000;\n adjstVal = adjst / maxAdjConst;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nadjst: \"+adjstVal+\"\\nmaxAdjConst: \"+maxAdjConst);\n }\n result +=\n \" <polygon points='\" +\n adjstVal * w +\n \" 0,0 \" +\n h +\n \",\" +\n (1 - adjstVal) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"pentagon\": {\n result +=\n \" <polygon points='\" +\n 0.5 * w +\n \" 0,0 \" +\n 0.375 * h +\n \",\" +\n 0.15 * w +\n \" \" +\n h +\n \",\" +\n 0.85 * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n 0.375 * h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"hexagon\": {\n const shapAdjstArray =\n getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]) || [];\n let shapAdjst;\n for (let i = 0; i < shapAdjstArray.length; i++) {\n if (\n getTextByPathList(shapAdjstArray[i], [\"attrs\", \"name\"]) === \"adj\"\n ) {\n shapAdjst = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"fmla\",\n ]);\n }\n }\n let adjstVal = 0.25;\n const maxAdjConst = 0.62211;\n\n if (shapAdjst !== undefined) {\n const adjst = (parseInt(shapAdjst.substr(4)) * 96) / 9144000;\n adjstVal = (adjst * 0.5) / maxAdjConst;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nadjst: \"+adjstVal);\n }\n result +=\n \" <polygon points='\" +\n w * adjstVal +\n \" 0,0 \" +\n h / 2 +\n \",\" +\n w * adjstVal +\n \" \" +\n h +\n \",\" +\n (1 - adjstVal) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \",\" +\n (1 - adjstVal) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"heptagon\": {\n result +=\n \" <polygon points='\" +\n 0.5 * w +\n \" 0,\" +\n w / 8 +\n \" \" +\n h / 4 +\n \",0 \" +\n (5 / 8) * h +\n \",\" +\n w / 4 +\n \" \" +\n h +\n \",\" +\n (3 / 4) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n (5 / 8) * h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n h / 4 +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"octagon\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adj1 = 0.25;\n if (shapAdjst !== undefined) {\n adj1 = parseInt(shapAdjst.substr(4)) / 100000;\n }\n const adj2 = 1 - adj1;\n // console.log(\"adj1: \"+adj1+\"\\nadj2: \"+adj2);\n result +=\n \" <polygon points='\" +\n adj1 * w +\n \" 0,0 \" +\n adj1 * h +\n \",0 \" +\n adj2 * h +\n \",\" +\n adj1 * w +\n \" \" +\n h +\n \",\" +\n adj2 * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n adj2 * h +\n \",\" +\n w +\n \" \" +\n adj1 * h +\n \",\" +\n adj2 * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n\n break;\n }\n case \"decagon\": {\n result +=\n \" <polygon points='\" +\n (3 / 8) * w +\n \" 0,\" +\n w / 8 +\n \" \" +\n h / 8 +\n \",0 \" +\n h / 2 +\n \",\" +\n w / 8 +\n \" \" +\n (7 / 8) * h +\n \",\" +\n (3 / 8) * w +\n \" \" +\n h +\n \",\" +\n (5 / 8) * w +\n \" \" +\n h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n (7 / 8) * h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \",\" +\n (7 / 8) * w +\n \" \" +\n h / 8 +\n \",\" +\n (5 / 8) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"dodecagon\": {\n result +=\n \" <polygon points='\" +\n (3 / 8) * w +\n \" 0,\" +\n w / 8 +\n \" \" +\n h / 8 +\n \",0 \" +\n (3 / 8) * h +\n \",0 \" +\n (5 / 8) * h +\n \",\" +\n w / 8 +\n \" \" +\n (7 / 8) * h +\n \",\" +\n (3 / 8) * w +\n \" \" +\n h +\n \",\" +\n (5 / 8) * w +\n \" \" +\n h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n (7 / 8) * h +\n \",\" +\n w +\n \" \" +\n (5 / 8) * h +\n \",\" +\n w +\n \" \" +\n (3 / 8) * h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n h / 8 +\n \",\" +\n (5 / 8) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"bentConnector3\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n // console.log(\"isFlipV: \"+String(isFlipV)+\"\\nshapAdjst: \"+shapAdjst)\n let shapAdjstVal = 0.5;\n if (shapAdjst !== undefined) {\n shapAdjstVal = parseInt(shapAdjst.substr(4)) / 100000;\n // console.log(\"isFlipV: \"+String(isFlipV)+\"\\nshapAdjst: \"+shapAdjst+\"\\nshapAdjstVal: \"+shapAdjstVal);\n if (isFlipV) {\n result +=\n \" <polyline points='\" +\n w +\n \" 0,\" +\n (1 - shapAdjstVal) * w +\n \" 0,\" +\n (1 - shapAdjstVal) * w +\n \" \" +\n h +\n \",0 \" +\n h +\n \"' fill='transparent'\" +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n } else {\n result +=\n \" <polyline points='0 0,\" +\n shapAdjstVal * w +\n \" 0,\" +\n shapAdjstVal * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \"' fill='transparent'\" +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n }\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n }\n break;\n }\n case \"plus\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adj1 = 0.25;\n if (shapAdjst !== undefined) {\n adj1 = parseInt(shapAdjst.substr(4)) / 100000;\n }\n const adj2 = 1 - adj1;\n result +=\n \" <polygon points='\" +\n adj1 * w +\n \" 0,\" +\n adj1 * w +\n \" \" +\n adj1 * h +\n \",0 \" +\n adj1 * h +\n \",0 \" +\n adj2 * h +\n \",\" +\n adj1 * w +\n \" \" +\n adj2 * h +\n \",\" +\n adj1 * w +\n \" \" +\n h +\n \",\" +\n adj2 * w +\n \" \" +\n h +\n \",\" +\n adj2 * w +\n \" \" +\n adj2 * h +\n \",\" +\n w +\n \" \" +\n adj2 * h +\n \",\" +\n +w +\n \" \" +\n adj1 * h +\n \",\" +\n adj2 * w +\n \" \" +\n adj1 * h +\n \",\" +\n adj2 * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n // console.log((!imgFillFlg?(grndFillFlg?\"url(#linGrd_\"+shpId+\")\":fillColor):\"url(#imgPtrn_\"+shpId+\")\"))\n break;\n }\n case \"line\":\n case \"straightConnector1\":\n case \"bentConnector4\":\n case \"bentConnector5\":\n case \"curvedConnector2\":\n case \"curvedConnector3\":\n case \"curvedConnector4\":\n case \"curvedConnector5\": {\n if (isFlipV) {\n result +=\n \"<line x1='\" +\n w +\n \"' y1='0' x2='0' y2='\" +\n h +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n } else {\n result +=\n \"<line x1='0' y1='0' x2='\" +\n w +\n \"' y2='\" +\n h +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n }\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n break;\n }\n case \"rightArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = w / h;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = 1 - sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='\" +\n w +\n \" \" +\n h / 2 +\n \",\" +\n sAdj2Val * w +\n \" 0,\" +\n sAdj2Val * w +\n \" \" +\n sAdj1Val * h +\n \",0 \" +\n sAdj1Val * h +\n \",0 \" +\n (1 - sAdj1Val) * h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \", \" +\n sAdj2Val * w +\n \" \" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"leftArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = w / h;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='0 \" +\n h / 2 +\n \",\" +\n sAdj2Val * w +\n \" \" +\n h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n w +\n \" \" +\n sAdj1Val * h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n sAdj1Val * h +\n \", \" +\n sAdj2Val * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"downArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = h / w;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='\" +\n (0.5 - sAdj1Val) * w +\n \" 0,\" +\n (0.5 - sAdj1Val) * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",0 \" +\n (1 - sAdj2Val) * h +\n \",\" +\n w / 2 +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",\" +\n (0.5 + sAdj1Val) * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \", \" +\n (0.5 + sAdj1Val) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"upArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = h / w;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n result +=\n \" <polygon points='\" +\n w / 2 +\n \" 0,0 \" +\n sAdj2Val * h +\n \",\" +\n (0.5 - sAdj1Val) * w +\n \" \" +\n sAdj2Val * h +\n \",\" +\n (0.5 - sAdj1Val) * w +\n \" \" +\n h +\n \",\" +\n (0.5 + sAdj1Val) * w +\n \" \" +\n h +\n \",\" +\n (0.5 + sAdj1Val) * w +\n \" \" +\n sAdj2Val * h +\n \", \" +\n w +\n \" \" +\n sAdj2Val * h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"leftRightArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = w / h;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='0 \" +\n h / 2 +\n \",\" +\n sAdj2Val * w +\n \" \" +\n h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n (1 - sAdj2Val) * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n (1 - sAdj2Val) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \", \" +\n (1 - sAdj2Val) * w +\n \" 0,\" +\n (1 - sAdj2Val) * w +\n \" \" +\n sAdj1Val * h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n sAdj1Val * h +\n \",\" +\n sAdj2Val * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"upDownArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = h / w;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='\" +\n w / 2 +\n \" 0,0 \" +\n sAdj2Val * h +\n \",\" +\n sAdj1Val * w +\n \" \" +\n sAdj2Val * h +\n \",\" +\n sAdj1Val * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",0 \" +\n (1 - sAdj2Val) * h +\n \",\" +\n w / 2 +\n \" \" +\n h +\n \", \" +\n w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",\" +\n (1 - sAdj1Val) * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",\" +\n (1 - sAdj1Val) * w +\n \" \" +\n sAdj2Val * h +\n \",\" +\n w +\n \" \" +\n sAdj2Val * h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"bentArrow\":\n case \"bentUpArrow\":\n case \"stripedRightArrow\":\n case \"quadArrow\":\n case \"circularArrow\":\n case \"swooshArrow\":\n case \"leftRightUpArrow\":\n case \"leftUpArrow\":\n case \"leftCircularArrow\":\n case \"notchedRightArrow\":\n case \"curvedDownArrow\":\n case \"curvedLeftArrow\":\n case \"curvedRightArrow\":\n case \"curvedUpArrow\":\n case \"uturnArrow\":\n case \"leftRightCircularArrow\":\n break;\n case undefined:\n default:\n console.warn(\"Undefine shape type.\");\n }\n\n result += \"</svg>\";\n\n result +=\n \"<div class='block content \" +\n getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) +\n \"' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n\n // TextBody\n if (node[\"p:txBody\"] !== undefined) {\n result += await genTextBody(\n node[\"p:txBody\"],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n result += \"</div>\";\n } else if (custShapType !== undefined) {\n // custGeom here - Amir ///////////////////////////////////////////////////////\n // http://officeopenxml.com/drwSp-custGeom.php\n const pathLstNode = getTextByPathList(custShapType, [\"a:pathLst\"]);\n // const pathNode = getTextByPathList(pathLstNode, ['a:path', 'attrs'])\n // const maxX = parseInt(pathNode['w']) * 96 / 914400\n // const maxY = parseInt(pathNode['h']) * 96 / 914400\n // console.log(\"w = \"+w+\"\\nh = \"+h+\"\\nmaxX = \"+maxX +\"\\nmaxY = \" + maxY);\n // cheke if it is close shape\n const closeNode = getTextByPathList(pathLstNode, [\"a:path\", \"a:close\"]);\n const startPoint = getTextByPathList(pathLstNode, [\n \"a:path\",\n \"a:moveTo\",\n \"a:pt\",\n \"attrs\",\n ]) || { x: \"0\", y: \"0\" };\n const spX = (parseInt(startPoint[\"x\"]) * 96) / 914400;\n const spY = (parseInt(startPoint[\"y\"]) * 96) / 914400;\n let d = \"M\" + spX + \",\" + spY;\n const pathNodes = getTextByPathList(pathLstNode, [\"a:path\"]);\n const lnToNodes = pathNodes[\"a:lnTo\"];\n const cubicBezToNodes = pathNodes[\"a:cubicBezTo\"];\n const sortblAry = [];\n if (lnToNodes !== undefined) {\n Object.keys(lnToNodes).forEach(function (key) {\n const lnToPtNode = lnToNodes[key][\"a:pt\"];\n if (lnToPtNode !== undefined) {\n Object.keys(lnToPtNode).forEach(function (key2) {\n const ptObj = {};\n const lnToNoPt = lnToPtNode[key2];\n const ptX = lnToNoPt[\"x\"];\n const ptY = lnToNoPt[\"y\"];\n const ptOrdr = lnToNoPt[\"order\"];\n ptObj.type = \"lnto\";\n ptObj.order = ptOrdr;\n ptObj.x = ptX;\n ptObj.y = ptY;\n sortblAry.push(ptObj);\n // console.log(key2, lnToNoPt);\n });\n }\n });\n }\n if (cubicBezToNodes !== undefined) {\n Object.keys(cubicBezToNodes).forEach(function (key) {\n // console.log(\"cubicBezTo[\"+key+\"]:\");\n const cubicBezToPtNodes = cubicBezToNodes[key][\"a:pt\"];\n if (cubicBezToPtNodes !== undefined) {\n Object.keys(cubicBezToPtNodes).forEach(function (key2) {\n // console.log(\"cubicBezTo[\"+key+\"]pt[\"+key2+\"]:\");\n const cubBzPts = cubicBezToPtNodes[key2];\n Object.keys(cubBzPts).forEach(function (key3) {\n // console.log(key3, cubBzPts[key3]);\n const ptObj = {};\n const cubBzPt = cubBzPts[key3];\n const ptX = cubBzPt[\"x\"];\n const ptY = cubBzPt[\"y\"];\n const ptOrdr = cubBzPt[\"order\"];\n ptObj.type = \"cubicBezTo\";\n ptObj.order = ptOrdr;\n ptObj.x = ptX;\n ptObj.y = ptY;\n sortblAry.push(ptObj);\n });\n });\n }\n });\n }\n const sortByOrder = sortblAry.slice(0);\n sortByOrder.sort(function (a, b) {\n return a.order - b.order;\n });\n // console.log(sortByOrder);\n let k = 0;\n while (k < sortByOrder.length) {\n if (sortByOrder[k].type === \"lnto\") {\n const Lx = (parseInt(sortByOrder[k].x) * 96) / 914400;\n const Ly = (parseInt(sortByOrder[k].y) * 96) / 914400;\n d += \"L\" + Lx + \",\" + Ly;\n k++;\n } else {\n // \"cubicBezTo\"\n const Cx1 = (parseInt(sortByOrder[k].x) * 96) / 914400;\n const Cy1 = (parseInt(sortByOrder[k].y) * 96) / 914400;\n const Cx2 = (parseInt(sortByOrder[k + 1].x) * 96) / 914400;\n const Cy2 = (parseInt(sortByOrder[k + 1].y) * 96) / 914400;\n const Cx3 = (parseInt(sortByOrder[k + 2].x) * 96) / 914400;\n const Cy3 = (parseInt(sortByOrder[k + 2].y) * 96) / 914400;\n\n d +=\n \"C\" +\n Cx1 +\n \",\" +\n Cy1 +\n \" \" +\n Cx2 +\n \",\" +\n Cy2 +\n \" \" +\n Cx3 +\n \",\" +\n Cy3;\n k += 3;\n }\n }\n result +=\n \"<path d='\" +\n d +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n if (closeNode !== undefined) {\n // console.log(\"Close shape\");\n result += \"/>\";\n } else {\n // console.log(\"Open shape\");\n // check and add \"marker-start\" and \"marker-end\"\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n }\n\n result += \"</svg>\";\n\n result +=\n \"<div class='block content \" +\n getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) +\n \"' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n\n // TextBody\n if (node[\"p:txBody\"] !== undefined) {\n result += await genTextBody(\n node[\"p:txBody\"],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n result += \"</div>\";\n\n // result = \"\";\n } else {\n result +=\n \"<div class='block content \" +\n getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) +\n \"' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getBorder(node, false) +\n (await getShapeFill(node, false, warpObj)) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n\n // TextBody\n if (node[\"p:txBody\"] !== undefined) {\n result += await genTextBody(\n node[\"p:txBody\"],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n result += \"</div>\";\n }\n\n return result;\n }\n\n async function processPicNode(node, warpObj) {\n const order = node[\"attrs\"][\"order\"];\n\n const rid = node[\"p:blipFill\"][\"a:blip\"][\"attrs\"][\"r:embed\"];\n const imgName = warpObj[\"slideResObj\"][rid][\"target\"];\n const imgFileExt = extractFileExtension(imgName).toLowerCase();\n const zip = warpObj[\"zip\"];\n const imgArrayBuffer = await zip.file(imgName).async(\"arraybuffer\");\n let mimeType = \"\";\n const xfrmNode = node[\"p:spPr\"][\"a:xfrm\"];\n // /////////////////////////////////////Amir//////////////////////////////\n const rotate = angleToDegrees(node[\"p:spPr\"][\"a:xfrm\"][\"attrs\"][\"rot\"]);\n // ////////////////////////////////////////////////////////////////////////\n mimeType = getImageMimeType(imgFileExt);\n return (\n \"<div class='block content' style='\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'><img src='data:\" +\n mimeType +\n \";base64,\" +\n base64ArrayBuffer(imgArrayBuffer) +\n \"' style='width: 100%; height: 100%'/></div>\"\n );\n }\n\n async function processGraphicFrameNode(node, warpObj) {\n let result = \"\";\n const graphicTypeUri = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"attrs\",\n \"uri\",\n ]);\n\n switch (graphicTypeUri) {\n case \"http://schemas.openxmlformats.org/drawingml/2006/table\":\n result = await genTable(node, warpObj);\n break;\n case \"http://schemas.openxmlformats.org/drawingml/2006/chart\":\n result = await genChart(node, warpObj);\n break;\n case \"http://schemas.openxmlformats.org/drawingml/2006/diagram\":\n result = genDiagram(node, warpObj);\n break;\n default:\n }\n\n return result;\n }\n\n /*\nfunction processSpPrNode (node, warpObj) {\n /!*\n * 2241 <xsd:complexType name=\"CT_ShapeProperties\">\n * 2242 <xsd:sequence>\n * 2243 <xsd:element name=\"xfrm\" type=\"CT_Transform2D\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2244 <xsd:group ref=\"EG_Geometry\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2245 <xsd:group ref=\"EG_FillProperties\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2246 <xsd:element name=\"ln\" type=\"CT_LineProperties\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2247 <xsd:group ref=\"EG_EffectProperties\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2248 <xsd:element name=\"scene3d\" type=\"CT_Scene3D\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2249 <xsd:element name=\"sp3d\" type=\"CT_Shape3D\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2250 <xsd:element name=\"extLst\" type=\"CT_OfficeArtExtensionList\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2251 </xsd:sequence>\n * 2252 <xsd:attribute name=\"bwMode\" type=\"ST_BlackWhiteMode\" use=\"optional\"/>\n * 2253 </xsd:complexType>\n *!/\n\n // TODO:\n}\n*/\n\n async function genTextBody(\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n ) {\n let text = \"\";\n const slideMasterTextStyles = warpObj[\"slideMasterTextStyles\"];\n\n if (textBodyNode === undefined) {\n return text;\n }\n // rtl : <p:txBody>\n // <a:bodyPr wrap=\"square\" rtlCol=\"1\">\n\n // const rtlStr = \"\";\n let pNode;\n let rNode;\n if (textBodyNode[\"a:p\"].constructor === Array) {\n // multi p\n for (let i = 0; i < textBodyNode[\"a:p\"].length; i++) {\n pNode = textBodyNode[\"a:p\"][i];\n rNode = pNode[\"a:r\"];\n\n // const isRTL = getTextDirection(pNode, type, slideMasterTextStyles);\n // rtlStr = \"\";//\"dir='\"+isRTL+\"'\";\n\n text +=\n \"<div class='\" +\n getHorizontalAlign(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) +\n \"'>\";\n text += await genBuChar(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n\n if (rNode === undefined) {\n // without r\n text += genSpanElement(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n } else if (rNode.constructor === Array) {\n // with multi r\n for (let j = 0; j < rNode.length; j++) {\n text += genSpanElement(\n rNode[j],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n // ////////////////Amir////////////\n if (pNode[\"a:br\"] !== undefined) {\n text += \"<br>\";\n }\n // ////////////////////////////////\n }\n } else {\n // with one r\n text += genSpanElement(\n rNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n text += \"</div>\";\n }\n } else {\n // one p\n pNode = textBodyNode[\"a:p\"];\n rNode = pNode[\"a:r\"];\n\n // const isRTL = getTextDirection(pNode, type, slideMasterTextStyles);\n // rtlStr = \"\";//\"dir='\"+isRTL+\"'\";\n\n text +=\n \"<div class='slide-prgrph \" +\n getHorizontalAlign(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) +\n \"'>\";\n text += await genBuChar(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n if (rNode === undefined) {\n // without r\n text += genSpanElement(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n } else if (rNode.constructor === Array) {\n // with multi r\n for (let j = 0; j < rNode.length; j++) {\n text += genSpanElement(\n rNode[j],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n // ////////////////Amir////////////\n if (pNode[\"a:br\"] !== undefined) {\n text += \"<br>\";\n }\n // ////////////////////////////////\n }\n } else {\n // with one r\n text += genSpanElement(\n rNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n text += \"</div>\";\n }\n\n return text;\n }\n\n async function genBuChar(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n ) {\n // /////////////////////////////////////Amir///////////////////////////////\n const sldMstrTxtStyles = warpObj[\"slideMasterTextStyles\"];\n\n const rNode = node[\"a:r\"];\n let dfltBultColor, dfltBultSize, bultColor, bultSize;\n if (rNode !== undefined) {\n dfltBultColor = getFontColor(rNode, type, sldMstrTxtStyles);\n dfltBultSize = getFontSize(\n rNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n sldMstrTxtStyles\n );\n } else {\n dfltBultColor = getFontColor(node, type, sldMstrTxtStyles);\n dfltBultSize = getFontSize(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n sldMstrTxtStyles\n );\n }\n // console.log(\"Bullet Size: \" + bultSize);\n\n let bullet = \"\";\n // ///////////////////////////////////////////////////////////////\n\n const pPrNode = node[\"a:pPr\"];\n\n // ////////////////cheke if is rtl ///Amir ////////////////////////////////////\n const getRtlVal = getTextByPathList(pPrNode, [\"attrs\", \"rtl\"]);\n let isRTL = false;\n if (getRtlVal !== undefined && getRtlVal === \"1\") {\n isRTL = true;\n }\n // //////////////////////////////////////////////////////////\n\n let lvl = parseInt(getTextByPathList(pPrNode, [\"attrs\", \"lvl\"]));\n if (isNaN(lvl)) {\n lvl = 0;\n }\n\n const buChar = getTextByPathList(pPrNode, [\"a:buChar\", \"attrs\", \"char\"]);\n // ///////////////////////////////Amir///////////////////////////////////\n let buType = \"TYPE_NONE\";\n const buNum = getTextByPathList(pPrNode, [\"a:buAutoNum\", \"attrs\", \"type\"]);\n const buPic = getTextByPathList(pPrNode, [\"a:buBlip\"]);\n if (buChar !== undefined) {\n buType = \"TYPE_BULLET\";\n // console.log(\"Bullet Chr to code: \" + buChar.charCodeAt(0));\n }\n if (buNum !== undefined) {\n buType = \"TYPE_NUMERIC\";\n }\n if (buPic !== undefined) {\n buType = \"TYPE_BULPIC\";\n }\n\n let buFontAttrs;\n if (buType !== \"TYPE_NONE\") {\n buFontAttrs = getTextByPathList(pPrNode, [\"a:buFont\", \"attrs\"]);\n }\n // console.log(\"Bullet Type: \" + buType);\n // console.log(\"NumericTypr: \" + buNum);\n // console.log(\"buChar: \" + (buChar === undefined?'':buChar.charCodeAt(0)));\n // get definde bullet COLOR\n let defBultColor = \"NoNe\";\n\n if (pPrNode) {\n const buClrNode = pPrNode[\"a:buClr\"];\n if (buClrNode !== undefined) {\n defBultColor = getSolidFill(buClrNode);\n } else {\n // console.log(\"buClrNode: \" + buClrNode);\n }\n }\n\n if (defBultColor === \"NoNe\") {\n bultColor = dfltBultColor;\n } else {\n bultColor = \"#\" + defBultColor;\n }\n // get definde bullet SIZE\n let buFontSize;\n buFontSize = getTextByPathList(pPrNode, [\"a:buSzPts\", \"attrs\", \"val\"]); // pt\n if (buFontSize !== undefined) {\n bultSize = parseInt(buFontSize) / 100 + \"pt\";\n } else {\n buFontSize = getTextByPathList(pPrNode, [\"a:buSzPct\", \"attrs\", \"val\"]);\n if (buFontSize !== undefined) {\n const prcnt = parseInt(buFontSize) / 100000;\n // dfltBultSize = XXpt\n const dfltBultSizeNoPt = dfltBultSize.substr(\n 0,\n dfltBultSize.length - 2\n );\n bultSize = prcnt * parseInt(dfltBultSizeNoPt) + \"pt\";\n } else {\n bultSize = dfltBultSize;\n }\n }\n // //////////////////////////////////////////////////////////////////////\n let marginLeft;\n let marginRight;\n if (buType === \"TYPE_BULLET\") {\n // const buFontAttrs = getTextByPathList(pPrNode, [\"a:buFont\", \"attrs\"]);\n if (buFontAttrs !== undefined) {\n marginLeft =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marL\"])) * 96) /\n 914400;\n marginRight = parseInt(buFontAttrs[\"pitchFamily\"]);\n if (isNaN(marginLeft)) {\n marginLeft = (328600 * 96) / 914400;\n }\n if (isNaN(marginRight)) {\n marginRight = 0;\n }\n const typeface = buFontAttrs[\"typeface\"];\n\n bullet =\n \"<span style='font-family: \" +\n typeface +\n \"; margin-left: \" +\n marginLeft * lvl +\n \"px\" +\n \"; margin-right: \" +\n marginRight +\n \"px\" +\n \";color:\" +\n bultColor +\n \";font-size:\" +\n bultSize +\n \";\";\n if (isRTL) {\n bullet += \" float: right; direction:rtl\";\n }\n bullet += \"'>\" + buChar + \"</span>\";\n } else {\n marginLeft = ((328600 * 96) / 914400) * lvl;\n\n bullet =\n \"<span style='margin-left: \" +\n marginLeft +\n \"px;'>\" +\n buChar +\n \"</span>\";\n }\n } else if (buType === \"TYPE_NUMERIC\") {\n // /////////Amir///////////////////////////////\n if (buFontAttrs !== undefined) {\n marginLeft =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marL\"])) * 96) /\n 914400;\n marginRight = parseInt(buFontAttrs[\"pitchFamily\"]);\n\n if (isNaN(marginLeft)) {\n marginLeft = (328600 * 96) / 914400;\n }\n if (isNaN(marginRight)) {\n marginRight = 0;\n }\n // const typeface = buFontAttrs[\"typeface\"];\n\n bullet =\n \"<span style='margin-left: \" +\n marginLeft * lvl +\n \"px\" +\n \"; margin-right: \" +\n marginRight +\n \"px\" +\n \";color:\" +\n bultColor +\n \";font-size:\" +\n bultSize +\n \";\";\n if (isRTL) {\n bullet += \" float: right; direction:rtl;\";\n } else {\n bullet += \" float: left; direction:ltr;\";\n }\n bullet +=\n \"' data-bulltname = '\" +\n buNum +\n \"' data-bulltlvl = '\" +\n lvl +\n \"' class='numeric-bullet-style'></span>\";\n } else {\n marginLeft = ((328600 * 96) / 914400) * lvl;\n bullet = \"<span style='margin-left: \" + marginLeft + \"px;\";\n if (isRTL) {\n bullet += \" float: right; direction:rtl;\";\n } else {\n bullet += \" float: left; direction:ltr;\";\n }\n bullet +=\n \"' data-bulltname = '\" +\n buNum +\n \"' data-bulltlvl = '\" +\n lvl +\n \"' class='numeric-bullet-style'></span>\";\n }\n } else if (buType === \"TYPE_BULPIC\") {\n // PIC BULLET\n marginLeft =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marL\"])) * 96) / 914400;\n marginRight =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marR\"])) * 96) / 914400;\n\n if (isNaN(marginRight)) {\n marginRight = 0;\n }\n // console.log(\"marginRight: \"+marginRight)\n // buPic\n if (isNaN(marginLeft)) {\n marginLeft = (328600 * 96) / 914400;\n } else {\n marginLeft = 0;\n }\n // const buPicId = getTextByPathList(buPic, [\"a:blip\",\"a:extLst\",\"a:ext\",\"asvg:svgBlip\" , \"attrs\", \"r:embed\"]);\n const buPicId = getTextByPathList(buPic, [\"a:blip\", \"attrs\", \"r:embed\"]);\n // const svgPicPath = ''\n let buImg;\n if (buPicId !== undefined) {\n // svgPicPath = warpObj[\"slideResObj\"][buPicId][\"target\"];\n // buImg = warpObj[\"zip\"].file(svgPicPath).asText();\n // }else{\n // buPicId = getTextByPathList(buPic, [\"a:blip\", \"attrs\", \"r:embed\"]);\n const imgPath = warpObj[\"slideResObj\"][buPicId][\"target\"];\n const imgArrayBuffer = await warpObj[\"zip\"]\n .file(imgPath)\n .async(\"arraybuffer\");\n const imgExt = imgPath.split(\".\").pop();\n const imgMimeType = getImageMimeType(imgExt);\n buImg =\n \"<img src='data:\" +\n imgMimeType +\n \";base64,\" +\n base64ArrayBuffer(imgArrayBuffer) +\n \"' style='width: 100%; height: 100%'/>\";\n // console.log(\"imgPath: \"+imgPath+\"\\nimgMimeType: \"+imgMimeType)\n }\n if (buPicId === undefined) {\n buImg = \"&#8227;\";\n }\n bullet =\n \"<span style='margin-left: \" +\n marginLeft * lvl +\n \"px\" +\n \"; margin-right: \" +\n marginRight +\n \"px\" +\n \";width:\" +\n bultSize +\n \";display: inline-block; \";\n if (isRTL) {\n bullet += \" float: right;direction:rtl\";\n }\n bullet += \"'>\" + buImg + \" </span>\";\n // ////////////////////////////////////////////////////////////////////////////////////\n } else {\n bullet =\n \"<span style='margin-left: \" +\n ((328600 * 96) / 914400) * lvl +\n \"px\" +\n \"; margin-right: \" +\n 0 +\n \"px;'></span>\";\n }\n\n return bullet;\n }\n\n function genSpanElement(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n ) {\n const slideMasterTextStyles = warpObj[\"slideMasterTextStyles\"];\n\n let text = node[\"a:t\"];\n if (typeof text !== \"string\" && !(text instanceof String)) {\n text = getTextByPathList(node, [\"a:fld\", \"a:t\"]);\n if (typeof text !== \"string\" && !(text instanceof String)) {\n text = \"&nbsp;\";\n }\n }\n\n let styleText =\n \"color:\" +\n getFontColor(node, type, slideMasterTextStyles) +\n \";font-size:\" +\n getFontSize(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) +\n \";font-family:\" +\n getFontType(node, type, slideMasterTextStyles) +\n \";font-weight:\" +\n getFontBold(node, type, slideMasterTextStyles) +\n \";font-style:\" +\n getFontItalic(node, type, slideMasterTextStyles) +\n \";text-decoration:\" +\n getFontDecoration(node, type, slideMasterTextStyles) +\n \";text-align:\" +\n getTextHorizontalAlign(node, type, slideMasterTextStyles) +\n \";vertical-align:\" +\n getTextVerticalAlign(node, type, slideMasterTextStyles) +\n \";\";\n // ////////////////Amir///////////////\n const highlight = getTextByPathList(node, [\"a:rPr\", \"a:highlight\"]);\n if (highlight !== undefined) {\n styleText += \"background-color:#\" + getSolidFill(highlight) + \";\";\n styleText += \"Opacity:\" + getColorOpacity(highlight) + \";\";\n }\n // /////////////////////////////////////////\n let cssName = \"\";\n\n if (styleText in styleTable) {\n cssName = styleTable[styleText][\"name\"];\n } else {\n cssName = \"_css_\" + (Object.keys(styleTable).length + 1);\n styleTable[styleText] = {\n name: cssName,\n text: styleText,\n };\n }\n\n const linkID = getTextByPathList(node, [\n \"a:rPr\",\n \"a:hlinkClick\",\n \"attrs\",\n \"r:id\",\n ]);\n // get link colors : TODO\n if (linkID !== undefined) {\n const linkURL = warpObj[\"slideResObj\"][linkID][\"target\"];\n return (\n \"<span class='text-block \" +\n cssName +\n \"'><a href='\" +\n linkURL +\n \"' target='_blank'>\" +\n text.replace(/\\s/i, \"&nbsp;\") +\n \"</a></span>\"\n );\n } else {\n return (\n \"<span class='text-block \" +\n cssName +\n \"'>\" +\n text.replace(/\\s/i, \"&nbsp;\") +\n \"</span>\"\n );\n }\n }\n\n function genGlobalCSS() {\n let cssText = \"\";\n for (let key in styleTable) {\n cssText +=\n \"section .\" +\n styleTable[key][\"name\"] +\n \"{\" +\n styleTable[key][\"text\"] +\n \"}\\n\";\n }\n return cssText;\n }\n\n async function genTable(node, warpObj) {\n const order = node[\"attrs\"][\"order\"];\n const tableNode = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"a:tbl\",\n ]);\n const xfrmNode = getTextByPathList(node, [\"p:xfrm\"]);\n // ///////////////////////////////////////Amir////////////////////////////////////////////////\n const getTblPr = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"a:tbl\",\n \"a:tblPr\",\n ]);\n const getColsGrid = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"a:tbl\",\n \"a:tblGrid\",\n \"a:gridCol\",\n ]);\n let tblDir = \"\";\n if (getTblPr !== undefined) {\n const isRTL = getTblPr[\"attrs\"][\"rtl\"];\n tblDir = isRTL === 1 ? \"dir=rtl\" : \"dir=ltr\";\n }\n const firstRowAttr = getTblPr[\"attrs\"][\"firstRow\"]; // associated element <a:firstRow> in the table styles\n // const firstColAttr = getTblPr['attrs']['firstCol'] // associated element <a:firstCol> in the table styles\n // const lastRowAttr = getTblPr['attrs']['lastRow'] // associated element <a:lastRow> in the table styles\n // const lastColAttr = getTblPr['attrs']['lastCol'] // associated element <a:lastCol> in the table styles\n const bandRowAttr = getTblPr[\"attrs\"][\"bandRow\"]; // associated element <a:band1H>, <a:band2H> in the table styles\n // const bandColAttr = getTblPr['attrs']['bandCol'] // associated element <a:band1V>, <a:band2V> in the table styles\n // console.log(firstColAttr);\n // //////////////////////////////////////////////////////////////////////////////////////////\n let tableHtml =\n \"<table \" +\n tblDir +\n \" style='border-collapse: collapse;\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";'>\";\n\n const trNodes = tableNode[\"a:tr\"];\n if (trNodes.constructor === Array) {\n for (let i = 0; i < trNodes.length; i++) {\n // ////////////rows Style ////////////Amir\n const rowHeightParam = trNodes[i][\"attrs\"][\"h\"];\n let rowHeight = 0;\n let rowsStyl = \"\";\n if (rowHeightParam !== undefined) {\n rowHeight = (parseInt(rowHeightParam) * 96) / 914400;\n rowsStyl += \"height:\" + rowHeight + \"px;\";\n // tableHtml += \"<tr style='height:\"+rowHeight+\"px;'>\";\n }\n\n // get from Theme (tableStyles.xml) TODO\n // get tableStyleId = a:tbl => a:tblPr => a:tableStyleId\n let thisTblStyle = {};\n const tbleStyleId = getTblPr[\"a:tableStyleId\"];\n if (tbleStyleId !== undefined) {\n // get Style from tableStyles.xml by {const tbleStyleId}\n // table style object : tableStyles\n const tbleStylList = tableStyles[\"a:tblStyleLst\"][\"a:tblStyle\"] || [];\n\n for (let k = 0; k < tbleStylList.length; k++) {\n if (tbleStylList[k][\"attrs\"][\"styleId\"] === tbleStyleId) {\n thisTblStyle = tbleStylList[k];\n }\n }\n }\n // console.log(thisTblStyle);\n if (i === 0 && firstRowAttr !== undefined) {\n let fillColor = \"fff\";\n let colorOpacity = 1;\n if (thisTblStyle[\"a:firstRow\"] !== undefined) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, [\n \"a:firstRow\",\n \"a:tcStyle\",\n \"a:fill\",\n \"a:solidFill\",\n ]);\n if (bgFillschemeClr !== undefined) {\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n // console.log(thisTblStyle[\"a:firstRow\"])\n\n // borders color\n // borders Width\n const borderStyl = getTextByPathList(thisTblStyle, [\n \"a:firstRow\",\n \"a:tcStyle\",\n \"a:tcBdr\",\n ]);\n if (borderStyl !== undefined) {\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n // console.log(thisTblStyle[\"a:firstRow\"])\n\n // Text Style - TODO\n const rowTxtStyl = getTextByPathList(thisTblStyle, [\n \"a:firstRow\",\n \"a:tcTxStyle\",\n ]);\n if (rowTxtStyl !== undefined) {\n /*\n const styleText =\n \"color:\" + getFontColor(node, type, slideMasterTextStyles) +\n \";font-size:\" + getFontSize(node, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles) +\n \";font-family:\" + getFontType(node, type, slideMasterTextStyles) +\n \";font-weight:\" + getFontBold(node, type, slideMasterTextStyles) +\n \";font-style:\" + getFontItalic(node, type, slideMasterTextStyles) +\n \";text-decoration:\" + getFontDecoration(node, type, slideMasterTextStyles) +\n \";text-align:\" + getTextHorizontalAlign(node, type, slideMasterTextStyles) +\n \";vertical-align:\" + getTextVerticalAlign(node, type, slideMasterTextStyles) +\n \";\";\n */\n }\n }\n rowsStyl +=\n \" background-color:#\" +\n fillColor +\n \";\" +\n \" opacity:\" +\n colorOpacity +\n \";\";\n } else if (i > 0 && bandRowAttr !== undefined) {\n let fillColor = \"fff\";\n let colorOpacity = 1;\n if (i % 2 === 0) {\n if (thisTblStyle[\"a:band2H\"] !== undefined) {\n // console.log(thisTblStyle[\"a:band2H\"]);\n const bgFillschemeClr = getTextByPathList(thisTblStyle, [\n \"a:band2H\",\n \"a:tcStyle\",\n \"a:fill\",\n \"a:solidFill\",\n ]);\n if (bgFillschemeClr !== undefined) {\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n // borders color\n // borders Width\n const borderStyl = getTextByPathList(thisTblStyle, [\n \"a:band2H\",\n \"a:tcStyle\",\n \"a:tcBdr\",\n ]);\n if (borderStyl !== undefined) {\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n // console.log(thisTblStyle[\"a:band2H\"])\n\n // Text Style - TODO\n const rowTxtStyl = getTextByPathList(thisTblStyle, [\n \"a:band2H\",\n \"a:tcTxStyle\",\n ]);\n if (rowTxtStyl !== undefined) {\n }\n // console.log(i,thisTblStyle)\n }\n /* else{\n const bgFillschemeClr = thisTblStyle[\"a:wholeTbl\"][\"a:tcStyle\"][\"a:fill\"][\"a:solidFill\"];\n if(bgFillschemeClr !==undefined){\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n //borders color\n //borders Width\n const borderStyl = thisTblStyle[\"a:wholeTbl\"][\"a:tcStyle\"][\"a:tcBdr\"];\n if(borderStyl !== undefined){\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n //console.log(thisTblStyle[\"a:wholeTbl\"])\n\n //Text Style - TODO\n const rowTxtStyl = thisTblStyle[\"a:wholeTbl\"][\"a:tcTxStyle\"];\n if(rowTxtStyl !== undefined){\n }\n } */\n } else {\n if (thisTblStyle[\"a:band1H\"] !== undefined) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, [\n \"a:band1H\",\n \"a:tcStyle\",\n \"a:fill\",\n \"a:solidFill\",\n ]);\n if (bgFillschemeClr !== undefined) {\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n // borders color\n // borders Width\n const borderStyl = getTextByPathList(thisTblStyle, [\n \"a:band1H\",\n \"a:tcStyle\",\n \"a:tcBdr\",\n ]);\n if (borderStyl !== undefined) {\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n // console.log(thisTblStyle[\"a:band1H\"])\n\n // Text Style - TODO\n const rowTxtStyl = getTextByPathList(thisTblStyle, [\n \"a:band1H\",\n \"a:tcTxStyle\",\n ]);\n if (rowTxtStyl !== undefined) {\n }\n }\n }\n rowsStyl +=\n \" background-color:#\" +\n fillColor +\n \";\" +\n \" opacity:\" +\n colorOpacity +\n \";\";\n }\n tableHtml += \"<tr style='\" + rowsStyl + \"'>\";\n // //////////////////////////////////////////////\n\n const tcNodes = trNodes[i][\"a:tc\"];\n\n if (tcNodes.constructor === Array) {\n for (let j = 0; j < tcNodes.length; j++) {\n const text = await genTextBody(\n tcNodes[j][\"a:txBody\"],\n undefined,\n undefined,\n undefined,\n warpObj\n );\n const rowSpan = getTextByPathList(tcNodes[j], [\"attrs\", \"rowSpan\"]);\n const colSpan = getTextByPathList(tcNodes[j], [\n \"attrs\",\n \"gridSpan\",\n ]);\n const vMerge = getTextByPathList(tcNodes[j], [\"attrs\", \"vMerge\"]);\n const hMerge = getTextByPathList(tcNodes[j], [\"attrs\", \"hMerge\"]);\n // Cells Style : TODO /////////////Amir\n // console.log(tcNodes[j]);\n // if(j==0 && ())\n const colWidthParam = getColsGrid[j][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[j][\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n // console.log(getFill);\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme (tableStyles.xml) TODO\n // get tableStyleId = a:tbl => a:tblPr => a:tableStyleId\n const tbleStyleId = getTblPr[\"a:tableStyleId\"];\n if (tbleStyleId !== undefined) {\n // get Style from tableStyles.xml by {const tbleStyleId}\n // table style object : tableStyles\n const tbleStylList =\n tableStyles[\"a:tblStyleLst\"][\"a:tblStyle\"] || [];\n\n for (let k = 0; k < tbleStylList.length; k++) {\n if (tbleStylList[k][\"attrs\"][\"styleId\"] === tbleStyleId) {\n // console.log(tbleStylList[k]);\n }\n }\n }\n // console.log(tbleStyleId);\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // console.log(fillColor);\n // //////////////////////////////////\n\n if (rowSpan !== undefined) {\n tableHtml +=\n \"<td rowspan='\" +\n parseInt(rowSpan) +\n \"' style='\" +\n colStyl +\n \"'>\" +\n text +\n \"</td>\";\n } else if (colSpan !== undefined) {\n tableHtml +=\n \"<td colspan='\" +\n parseInt(colSpan) +\n \"' style='\" +\n colStyl +\n \"'>\" +\n text +\n \"</td>\";\n } else if (vMerge === undefined && hMerge === undefined) {\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n }\n } else {\n const text = await genTextBody(tcNodes[\"a:txBody\"]);\n // Cells Style : TODO /////////////Amir\n const colWidthParam = getColsGrid[0][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n // console.log(getFill);\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme TODO\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // //////////////////////////////////\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n tableHtml += \"</tr>\";\n }\n } else {\n // ////////////row height ////////////Amir\n const rowHeightParam = trNodes[\"attrs\"][\"h\"];\n let rowHeight = 0;\n if (rowHeightParam !== undefined) {\n rowHeight = (parseInt(rowHeightParam) * 96) / 914400;\n tableHtml += \"<tr style='height:\" + rowHeight + \"px;'>\";\n } else {\n tableHtml += \"<tr>\";\n }\n // //////////////////////////////////////////////\n const tcNodes = trNodes[\"a:tc\"];\n if (tcNodes.constructor === Array) {\n for (let j = 0; j < tcNodes.length; j++) {\n const text = await genTextBody(tcNodes[j][\"a:txBody\"]);\n // Cells Style : TODO /////////////Amir\n const colWidthParam = getColsGrid[j][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[j][\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme TODO\n // get tableStyleId\n // a:tbl => a:tblPr => a:tableStyleId\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // //////////////////////////////////\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n } else {\n const text = await genTextBody(tcNodes[\"a:txBody\"]);\n // Cells Style : TODO /////////////Amir\n const colWidthParam = getColsGrid[0][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n // console.log(getFill);\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme TODO\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // //////////////////////////////////\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n tableHtml += \"</tr>\";\n }\n\n return tableHtml;\n }\n\n async function genChart(node, warpObj) {\n const order = node[\"attrs\"][\"order\"];\n const xfrmNode = getTextByPathList(node, [\"p:xfrm\"]);\n const result =\n \"<div id='chart\" +\n chartID +\n \"' class='block content' style='\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";'></div>\";\n\n const rid = node[\"a:graphic\"][\"a:graphicData\"][\"c:chart\"][\"attrs\"][\"r:id\"];\n const refName = warpObj[\"slideResObj\"][rid][\"target\"];\n const content = await readXmlFile(warpObj[\"zip\"], refName);\n const plotArea = getTextByPathList(content, [\n \"c:chartSpace\",\n \"c:chart\",\n \"c:plotArea\",\n ]);\n\n let chartData = null;\n for (let key in plotArea) {\n switch (key) {\n case \"c:lineChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"lineChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:barChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"barChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:pieChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"pieChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:pie3DChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"pie3DChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:areaChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"areaChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:scatterChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"scatterChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:catAx\":\n break;\n case \"c:valAx\":\n break;\n default:\n }\n }\n\n if (chartData !== null) {\n charts.push(chartData);\n }\n\n chartID++;\n return result;\n }\n\n function genDiagram(node, warpObj) {\n // const order = node['attrs']['order']\n const xfrmNode = getTextByPathList(node, [\"p:xfrm\"]);\n return (\n \"<div class='block content' style='border: 1px dotted;\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \"'>TODO: diagram</div>\"\n );\n }\n\n function getPosition(slideSpNode, slideLayoutSpNode, slideMasterSpNode) {\n let off;\n let x = -1;\n let y = -1;\n\n if (slideSpNode !== undefined) {\n off = slideSpNode[\"a:off\"][\"attrs\"];\n } else if (slideLayoutSpNode !== undefined) {\n off = slideLayoutSpNode[\"a:off\"][\"attrs\"];\n } else if (slideMasterSpNode !== undefined) {\n off = slideMasterSpNode[\"a:off\"][\"attrs\"];\n }\n\n if (off === undefined) {\n return \"\";\n } else {\n x = (parseInt(off[\"x\"]) * 96) / 914400;\n y = (parseInt(off[\"y\"]) * 96) / 914400;\n return isNaN(x) || isNaN(y) ? \"\" : \"top:\" + y + \"px; left:\" + x + \"px;\";\n }\n }\n\n function getSize(slideSpNode, slideLayoutSpNode, slideMasterSpNode) {\n let ext;\n let w = -1;\n let h = -1;\n\n if (slideSpNode !== undefined) {\n ext = slideSpNode[\"a:ext\"][\"attrs\"];\n } else if (slideLayoutSpNode !== undefined) {\n ext = slideLayoutSpNode[\"a:ext\"][\"attrs\"];\n } else if (slideMasterSpNode !== undefined) {\n ext = slideMasterSpNode[\"a:ext\"][\"attrs\"];\n }\n\n if (ext === undefined) {\n return \"\";\n } else {\n w = (parseInt(ext[\"cx\"]) * 96) / 914400;\n h = (parseInt(ext[\"cy\"]) * 96) / 914400;\n return isNaN(w) || isNaN(h)\n ? \"\"\n : \"width:\" + w + \"px; height:\" + h + \"px;\";\n }\n }\n\n function getHorizontalAlign(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) {\n let algn = getTextByPathList(node, [\"a:pPr\", \"attrs\", \"algn\"]);\n if (algn === undefined) {\n algn = getTextByPathList(slideLayoutSpNode, [\n \"p:txBody\",\n \"a:p\",\n \"a:pPr\",\n \"attrs\",\n \"algn\",\n ]);\n if (algn === undefined) {\n algn = getTextByPathList(slideMasterSpNode, [\n \"p:txBody\",\n \"a:p\",\n \"a:pPr\",\n \"attrs\",\n \"algn\",\n ]);\n if (algn === undefined) {\n switch (type) {\n case \"title\":\n case \"subTitle\":\n case \"ctrTitle\": {\n algn = getTextByPathList(slideMasterTextStyles, [\n \"p:titleStyle\",\n \"a:lvl1pPr\",\n \"attrs\",\n \"alng\",\n ]);\n break;\n }\n default: {\n algn = getTextByPathList(slideMasterTextStyles, [\n \"p:otherStyle\",\n \"a:lvl1pPr\",\n \"attrs\",\n \"alng\",\n ]);\n }\n }\n }\n }\n }\n // TODO:\n if (algn === undefined) {\n if (type === \"title\" || type === \"subTitle\" || type === \"ctrTitle\") {\n return \"h-mid\";\n } else if (type === \"sldNum\") {\n return \"h-right\";\n }\n }\n return algn === \"ctr\" ? \"h-mid\" : algn === \"r\" ? \"h-right\" : \"h-left\";\n }\n\n function getVerticalAlign(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) {\n // 上中下對齊: X, <a:bodyPr anchor=\"ctr\">, <a:bodyPr anchor=\"b\">\n let anchor = getTextByPathList(node, [\n \"p:txBody\",\n \"a:bodyPr\",\n \"attrs\",\n \"anchor\",\n ]);\n if (anchor === undefined) {\n anchor = getTextByPathList(slideLayoutSpNode, [\n \"p:txBody\",\n \"a:bodyPr\",\n \"attrs\",\n \"anchor\",\n ]);\n if (anchor === undefined) {\n anchor = getTextByPathList(slideMasterSpNode, [\n \"p:txBody\",\n \"a:bodyPr\",\n \"attrs\",\n \"anchor\",\n ]);\n }\n }\n\n return anchor === \"ctr\" ? \"v-mid\" : anchor === \"b\" ? \"v-down\" : \"v-up\";\n }\n\n function getFontType(node, type, slideMasterTextStyles) {\n let typeface = getTextByPathList(node, [\n \"a:rPr\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n\n if (typeface === undefined) {\n const fontSchemeNode = getTextByPathList(themeContent, [\n \"a:theme\",\n \"a:themeElements\",\n \"a:fontScheme\",\n ]);\n if (type === \"title\" || type === \"subTitle\" || type === \"ctrTitle\") {\n typeface = getTextByPathList(fontSchemeNode, [\n \"a:majorFont\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n } else if (type === \"body\") {\n typeface = getTextByPathList(fontSchemeNode, [\n \"a:minorFont\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n } else {\n typeface = getTextByPathList(fontSchemeNode, [\n \"a:minorFont\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n }\n }\n\n return typeface === undefined ? \"inherit\" : typeface;\n }\n\n function getFontColor(node, type, slideMasterTextStyles) {\n const solidFillNode = getTextByPathStr(node, \"a:rPr a:solidFill\");\n\n const color = getSolidFill(solidFillNode);\n // console.log(themeContent)\n // const schemeClr = getTextByPathList(buClrNode ,[\"a:schemeClr\", \"attrs\",\"val\"]);\n return color === undefined || color === \"FFF\" ? \"#000\" : \"#\" + color;\n }\n\n function getFontSize(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) {\n let fontSize;\n let sz;\n if (node[\"a:rPr\"] !== undefined) {\n fontSize = parseInt(node[\"a:rPr\"][\"attrs\"][\"sz\"]) / 100;\n }\n\n if (isNaN(fontSize) || fontSize === undefined) {\n sz = getTextByPathList(slideLayoutSpNode, [\n \"p:txBody\",\n \"a:lstStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n fontSize = parseInt(sz) / 100;\n }\n\n if (isNaN(fontSize) || fontSize === undefined) {\n if (type === \"title\" || type === \"subTitle\" || type === \"ctrTitle\") {\n sz = getTextByPathList(slideMasterTextStyles, [\n \"p:titleStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n } else if (type === \"body\") {\n sz = getTextByPathList(slideMasterTextStyles, [\n \"p:bodyStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n } else if (type === \"dt\" || type === \"sldNum\") {\n sz = \"1200\";\n } else if (type === undefined) {\n sz = getTextByPathList(slideMasterTextStyles, [\n \"p:otherStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n }\n fontSize = parseInt(sz) / 100;\n }\n\n const baseline = getTextByPathList(node, [\"a:rPr\", \"attrs\", \"baseline\"]);\n if (baseline !== undefined && !isNaN(fontSize)) {\n fontSize -= 10;\n }\n\n return isNaN(fontSize) ? \"inherit\" : fontSize + \"pt\";\n }\n\n function getFontBold(node, type, slideMasterTextStyles) {\n return node[\"a:rPr\"] !== undefined && node[\"a:rPr\"][\"attrs\"][\"b\"] === \"1\"\n ? \"bold\"\n : \"initial\";\n }\n\n function getFontItalic(node, type, slideMasterTextStyles) {\n return node[\"a:rPr\"] !== undefined && node[\"a:rPr\"][\"attrs\"][\"i\"] === \"1\"\n ? \"italic\"\n : \"normal\";\n }\n\n function getFontDecoration(node, type, slideMasterTextStyles) {\n // /////////////////////////////Amir///////////////////////////////\n if (node[\"a:rPr\"] !== undefined) {\n const underLine =\n node[\"a:rPr\"][\"attrs\"][\"u\"] !== undefined\n ? node[\"a:rPr\"][\"attrs\"][\"u\"]\n : \"none\";\n const strikethrough =\n node[\"a:rPr\"][\"attrs\"][\"strike\"] !== undefined\n ? node[\"a:rPr\"][\"attrs\"][\"strike\"]\n : \"noStrike\";\n // console.log(\"strikethrough: \"+strikethrough);\n\n if (underLine !== \"none\" && strikethrough === \"noStrike\") {\n return \"underline\";\n } else if (underLine === \"none\" && strikethrough !== \"noStrike\") {\n return \"line-through\";\n } else if (underLine !== \"none\" && strikethrough !== \"noStrike\") {\n return \"underline line-through\";\n } else {\n return \"initial\";\n }\n } else {\n return \"initial\";\n }\n // ///////////////////////////////////////////////////////////////\n // return (node[\"a:rPr\"] !== undefined && node[\"a:rPr\"][\"attrs\"][\"u\"] === \"sng\") ? \"underline\" : \"initial\";\n }\n\n // //////////////////////////////////Amir/////////////////////////////////////\n function getTextHorizontalAlign(node, type, slideMasterTextStyles) {\n const getAlgn = getTextByPathList(node, [\"a:pPr\", \"attrs\", \"algn\"]);\n let align = \"initial\";\n if (getAlgn !== undefined) {\n switch (getAlgn) {\n case \"l\": {\n align = \"left\";\n break;\n }\n case \"r\": {\n align = \"right\";\n break;\n }\n case \"ctr\": {\n align = \"center\";\n break;\n }\n case \"just\": {\n align = \"justify\";\n break;\n }\n case \"dist\": {\n align = \"justify\";\n break;\n }\n default:\n align = \"initial\";\n }\n }\n return align;\n }\n\n // ///////////////////////////////////////////////////////////////////\n function getTextVerticalAlign(node, type, slideMasterTextStyles) {\n const baseline = getTextByPathList(node, [\"a:rPr\", \"attrs\", \"baseline\"]);\n return baseline === undefined\n ? \"baseline\"\n : parseInt(baseline) / 1000 + \"%\";\n }\n\n // /////////////////////////////////Amir/////////////////////////////\n /*\nfunction getTextDirection (node, type, slideMasterTextStyles) {\n // get lvl\n const pprLvl = getTextByPathList(node, ['a:pPr', 'attrs', 'lvl'])\n const pprLvlNum = pprLvl === undefined ? 1 : Number(pprLvl) + 1\n const lvlNode = 'a:lvl' + pprLvlNum + 'pPr'\n const pprAlgn = getTextByPathList(node, ['a:pPr', 'attrs', 'algn'])\n const isDir = getTextByPathList(slideMasterTextStyles, ['p:bodyStyle', lvlNode, 'attrs', 'rtl'])\n // const tmp = getTextByPathList(node, [\"a:r\", \"a:t\"]);\n let dir = ''\n if (isDir !== undefined) {\n if (isDir === '1' && (pprAlgn === undefined || pprAlgn === 'r')) {\n dir = 'rtl'\n } else { // isDir ==\"0\"\n dir = 'ltr'\n }\n }\n // console.log(tmp,isDir,pprAlgn,dir)\n return dir\n}\n*/\n\n function getTableBorders(node) {\n let borderStyle = \"\";\n let obj;\n let borders;\n if (node[\"a:bottom\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:bottom\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-bottom\");\n }\n if (node[\"a:top\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:top\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-top\");\n }\n if (node[\"a:right\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:right\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-right\");\n }\n if (node[\"a:left\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:left\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-left\");\n }\n\n return borderStyle;\n }\n\n // ////////////////////////////////////////////////////////////////\n function getBorder(node, isSvgMode) {\n let cssText = \"border: \";\n\n // 1. presentationML\n const lineNode = node[\"p:spPr\"][\"a:ln\"];\n\n // Border width: 1pt = 12700, default = 0.75pt\n const borderWidth =\n parseInt(getTextByPathList(lineNode, [\"attrs\", \"w\"])) / 12700;\n if (isNaN(borderWidth) || borderWidth < 1) {\n cssText += \"1pt \";\n } else {\n cssText += borderWidth + \"pt \";\n }\n // Border type\n const borderType = getTextByPathList(lineNode, [\n \"a:prstDash\",\n \"attrs\",\n \"val\",\n ]);\n let strokeDasharray = \"0\";\n switch (borderType) {\n case \"solid\": {\n cssText += \"solid\";\n strokeDasharray = \"0\";\n break;\n }\n case \"dash\": {\n cssText += \"dashed\";\n strokeDasharray = \"5\";\n break;\n }\n case \"dashDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 5, 1, 5\";\n break;\n }\n case \"dot\": {\n cssText += \"dotted\";\n strokeDasharray = \"1, 5\";\n break;\n }\n case \"lgDash\": {\n cssText += \"dashed\";\n strokeDasharray = \"10, 5\";\n break;\n }\n case \"lgDashDotDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"10, 5, 1, 5, 1, 5\";\n break;\n }\n case \"sysDash\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 2\";\n break;\n }\n case \"sysDashDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 2, 1, 5\";\n break;\n }\n case \"sysDashDotDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 2, 1, 5, 1, 5\";\n break;\n }\n case \"sysDot\": {\n cssText += \"dotted\";\n strokeDasharray = \"2, 5\";\n break;\n }\n default: {\n cssText += \"solid\";\n strokeDasharray = \"0\";\n }\n }\n // Border color\n let borderColor = getTextByPathList(lineNode, [\n \"a:solidFill\",\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]);\n if (borderColor === undefined) {\n const schemeClrNode = getTextByPathList(lineNode, [\n \"a:solidFill\",\n \"a:schemeClr\",\n ]);\n if (schemeClrNode !== undefined) {\n const schemeClr =\n \"a:\" + getTextByPathList(schemeClrNode, [\"attrs\", \"val\"]);\n borderColor = getSchemeColorFromTheme(schemeClr, undefined);\n }\n }\n\n // 2. drawingML namespace\n if (borderColor === undefined) {\n const schemeClrNode = getTextByPathList(node, [\n \"p:style\",\n \"a:lnRef\",\n \"a:schemeClr\",\n ]);\n if (schemeClrNode !== undefined) {\n const schemeClr =\n \"a:\" + getTextByPathList(schemeClrNode, [\"attrs\", \"val\"]);\n borderColor = getSchemeColorFromTheme(schemeClr, undefined);\n }\n\n if (borderColor !== undefined) {\n let shade = getTextByPathList(schemeClrNode, [\n \"a:shade\",\n \"attrs\",\n \"val\",\n ]);\n if (shade !== undefined) {\n shade = parseInt(shade) / 100000;\n const color = new Color(\"#\" + borderColor);\n color.setLum(color.hsl.l * shade);\n borderColor = color.hex.replace(\"#\", \"\");\n }\n }\n }\n\n if (borderColor === undefined) {\n if (isSvgMode) {\n borderColor = \"none\";\n } else {\n borderColor = \"#000\";\n }\n } else {\n borderColor = \"#\" + borderColor;\n }\n cssText += \" \" + borderColor + \" \";\n\n if (isSvgMode) {\n return {\n color: borderColor,\n width: borderWidth,\n type: borderType,\n strokeDasharray: strokeDasharray,\n };\n } else {\n return cssText + \";\";\n }\n }\n\n async function getSlideBackgroundFill(\n slideContent,\n slideLayoutContent,\n slideMasterContent,\n warpObj\n ) {\n // console.log(slideContent)\n // getFillType(node)\n let bgPr = getTextByPathList(slideContent, [\n \"p:sld\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgPr\",\n ]);\n let bgRef = getTextByPathList(slideContent, [\n \"p:sld\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgRef\",\n ]);\n let bgcolor;\n\n if (bgPr !== undefined) {\n // bgcolor = \"background-color: blue;\";\n const bgFillTyp = getFillType(bgPr);\n\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgPr[\"a:solidFill\"];\n const bgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(bgColor) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgPr[\"a:gradFill\"];\n // const grdFillVals = getGradientFill(grdFill);\n // console.log(\"grdFillVals\",grdFillVals)\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const colorArray = [];\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n let loTint;\n let loColor;\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n loColor = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n loColor = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(\"schemeClr\",schemeClr,slideMasterContent)\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n tintArray[i] = loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else if (bgFillTyp === \"PIC_FILL\") {\n const picFillBase64 = await getPicFill(\n \"slideBg\",\n bgPr[\"a:blipFill\"],\n warpObj\n );\n const ordr = bgPr[\"attrs\"][\"order\"];\n // a:srcRect\n // a:stretch => a:fillRect =>attrs (l:-17000, r:-17000)\n bgcolor =\n \"background-image: url(\" +\n picFillBase64 +\n \"); z-index: \" +\n ordr +\n \";\";\n // console.log(picFillBase64);\n }\n // console.log(slideContent,slideMasterContent,colorArray,tintArray,rot,bgcolor)\n } else if (bgRef !== undefined) {\n // console.log(\"slideContent\",bgRef)\n let phClr;\n if (bgRef[\"a:srgbClr\"] !== undefined) {\n phClr = getTextByPathList(bgRef, [\"a:srgbClr\", \"attrs\", \"val\"]); // #...\n } else if (bgRef[\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(bgRef, [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n phClr = getSchemeColorFromTheme(\"a:\" + schemeClr, slideMasterContent); // #...\n // console.log(\"schemeClr\",schemeClr,\"phClr=\",phClr)\n }\n const idx = Number(bgRef[\"attrs\"][\"idx\"]);\n\n if (idx === 0 || idx === 1000) {\n // no background\n } else if (idx > 0 && idx < 1000) {\n // fillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:fillStyleLst\"]\n // bgcolor = \"background: red;\";\n } else if (idx > 1000) {\n // bgFillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:bgFillStyleLst\"]\n const trueIdx = idx - 1000;\n const bgFillLst =\n themeContent[\"a:theme\"][\"a:themeElements\"][\"a:fmtScheme\"][\n \"a:bgFillStyleLst\"\n ];\n const sortblAry = [];\n Object.keys(bgFillLst).forEach(function (key) {\n const bgFillLstTyp = bgFillLst[key];\n if (key !== \"attrs\") {\n if (bgFillLstTyp.constructor === Array) {\n for (let i = 0; i < bgFillLstTyp.length; i++) {\n const obj = {};\n obj[key] = bgFillLstTyp[i];\n obj[\"idex\"] = bgFillLstTyp[i][\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n } else {\n const obj = {};\n obj[key] = bgFillLstTyp;\n obj[\"idex\"] = bgFillLstTyp[\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n }\n });\n const sortByOrder = sortblAry.slice(0);\n sortByOrder.sort(function (a, b) {\n return a.idex - b.idex;\n });\n const bgFillLstIdx = sortByOrder[trueIdx - 1];\n const bgFillTyp = getFillType(bgFillLstIdx);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgFillLstIdx[\"a:solidFill\"];\n // const sldBgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(phClr) + \",\" + sldTint + \");\";\n // console.log(\"slideMasterContent - sldFill\",sldFill)\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgFillLstIdx[\"a:gradFill\"];\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n const loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n tintArray[i] = loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // console.log(\"gsLst\",gsLst)\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" + hexToRgbNew(phClr) + \",\" + tintArray[i] + \")\" + \");\";\n } else {\n bgcolor +=\n \"rgba(\" + hexToRgbNew(phClr) + \",\" + tintArray[i] + \")\" + \", \";\n }\n }\n }\n }\n } else {\n bgPr = getTextByPathList(slideLayoutContent, [\n \"p:sldLayout\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgPr\",\n ]);\n bgRef = getTextByPathList(slideLayoutContent, [\n \"p:sldLayout\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgRef\",\n ]);\n // console.log(\"slideLayoutContent\",bgPr,bgRef)\n if (bgPr !== undefined) {\n const bgFillTyp = getFillType(bgPr);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgPr[\"a:solidFill\"];\n const bgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(bgColor) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgPr[\"a:gradFill\"];\n // const grdFillVals = getGradientFill(grdFill);\n // console.log(\"grdFillVals\",grdFillVals)\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const colorArray = [];\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n let loTint;\n let loColor;\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n loColor = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n loColor = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(\"schemeClr\",schemeClr,slideMasterContent)\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n tintArray[i] = loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // console.log(\"colorArray\",colorArray,\"tintArray\",tintArray)\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else if (bgFillTyp === \"PIC_FILL\") {\n // console.log(\"bgPr\",bgPr,\"bgFillTyp\",bgFillTyp)\n const picFillBase64 = await getPicFill(\n \"layoutBg\",\n bgPr[\"a:blipFill\"],\n warpObj\n );\n const ordr = bgPr[\"attrs\"][\"order\"];\n // a:srcRect\n // a:stretch => a:fillRect =>attrs (l:-17000, r:-17000)\n bgcolor =\n \"background-image: url(\" +\n picFillBase64 +\n \"); z-index: \" +\n ordr +\n \";\";\n // console.log(warpObj)\n }\n // console.log(\"slideLayoutContent\",bgcolor)\n } else if (bgRef !== undefined) {\n bgcolor = \"background: red;\";\n } else {\n bgPr = getTextByPathList(slideMasterContent, [\n \"p:sldMaster\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgPr\",\n ]);\n bgRef = getTextByPathList(slideMasterContent, [\n \"p:sldMaster\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgRef\",\n ]);\n\n // console.log(\"bgRef\",bgRef[\"a:schemeClr\"][\"attrs\"][\"val\"])\n if (bgPr !== undefined) {\n const bgFillTyp = getFillType(bgPr);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgPr[\"a:solidFill\"];\n const bgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(bgColor) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgPr[\"a:gradFill\"];\n // const grdFillVals = getGradientFill(grdFill);\n // console.log(\"grdFillVals\",grdFillVals)\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const colorArray = [];\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n let loTint;\n let loColor;\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n loColor = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n loColor = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(\"schemeClr\",schemeClr,slideMasterContent)\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n tintArray[i] =\n loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // console.log(\"colorArray\",colorArray,\"tintArray\",tintArray)\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else if (bgFillTyp === \"PIC_FILL\") {\n // console.log(\"bgPr\",bgPr,\"bgFillTyp\",bgFillTyp)\n const picFillBase64 = await getPicFill(\n \"masterBg\",\n bgPr[\"a:blipFill\"],\n warpObj\n );\n const ordr = bgPr[\"attrs\"][\"order\"];\n // a:srcRect\n // a:stretch => a:fillRect =>attrs (l:-17000, r:-17000)\n bgcolor =\n \"background-image: url(\" +\n picFillBase64 +\n \"); z-index: \" +\n ordr +\n \";\";\n // console.log(warpObj);\n }\n } else if (bgRef !== undefined) {\n // const obj={\n // \"a:solidFill\": bgRef\n // }\n // const phClr = getSolidFill(bgRef);\n let phClr;\n if (bgRef[\"a:srgbClr\"] !== undefined) {\n phClr = getTextByPathList(bgRef, [\"a:srgbClr\", \"attrs\", \"val\"]); // #...\n } else if (bgRef[\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(bgRef, [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n\n phClr = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n // console.log(\"phClr\",phClr)\n }\n const idx = Number(bgRef[\"attrs\"][\"idx\"]);\n // console.log(\"phClr=\",phClr,\"idx=\",idx)\n\n if (idx === 0 || idx === 1000) {\n // no background\n } else if (idx > 0 && idx < 1000) {\n // fillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:fillStyleLst\"]\n // bgcolor = \"background: red;\";\n } else if (idx > 1000) {\n // bgFillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:bgFillStyleLst\"]\n const trueIdx = idx - 1000;\n const bgFillLst =\n themeContent[\"a:theme\"][\"a:themeElements\"][\"a:fmtScheme\"][\n \"a:bgFillStyleLst\"\n ];\n const sortblAry = [];\n Object.keys(bgFillLst).forEach(function (key) {\n // console.log(\"cubicBezTo[\"+key+\"]:\");\n const bgFillLstTyp = bgFillLst[key];\n if (key !== \"attrs\") {\n if (bgFillLstTyp.constructor === Array) {\n for (let i = 0; i < bgFillLstTyp.length; i++) {\n const obj = {};\n obj[key] = bgFillLstTyp[i];\n obj[\"idex\"] = bgFillLstTyp[i][\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n } else {\n const obj = {};\n obj[key] = bgFillLstTyp;\n obj[\"idex\"] = bgFillLstTyp[\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n }\n });\n const sortByOrder = sortblAry.slice(0);\n sortByOrder.sort(function (a, b) {\n return a.idex - b.idex;\n });\n const bgFillLstIdx = sortByOrder[trueIdx - 1];\n const bgFillTyp = getFillType(bgFillLstIdx);\n // console.log(\"bgFillLstIdx\",bgFillLstIdx);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgFillLstIdx[\"a:solidFill\"];\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(phClr) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgFillLstIdx[\"a:gradFill\"];\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n const loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n tintArray[i] =\n loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(phClr) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(phClr) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else {\n // console.log(bgFillTyp) // TODO\n }\n }\n }\n }\n }\n\n // console.log(\"bgcolor: \",bgcolor)\n return bgcolor;\n }\n\n function hexToRgbNew(hex = \"FFFFFF\") {\n const arrBuff = new ArrayBuffer(4);\n const vw = new DataView(arrBuff);\n vw.setUint32(0, parseInt(hex, 16), false);\n const arrByte = new Uint8Array(arrBuff);\n\n return arrByte[1] + \",\" + arrByte[2] + \",\" + arrByte[3];\n }\n\n async function getShapeFill(node, isSvgMode, warpObj) {\n // 1. presentationML\n // p:spPr [a:noFill, solidFill, gradFill, blipFill, pattFill, grpFill]\n // From slide\n // Fill Type:\n // console.log(\"ShapeFill: \", node)\n const fillType = getFillType(getTextByPathList(node, [\"p:spPr\"]));\n let fillColor;\n if (fillType === \"NO_FILL\") {\n return isSvgMode ? \"none\" : \"background-color: initial;\";\n } else if (fillType === \"SOLID_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:solidFill\"];\n fillColor = getSolidFill(shpFill);\n } else if (fillType === \"GRADIENT_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:gradFill\"];\n // fillColor = getSolidFill(shpFill);\n fillColor = getGradientFill(shpFill);\n // console.log(\"shpFill\",shpFill,grndColor.color)\n } else if (fillType === \"PATTERN_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:pattFill\"];\n fillColor = getPatternFill(shpFill);\n } else if (fillType === \"PIC_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:blipFill\"];\n fillColor = await getPicFill(\"slideBg\", shpFill, warpObj);\n }\n\n // 2. drawingML namespace\n if (fillColor === undefined) {\n const clrName = getTextByPathList(node, [\"p:style\", \"a:fillRef\"]);\n fillColor = getSolidFill(clrName);\n }\n\n if (fillColor !== undefined) {\n if (fillType === \"GRADIENT_FILL\") {\n if (isSvgMode) {\n // console.log(\"GRADIENT_FILL color\", fillColor.color[0])\n return fillColor;\n } else {\n const colorAry = fillColor.color;\n const rot = fillColor.rot;\n\n let bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < colorAry.length; i++) {\n if (i === colorAry.length - 1) {\n bgcolor += colorAry[i] + \");\";\n } else {\n bgcolor += colorAry[i] + \", \";\n }\n }\n return bgcolor;\n }\n } else if (fillType === \"PIC_FILL\") {\n if (isSvgMode) {\n return fillColor;\n } else {\n return \"background-image:url(\" + fillColor + \");\";\n }\n } else {\n if (isSvgMode) {\n const color = new Color(fillColor);\n fillColor = color.rgb.toString();\n\n return fillColor;\n } else {\n // console.log(node,\"fillColor: \",fillColor,\"fillType: \",fillType,\"isSvgMode: \",isSvgMode)\n return \"background-color: #\" + fillColor + \";\";\n }\n }\n } else {\n if (isSvgMode) {\n return \"none\";\n } else {\n return \"background-color: initial;\";\n }\n }\n }\n\n // /////////////////////Amir//////////////////////////////\n function getFillType(node) {\n // Need to test/////////////////////////////////////////////\n // SOLID_FILL\n // PIC_FILL\n // GRADIENT_FILL\n // PATTERN_FILL\n // NO_FILL\n let fillType = \"\";\n if (node[\"a:noFill\"] !== undefined) {\n fillType = \"NO_FILL\";\n }\n if (node[\"a:solidFill\"] !== undefined) {\n fillType = \"SOLID_FILL\";\n }\n if (node[\"a:gradFill\"] !== undefined) {\n fillType = \"GRADIENT_FILL\";\n }\n if (node[\"a:pattFill\"] !== undefined) {\n fillType = \"PATTERN_FILL\";\n }\n if (node[\"a:blipFill\"] !== undefined) {\n fillType = \"PIC_FILL\";\n }\n\n return fillType;\n }\n\n function getGradientFill(node) {\n const gsLst = node[\"a:gsLst\"][\"a:gs\"];\n // get start color\n const colorArray = [];\n // const tintArray = []\n for (let i = 0; i < gsLst.length; i++) {\n // let loTint\n let loColor = getSolidFill(gsLst[i]);\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n let lumMod =\n parseInt(\n getTextByPathList(node, [\"a:srgbClr\", \"a:lumMod\", \"attrs\", \"val\"])\n ) / 100000;\n let lumOff =\n parseInt(\n getTextByPathList(node, [\"a:srgbClr\", \"a:lumOff\", \"attrs\", \"val\"])\n ) / 100000;\n if (isNaN(lumMod)) {\n lumMod = 1.0;\n }\n if (isNaN(lumOff)) {\n lumOff = 0;\n }\n // console.log([lumMod, lumOff]);\n loColor = applyLumModify(loColor, lumMod, lumOff);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n let lumMod =\n parseInt(\n getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:lumMod\",\n \"attrs\",\n \"val\",\n ])\n ) / 100000;\n let lumOff =\n parseInt(\n getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:lumOff\",\n \"attrs\",\n \"val\",\n ])\n ) / 100000;\n if (isNaN(lumMod)) {\n lumMod = 1.0;\n }\n if (isNaN(lumOff)) {\n lumOff = 0;\n }\n // console.log([lumMod, lumOff]);\n loColor = applyLumModify(loColor, lumMod, lumOff);\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n }\n // get rot\n const lin = node[\"a:lin\"];\n let rot = 0;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n return {\n color: colorArray,\n rot: rot,\n };\n }\n\n async function getPicFill(type, node, warpObj) {\n // Need to test/////////////////////////////////////////////\n // rId\n // TODO - Image Properties - Tile, Stretch, or Display Portion of Image\n // (http://officeopenxml.com/drwPic-tile.php)\n let img;\n const rId = node[\"a:blip\"][\"attrs\"][\"r:embed\"];\n let imgPath;\n if (type === \"slideBg\") {\n imgPath = getTextByPathList(warpObj, [\"slideResObj\", rId, \"target\"]);\n } else if (type === \"layoutBg\") {\n imgPath = getTextByPathList(warpObj, [\"layoutResObj\", rId, \"target\"]);\n } else if (type === \"masterBg\") {\n imgPath = getTextByPathList(warpObj, [\"masterResObj\", rId, \"target\"]);\n }\n if (imgPath === undefined) {\n return undefined;\n }\n const imgExt = imgPath.split(\".\").pop();\n if (imgExt === \"xml\") {\n return undefined;\n }\n const imgArrayBuffer = await warpObj[\"zip\"]\n .file(imgPath)\n .async(\"arraybuffer\");\n const imgMimeType = getImageMimeType(imgExt);\n img =\n \"data:\" + imgMimeType + \";base64,\" + base64ArrayBuffer(imgArrayBuffer);\n return img;\n }\n\n function getPatternFill(node) {\n // Need to test/////////////////////////////////////////////\n const bgClr = node[\"a:bgClr\"];\n return getSolidFill(bgClr);\n }\n\n function getSolidFill(node) {\n if (node === undefined) {\n return undefined;\n }\n\n let color = \"FFF\";\n\n if (node[\"a:srgbClr\"] !== undefined) {\n color = getTextByPathList(node, [\"a:srgbClr\", \"attrs\", \"val\"]); // #...\n } else if (node[\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(node, [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(schemeClr)\n color = getSchemeColorFromTheme(\"a:\" + schemeClr, undefined); // #...\n } else if (node[\"a:scrgbClr\"] !== undefined) {\n // <a:scrgbClr r=\"50%\" g=\"50%\" b=\"50%\"/> //Need to test/////////////////////////////////////////////\n const defBultColorVals = node[\"a:scrgbClr\"][\"attrs\"];\n const red =\n defBultColorVals[\"r\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"r\"].split(\"%\").shift()\n : defBultColorVals[\"r\"];\n const green =\n defBultColorVals[\"g\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"g\"].split(\"%\").shift()\n : defBultColorVals[\"g\"];\n const blue =\n defBultColorVals[\"b\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"b\"].split(\"%\").shift()\n : defBultColorVals[\"b\"];\n // const scrgbClr = red + ',' + green + ',' + blue\n color =\n toHex(255 * (Number(red) / 100)) +\n toHex(255 * (Number(green) / 100)) +\n toHex(255 * (Number(blue) / 100));\n // console.log(\"scrgbClr: \" + scrgbClr);\n } else if (node[\"a:prstClr\"] !== undefined) {\n // <a:prstClr val=\"black\"/> //Need to test/////////////////////////////////////////////\n const prstClr = node[\"a:prstClr\"][\"attrs\"][\"val\"];\n color = getColorName2Hex(prstClr);\n // console.log(\"prstClr: \" + prstClr+\" => hexClr: \"+color);\n } else if (node[\"a:hslClr\"] !== undefined) {\n // <a:hslClr hue=\"14400000\" sat=\"100%\" lum=\"50%\"/> //Need to test/////////////////////////////////////////////\n const defBultColorVals = node[\"a:hslClr\"][\"attrs\"];\n const hue = Number(defBultColorVals[\"hue\"]) / 100000;\n const sat =\n Number(\n defBultColorVals[\"sat\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"sat\"].split(\"%\").shift()\n : defBultColorVals[\"sat\"]\n ) / 100;\n const lum =\n Number(\n defBultColorVals[\"lum\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"lum\"].split(\"%\").shift()\n : defBultColorVals[\"lum\"]\n ) / 100;\n // const hslClr = defBultColorVals['hue'] + ',' + defBultColorVals['sat'] + ',' + defBultColorVals['lum']\n const hsl2rgb = hslToRgb(hue, sat, lum);\n color = toHex(hsl2rgb.r) + toHex(hsl2rgb.g) + toHex(hsl2rgb.b);\n // defBultColor = cnvrtHslColor2Hex(hslClr); //TODO\n // console.log(\"hslClr: \" + hslClr);\n } else if (node[\"a:sysClr\"] !== undefined) {\n // <a:sysClr val=\"windowText\" lastClr=\"000000\"/> //Need to test/////////////////////////////////////////////\n const sysClr = getTextByPathList(node, [\"a:sysClr\", \"attrs\", \"lastClr\"]);\n if (sysClr !== undefined) {\n color = sysClr;\n }\n }\n return color;\n }\n\n function toHex(n) {\n let hex = n.toString(16);\n while (hex.length < 2) {\n hex = \"0\" + hex;\n }\n return hex;\n }\n\n function hslToRgb(hue, sat, light) {\n let t1, t2, r, g, b;\n hue = hue / 60;\n if (light <= 0.5) {\n t2 = light * (sat + 1);\n } else {\n t2 = light + sat - light * sat;\n }\n t1 = light * 2 - t2;\n r = hueToRgb(t1, t2, hue + 2) * 255;\n g = hueToRgb(t1, t2, hue) * 255;\n b = hueToRgb(t1, t2, hue - 2) * 255;\n return { r: r, g: g, b: b };\n }\n\n function hueToRgb(t1, t2, hue) {\n if (hue < 0) hue += 6;\n if (hue >= 6) hue -= 6;\n if (hue < 1) return (t2 - t1) * hue + t1;\n else if (hue < 3) return t2;\n else if (hue < 4) return (t2 - t1) * (4 - hue) + t1;\n else return t1;\n }\n\n function getColorName2Hex(name) {\n let hex;\n const colorName = [\n \"AliceBlue\",\n \"AntiqueWhite\",\n \"Aqua\",\n \"Aquamarine\",\n \"Azure\",\n \"Beige\",\n \"Bisque\",\n \"Black\",\n \"BlanchedAlmond\",\n \"Blue\",\n \"BlueViolet\",\n \"Brown\",\n \"BurlyWood\",\n \"CadetBlue\",\n \"Chartreuse\",\n \"Chocolate\",\n \"Coral\",\n \"CornflowerBlue\",\n \"Cornsilk\",\n \"Crimson\",\n \"Cyan\",\n \"DarkBlue\",\n \"DarkCyan\",\n \"DarkGoldenRod\",\n \"DarkGray\",\n \"DarkGrey\",\n \"DarkGreen\",\n \"DarkKhaki\",\n \"DarkMagenta\",\n \"DarkOliveGreen\",\n \"DarkOrange\",\n \"DarkOrchid\",\n \"DarkRed\",\n \"DarkSalmon\",\n \"DarkSeaGreen\",\n \"DarkSlateBlue\",\n \"DarkSlateGray\",\n \"DarkSlateGrey\",\n \"DarkTurquoise\",\n \"DarkViolet\",\n \"DeepPink\",\n \"DeepSkyBlue\",\n \"DimGray\",\n \"DimGrey\",\n \"DodgerBlue\",\n \"FireBrick\",\n \"FloralWhite\",\n \"ForestGreen\",\n \"Fuchsia\",\n \"Gainsboro\",\n \"GhostWhite\",\n \"Gold\",\n \"GoldenRod\",\n \"Gray\",\n \"Grey\",\n \"Green\",\n \"GreenYellow\",\n \"HoneyDew\",\n \"HotPink\",\n \"IndianRed\",\n \"Indigo\",\n \"Ivory\",\n \"Khaki\",\n \"Lavender\",\n \"LavenderBlush\",\n \"LawnGreen\",\n \"LemonChiffon\",\n \"LightBlue\",\n \"LightCoral\",\n \"LightCyan\",\n \"LightGoldenRodYellow\",\n \"LightGray\",\n \"LightGrey\",\n \"LightGreen\",\n \"LightPink\",\n \"LightSalmon\",\n \"LightSeaGreen\",\n \"LightSkyBlue\",\n \"LightSlateGray\",\n \"LightSlateGrey\",\n \"LightSteelBlue\",\n \"LightYellow\",\n \"Lime\",\n \"LimeGreen\",\n \"Linen\",\n \"Magenta\",\n \"Maroon\",\n \"MediumAquaMarine\",\n \"MediumBlue\",\n \"MediumOrchid\",\n \"MediumPurple\",\n \"MediumSeaGreen\",\n \"MediumSlateBlue\",\n \"MediumSpringGreen\",\n \"MediumTurquoise\",\n \"MediumVioletRed\",\n \"MidnightBlue\",\n \"MintCream\",\n \"MistyRose\",\n \"Moccasin\",\n \"NavajoWhite\",\n \"Navy\",\n \"OldLace\",\n \"Olive\",\n \"OliveDrab\",\n \"Orange\",\n \"OrangeRed\",\n \"Orchid\",\n \"PaleGoldenRod\",\n \"PaleGreen\",\n \"PaleTurquoise\",\n \"PaleVioletRed\",\n \"PapayaWhip\",\n \"PeachPuff\",\n \"Peru\",\n \"Pink\",\n \"Plum\",\n \"PowderBlue\",\n \"Purple\",\n \"RebeccaPurple\",\n \"Red\",\n \"RosyBrown\",\n \"RoyalBlue\",\n \"SaddleBrown\",\n \"Salmon\",\n \"SandyBrown\",\n \"SeaGreen\",\n \"SeaShell\",\n \"Sienna\",\n \"Silver\",\n \"SkyBlue\",\n \"SlateBlue\",\n \"SlateGray\",\n \"SlateGrey\",\n \"Snow\",\n \"SpringGreen\",\n \"SteelBlue\",\n \"Tan\",\n \"Teal\",\n \"Thistle\",\n \"Tomato\",\n \"Turquoise\",\n \"Violet\",\n \"Wheat\",\n \"White\",\n \"WhiteSmoke\",\n \"Yellow\",\n \"YellowGreen\",\n ];\n const colorHex = [\n \"f0f8ff\",\n \"faebd7\",\n \"00ffff\",\n \"7fffd4\",\n \"f0ffff\",\n \"f5f5dc\",\n \"ffe4c4\",\n \"000000\",\n \"ffebcd\",\n \"0000ff\",\n \"8a2be2\",\n \"a52a2a\",\n \"deb887\",\n \"5f9ea0\",\n \"7fff00\",\n \"d2691e\",\n \"ff7f50\",\n \"6495ed\",\n \"fff8dc\",\n \"dc143c\",\n \"00ffff\",\n \"00008b\",\n \"008b8b\",\n \"b8860b\",\n \"a9a9a9\",\n \"a9a9a9\",\n \"006400\",\n \"bdb76b\",\n \"8b008b\",\n \"556b2f\",\n \"ff8c00\",\n \"9932cc\",\n \"8b0000\",\n \"e9967a\",\n \"8fbc8f\",\n \"483d8b\",\n \"2f4f4f\",\n \"2f4f4f\",\n \"00ced1\",\n \"9400d3\",\n \"ff1493\",\n \"00bfff\",\n \"696969\",\n \"696969\",\n \"1e90ff\",\n \"b22222\",\n \"fffaf0\",\n \"228b22\",\n \"ff00ff\",\n \"dcdcdc\",\n \"f8f8ff\",\n \"ffd700\",\n \"daa520\",\n \"808080\",\n \"808080\",\n \"008000\",\n \"adff2f\",\n \"f0fff0\",\n \"ff69b4\",\n \"cd5c5c\",\n \"4b0082\",\n \"fffff0\",\n \"f0e68c\",\n \"e6e6fa\",\n \"fff0f5\",\n \"7cfc00\",\n \"fffacd\",\n \"add8e6\",\n \"f08080\",\n \"e0ffff\",\n \"fafad2\",\n \"d3d3d3\",\n \"d3d3d3\",\n \"90ee90\",\n \"ffb6c1\",\n \"ffa07a\",\n \"20b2aa\",\n \"87cefa\",\n \"778899\",\n \"778899\",\n \"b0c4de\",\n \"ffffe0\",\n \"00ff00\",\n \"32cd32\",\n \"faf0e6\",\n \"ff00ff\",\n \"800000\",\n \"66cdaa\",\n \"0000cd\",\n \"ba55d3\",\n \"9370db\",\n \"3cb371\",\n \"7b68ee\",\n \"00fa9a\",\n \"48d1cc\",\n \"c71585\",\n \"191970\",\n \"f5fffa\",\n \"ffe4e1\",\n \"ffe4b5\",\n \"ffdead\",\n \"000080\",\n \"fdf5e6\",\n \"808000\",\n \"6b8e23\",\n \"ffa500\",\n \"ff4500\",\n \"da70d6\",\n \"eee8aa\",\n \"98fb98\",\n \"afeeee\",\n \"db7093\",\n \"ffefd5\",\n \"ffdab9\",\n \"cd853f\",\n \"ffc0cb\",\n \"dda0dd\",\n \"b0e0e6\",\n \"800080\",\n \"663399\",\n \"ff0000\",\n \"bc8f8f\",\n \"4169e1\",\n \"8b4513\",\n \"fa8072\",\n \"f4a460\",\n \"2e8b57\",\n \"fff5ee\",\n \"a0522d\",\n \"c0c0c0\",\n \"87ceeb\",\n \"6a5acd\",\n \"708090\",\n \"708090\",\n \"fffafa\",\n \"00ff7f\",\n \"4682b4\",\n \"d2b48c\",\n \"008080\",\n \"d8bfd8\",\n \"ff6347\",\n \"40e0d0\",\n \"ee82ee\",\n \"f5deb3\",\n \"ffffff\",\n \"f5f5f5\",\n \"ffff00\",\n \"9acd32\",\n ];\n const findIndx = colorName.indexOf(name);\n if (findIndx !== -1) {\n hex = colorHex[findIndx];\n }\n return hex;\n }\n\n function getColorOpacity(solidFill) {\n if (solidFill === undefined) {\n return undefined;\n }\n let opcity = 1;\n\n if (solidFill[\"a:srgbClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:schemeClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:scrgbClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:scrgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:prstClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:prstClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:hslClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:hslClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:sysClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:sysClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n }\n\n return opcity;\n }\n\n function getSchemeColorFromTheme(schemeClr, sldMasterNode) {\n // <p:clrMap ...> in slide master\n // e.g. tx2=\"dk2\" bg2=\"lt2\" tx1=\"dk1\" bg1=\"lt1\" slideLayoutClrOvride\n\n if (slideLayoutClrOvride === \"\" || slideLayoutClrOvride === undefined) {\n slideLayoutClrOvride =\n getTextByPathList(sldMasterNode, [\n \"p:sldMaster\",\n \"p:clrMap\",\n \"attrs\",\n ]) || {};\n }\n // console.log(slideLayoutClrOvride);\n const schmClrName = schemeClr.substr(2);\n switch (schmClrName) {\n case \"tx1\":\n case \"tx2\":\n case \"bg1\":\n case \"bg2\": {\n schemeClr = \"a:\" + slideLayoutClrOvride[schmClrName];\n // console.log(schmClrName+ \"=> \"+schemeClr);\n break;\n }\n }\n\n const refNode = getTextByPathList(themeContent, [\n \"a:theme\",\n \"a:themeElements\",\n \"a:clrScheme\",\n schemeClr,\n ]);\n let color = getTextByPathList(refNode, [\"a:srgbClr\", \"attrs\", \"val\"]);\n if (color === undefined) {\n color = getTextByPathList(refNode, [\"a:sysClr\", \"attrs\", \"lastClr\"]);\n }\n return color;\n }\n\n function extractChartData(serNode) {\n // console.log('PARSING PPTX CHART:', serNode)\n const dataMat = [];\n\n if (serNode === undefined) {\n return dataMat;\n }\n\n if (serNode[\"c:xVal\"] !== undefined) {\n let dataRow = [];\n eachElement(\n serNode[\"c:xVal\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n dataRow.push(parseFloat(innerNode[\"c:v\"]));\n return \"\";\n }\n );\n dataMat.push(dataRow);\n dataRow = [];\n eachElement(\n serNode[\"c:yVal\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n dataRow.push(parseFloat(innerNode[\"c:v\"]));\n return \"\";\n }\n );\n dataMat.push(dataRow);\n } else {\n eachElement(serNode, function (innerNode, index) {\n const dataRow = [];\n const colName =\n getTextByPathList(innerNode, [\n \"c:tx\",\n \"c:strRef\",\n \"c:strCache\",\n \"c:pt\",\n \"c:v\",\n ]) || index;\n\n // Category (string or number)\n const rowNames = {};\n if (\n getTextByPathList(innerNode, [\n \"c:cat\",\n \"c:strRef\",\n \"c:strCache\",\n \"c:pt\",\n ]) !== undefined\n ) {\n eachElement(\n innerNode[\"c:cat\"][\"c:strRef\"][\"c:strCache\"][\"c:pt\"],\n function (innerNode, index) {\n rowNames[innerNode[\"attrs\"][\"idx\"]] = innerNode[\"c:v\"];\n return \"\";\n }\n );\n } else if (\n getTextByPathList(innerNode, [\n \"c:cat\",\n \"c:numRef\",\n \"c:numCache\",\n \"c:pt\",\n ]) !== undefined\n ) {\n eachElement(\n innerNode[\"c:cat\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n rowNames[innerNode[\"attrs\"][\"idx\"]] = innerNode[\"c:v\"];\n return \"\";\n }\n );\n }\n\n // Value\n if (\n getTextByPathList(innerNode, [\n \"c:val\",\n \"c:numRef\",\n \"c:numCache\",\n \"c:pt\",\n ]) !== undefined\n ) {\n eachElement(\n innerNode[\"c:val\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n dataRow.push({\n x: innerNode[\"attrs\"][\"idx\"],\n y: parseFloat(innerNode[\"c:v\"]),\n });\n return \"\";\n }\n );\n }\n\n dataMat.push({ key: colName, values: dataRow, xlabels: rowNames });\n return \"\";\n });\n }\n\n return dataMat;\n }\n\n // ===== Node functions =====\n /**\n * getTextByPathStr\n * @param {Object} node\n * @param {string} pathStr\n */\n function getTextByPathStr(node, pathStr) {\n return getTextByPathList(node, pathStr.trim().split(/\\s+/));\n }\n\n /**\n * getTextByPathList\n * @param {Object} node\n * @param {Array.<string>} path\n */\n function getTextByPathList(node, path) {\n if (path.constructor !== Array) {\n throw Error(\"Error of path type! path is not array.\");\n }\n\n if (node === undefined) {\n return undefined;\n }\n\n const l = path.length;\n for (let i = 0; i < l; i++) {\n node = node[path[i]];\n if (node === undefined) {\n return undefined;\n }\n }\n\n return node;\n }\n\n /**\n * eachElement\n * @param {Object} node\n * @param {function} doFunction\n */\n function eachElement(node, doFunction) {\n if (node === undefined) {\n return;\n }\n let result = \"\";\n if (node.constructor === Array) {\n const l = node.length;\n for (let i = 0; i < l; i++) {\n result += doFunction(node[i], i);\n }\n } else {\n result += doFunction(node, 0);\n }\n return result;\n }\n\n /*\n// ===== Color functions =====\n/!**\n * applyShade\n * @param {string} rgbStr\n * @param {number} shadeValue\n *!/\nfunction applyShade (rgbStr, shadeValue) {\n const color = new Color(rgbStr)\n color.setLum(color.hsl.l * shadeValue)\n return color.rgb.toString()\n}\n\n/!**\n * applyTint\n * @param {string} rgbStr\n * @param {number} tintValue\n *!/\nfunction applyTint (rgbStr, tintValue) {\n const color = new Color(rgbStr)\n color.setLum(color.hsl.l * tintValue + (1 - tintValue))\n return color.rgb.toString()\n}\n*/\n\n /**\n * applyLumModify\n * @param {string} rgbStr\n * @param {number} factor\n * @param {number} offset\n */\n function applyLumModify(rgbStr = \"#FFFFFF\", factor, offset) {\n const color = new Color(rgbStr);\n // color.setLum(color.hsl.l * factor);\n color.setLum(color.hsl.l * (1 + offset));\n return color.rgb.toString();\n }\n\n // /////////////////////Amir////////////////\n function angleToDegrees(angle) {\n if (angle === \"\" || angle == null) {\n return 0;\n }\n return Math.round(angle / 60000);\n }\n\n function getImageMimeType(imgFileExt) {\n let mimeType = \"\";\n // console.log(imgFileExt)\n switch (imgFileExt.toLowerCase()) {\n case \"jpg\":\n case \"jpeg\": {\n mimeType = \"image/jpeg\";\n break;\n }\n case \"png\": {\n mimeType = \"image/png\";\n break;\n }\n case \"gif\": {\n mimeType = \"image/gif\";\n break;\n }\n case \"emf\": {\n // Not native support\n mimeType = \"image/x-emf\";\n break;\n }\n case \"wmf\": {\n // Not native support\n mimeType = \"image/x-wmf\";\n break;\n }\n case \"svg\": {\n mimeType = \"image/svg+xml\";\n break;\n }\n default: {\n mimeType = \"image/*\";\n }\n }\n return mimeType;\n }\n\n function getSvgGradient(w, h, angl, colorArray, shpId) {\n const stopsArray = getMiddleStops(colorArray.length - 2);\n\n const xyArray = SVGangle(angl, h, w);\n const x1 = xyArray[0];\n const y1 = xyArray[1];\n const x2 = xyArray[2];\n const y2 = xyArray[3];\n\n const sal = stopsArray.length;\n const sr = sal < 20 ? 100 : 1000;\n let svgAngle =\n ' gradientUnits=\"userSpaceOnUse\" x1=\"' +\n x1 +\n '%\" y1=\"' +\n y1 +\n '%\" x2=\"' +\n x2 +\n '%\" y2=\"' +\n y2 +\n '%\"';\n let svg = '<linearGradient id=\"linGrd_' + shpId + '\"' + svgAngle + \">\\n\";\n\n for (let i = 0; i < sal; i++) {\n svg +=\n '<stop offset=\"' +\n Math.round((parseFloat(stopsArray[i]) / 100) * sr) / sr +\n '\" stop-color=\"' +\n colorArray[i] +\n '\"';\n svg += \"/>\\n\";\n }\n\n svg += \"</linearGradient>\\n\" + \"\";\n\n return svg;\n }\n\n function getMiddleStops(s) {\n const sArry = [\"0%\", \"100%\"];\n if (s === 0) {\n return true;\n } else {\n let i = s;\n while (i--) {\n const middleStop = 100 - (100 / (s + 1)) * (i + 1); // AM: Ex - For 3 middle stops, progression will be 25%, 50%, and 75%, plus 0% and 100% at the ends.\n const middleStopString = middleStop + \"%\";\n sArry.splice(-1, 0, middleStopString);\n } // AM: add into stopsArray before 100%\n }\n return sArry;\n }\n\n function SVGangle(deg, svgHeight, svgWidth) {\n const w = parseFloat(svgWidth);\n const h = parseFloat(svgHeight);\n const ang = parseFloat(deg);\n let o = 2;\n let n = 2;\n const wc = w / 2;\n const hc = h / 2;\n let tx1 = 2;\n let ty1 = 2;\n let tx2 = 2;\n let ty2 = 2;\n const k = ((ang % 360) + 360) % 360;\n const j = ((360 - k) * Math.PI) / 180;\n const i = Math.tan(j);\n const l = hc - i * wc;\n\n if (k === 0) {\n tx1 = w;\n ty1 = hc;\n tx2 = 0;\n ty2 = hc;\n } else if (k < 90) {\n n = w;\n o = 0;\n } else if (k === 90) {\n tx1 = wc;\n ty1 = 0;\n tx2 = wc;\n ty2 = h;\n } else if (k < 180) {\n n = 0;\n o = 0;\n } else if (k === 180) {\n tx1 = 0;\n ty1 = hc;\n tx2 = w;\n ty2 = hc;\n } else if (k < 270) {\n n = 0;\n o = h;\n } else if (k === 270) {\n tx1 = wc;\n ty1 = h;\n tx2 = wc;\n ty2 = 0;\n } else {\n n = w;\n o = h;\n }\n // AM: I could not quite figure out what m, n, and o are supposed to represent from the original code on visualcsstools.com.\n const m = o + n / i;\n tx1 = tx1 === 2 ? (i * (m - l)) / (Math.pow(i, 2) + 1) : tx1;\n ty1 = ty1 === 2 ? i * tx1 + l : ty1;\n tx2 = tx2 === 2 ? w - tx1 : tx2;\n ty2 = ty2 === 2 ? h - ty1 : ty2;\n const x1 = Math.round((tx2 / w) * 100 * 100) / 100;\n const y1 = Math.round((ty2 / h) * 100 * 100) / 100;\n const x2 = Math.round((tx1 / w) * 100 * 100) / 100;\n const y2 = Math.round((ty1 / h) * 100 * 100) / 100;\n return [x1, y1, x2, y2];\n }\n\n function getSvgImagePattern(fillColor, shpId) {\n let ptrn =\n '<pattern id=\"imgPtrn_' +\n shpId +\n '\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">';\n ptrn +=\n '<image xlink:href=\"' +\n fillColor +\n '\" preserveAspectRatio=\"none\" width=\"1\" height=\"1\"></image>';\n ptrn += \"</pattern>\";\n return ptrn;\n }\n}\n","export default `section {\n width: 100%;\n height: 690px;\n position: relative;\n border: 1px solid #333;\n background-color: #EFEFEF;\n text-align: center;\n border-radius: 10px;\n box-shadow: 1px 1px 3px #AAA;\n overflow: hidden;\n}\n\nsection div.block {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n}\n\nsection div.content {\n display: flex;\n flex-direction: column;\n /*\n justify-content: center;\n align-items: flex-end;\n */\n}\n\nsection div.v-up {\n justify-content: flex-start;\n}\nsection div.v-mid {\n justify-content: center;\n}\nsection div.v-down {\n justify-content: flex-end;\n}\nsection div.h-left {\n align-items: flex-start;\n text-align: left;\n}\nsection div.h-mid {\n align-items: center;\n text-align: center;\n}\nsection div.h-right {\n align-items: flex-end;\n text-align: right;\n}\nsection div.up-left {\n justify-content: flex-start;\n align-items: flex-start;\n text-align: left;\n}\nsection div.up-center {\n justify-content: flex-start;\n align-items: center;\n}\nsection div.up-right {\n justify-content: flex-start;\n align-items: flex-end;\n}\nsection div.center-left {\n justify-content: center;\n align-items: flex-start;\n text-align: left;\n}\nsection div.center-center {\n justify-content: center;\n align-items: center;\n}\nsection div.center-right {\n justify-content: center;\n align-items: flex-end;\n}\nsection div.down-left {\n justify-content: flex-end;\n align-items: flex-start;\n text-align: left;\n}\nsection div.down-center {\n justify-content: flex-end;\n align-items: center;\n}\nsection div.down-right {\n justify-content: flex-end;\n align-items: flex-end;\n}\n\nsection span.text-block {\n /* display: inline-block; */\n}\n\nli.slide {\n margin: 10px 0;\n font-size: 18px;\n}\n\ndiv.footer {\n text-align: center;\n}\n\nsection table {\n position: absolute;\n}\n\nsection table, section th, section td {\n border: 1px solid black;\n}\n\nsection svg.drawing {\n position: absolute;\n overflow: visible;\n}`\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"jquery\");","/* global $, dimple */\n\"use strict\";\n\nimport processPptx from \"./process_pptx\";\nimport pptxStyle from \"./pptx_css\";\nimport $ from \"jquery\";\n\n/**\n * @param {ArrayBuffer} pptx\n * @param {Element|String} resultElement\n * @param {Element|String} [thumbElement]\n */\nconst renderPptx = (pptx, resultElement, thumbElement) => {\n const $result = $(resultElement);\n const $wrapper = $('<div class=\"pptx-wrapper\"></div>');\n $result.html(\"\");\n $result.append($wrapper);\n $wrapper.append(`<style>${pptxStyle}</style>`);\n let isDone = false;\n\n return new Promise((resolve, reject) => {\n const processMessage = (msg) => {\n if (isDone) return;\n switch (msg.type) {\n case \"slide\":\n $wrapper.append(msg.data);\n break;\n case \"pptx-thumb\":\n if (thumbElement)\n $(thumbElement).attr(\"src\", `data:image/jpeg;base64,${msg.data}`);\n break;\n case \"slideSize\":\n break;\n case \"globalCSS\":\n $wrapper.append(`<style>${msg.data}</style>`);\n break;\n case \"Done\":\n isDone = true;\n processCharts(msg.data.charts);\n resolve(msg.data.time);\n break;\n case \"WARN\":\n console.warn(\"PPTX processing warning: \", msg.data);\n break;\n case \"ERROR\":\n isDone = true;\n console.error(\"PPTX processing error: \", msg.data);\n reject(new Error(msg.data));\n break;\n case \"DEBUG\":\n // console.debug('Worker: ', msg.data);\n break;\n case \"INFO\":\n default:\n // console.info('Worker: ', msg.data);\n }\n };\n /*\n // Actual Web Worker - If you want to use this, switching worker's url to Blob is probably better\n const worker = new Worker('./dist/worker.js')\n worker.addEventListener('message', event => processMessage(event.data), false)\n const stopWorker = setInterval(() => { // Maybe this should be done in the message processing\n if (isDone) {\n worker.terminate()\n // console.log(\"worker terminated\");\n clearInterval(stopWorker)\n }\n }, 500)\n */\n const worker = {\n // shim worker\n postMessage: () => {},\n terminate: () => {},\n };\n // processMessage方法,成功之后执行\n processPptx((func) => {\n worker.postMessage = func;\n }, processMessage);\n // 执行postMessage方法\n worker.postMessage({\n type: \"processPPTX\",\n data: pptx,\n });\n }).then((time) => {\n const resize = () => {\n const slidesWidth = Math.max(\n ...Array.from($wrapper.children(\"section\")).map((s) => s.offsetWidth)\n );\n const wrapperWidth = $wrapper[0].offsetWidth;\n $wrapper.css({\n transform: `scale(${wrapperWidth / slidesWidth})`,\n \"transform-origin\": \"top left\",\n });\n };\n resize();\n window.addEventListener(\"resize\", resize);\n setNumericBullets($(\".block\"));\n setNumericBullets($(\"table td\"));\n return time;\n });\n};\n\nexport default renderPptx;\n\nfunction processCharts(queue) {\n for (let i = 0; i < queue.length; i++) {\n processSingleChart(queue[i].data);\n }\n}\n\nfunction convertChartData(chartData) {\n const data = [];\n const xLabels = [];\n const groupLabels = [];\n chartData.forEach((group, i) => {\n const groupName = group.key;\n groupLabels[i] = group.key;\n group.values.forEach((value, j) => {\n const labelName = group.xlabels[j];\n xLabels[j] = group.xlabels[j];\n data.push({ name: labelName, group: groupName, value: value.y });\n });\n });\n // console.log('TRANSFORMED DATA:', (data))\n return { data, xLabels, groupLabels };\n}\n\nfunction processSingleChart(d) {\n const chartID = d.chartID;\n const chartType = d.chartType;\n const chartData = d.chartData;\n // console.log(`WRITING GRAPH OF TYPE ${chartType} TO ID #${chartID}:`, chartData)\n\n let data = [];\n\n switch (chartType) {\n case \"lineChart\": {\n const { data: data_, xLabels, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n `#${chartID}`,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const xAxis = myChart.addCategoryAxis(\"x\", \"name\");\n xAxis.addOrderRule(xLabels);\n xAxis.addGroupOrderRule(groupLabels);\n xAxis.title = null;\n const yAxis = myChart.addMeasureAxis(\"y\", \"value\");\n yAxis.title = null;\n myChart.addSeries(\"group\", dimple.plot.line);\n myChart.addLegend(60, 10, 500, 20, \"right\");\n myChart.draw();\n\n break;\n }\n case \"barChart\": {\n const { data: data_, xLabels, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n \"#\" + chartID,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const xAxis = myChart.addCategoryAxis(\"x\", [\"name\", \"group\"]);\n xAxis.addOrderRule(xLabels);\n xAxis.addGroupOrderRule(groupLabels);\n xAxis.title = null;\n const yAxis = myChart.addMeasureAxis(\"y\", \"value\");\n yAxis.title = null;\n myChart.addSeries(\"group\", dimple.plot.bar);\n myChart.addLegend(60, 10, 500, 20, \"right\");\n myChart.draw();\n break;\n }\n case \"pieChart\":\n case \"pie3DChart\": {\n // data = chartData[0].values\n // chart = nv.models.pieChart()\n // nvDraw(chart, data)\n const { data: data_, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n `#${chartID}`,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const pieAxis = myChart.addMeasureAxis(\"p\", \"value\");\n pieAxis.addOrderRule(groupLabels);\n myChart.addSeries(\"name\", dimple.plot.pie);\n myChart.addLegend(50, 20, 400, 300, \"left\");\n myChart.draw();\n break;\n }\n case \"areaChart\": {\n const { data: data_, xLabels, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n \"#\" + chartID,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const xAxis = myChart.addCategoryAxis(\"x\", \"name\");\n xAxis.addOrderRule(xLabels);\n xAxis.addGroupOrderRule(groupLabels);\n xAxis.title = null;\n const yAxis = myChart.addMeasureAxis(\"y\", \"value\");\n yAxis.title = null;\n myChart.addSeries(\"group\", dimple.plot.area);\n myChart.addLegend(60, 10, 500, 20, \"right\");\n myChart.draw();\n\n break;\n }\n case \"scatterChart\": {\n for (let i = 0; i < chartData.length; i++) {\n const arr = [];\n for (let j = 0; j < chartData[i].length; j++) {\n arr.push({ x: j, y: chartData[i][j] });\n }\n data.push({ key: \"data\" + (i + 1), values: arr });\n }\n\n // data = chartData;\n // chart = nv.models.scatterChart()\n // .showDistX(true)\n // .showDistY(true)\n // .color(d3.scale.category10().range())\n // chart.xAxis.axisLabel('X').tickFormat(d3.format('.02f'))\n // chart.yAxis.axisLabel('Y').tickFormat(d3.format('.02f'))\n // nvDraw(chart, data)\n break;\n }\n default:\n }\n}\n\nfunction setNumericBullets(elem) {\n const paragraphsArray = elem;\n for (let i = 0; i < paragraphsArray.length; i++) {\n const buSpan = $(paragraphsArray[i]).find(\".numeric-bullet-style\");\n if (buSpan.length > 0) {\n // console.log(\"DIV-\"+i+\":\");\n let prevBultTyp = \"\";\n let prevBultLvl = \"\";\n let buletIndex = 0;\n const tmpArry = [];\n let tmpArryIndx = 0;\n const buletTypSrry = [];\n for (let j = 0; j < buSpan.length; j++) {\n const bulletType = $(buSpan[j]).data(\"bulltname\");\n const bulletLvl = $(buSpan[j]).data(\"bulltlvl\");\n // console.log(j+\" - \"+bult_typ+\" lvl: \"+bult_lvl );\n if (buletIndex === 0) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n buletIndex++;\n } else {\n if (bulletType === prevBultTyp && bulletLvl === prevBultLvl) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n buletIndex++;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n } else if (bulletType !== prevBultTyp && bulletLvl === prevBultLvl) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArryIndx++;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n buletIndex = 1;\n } else if (\n bulletType !== prevBultTyp &&\n Number(bulletLvl) > Number(prevBultLvl)\n ) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArryIndx++;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n buletIndex = 1;\n } else if (\n bulletType !== prevBultTyp &&\n Number(bulletLvl) < Number(prevBultLvl)\n ) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArryIndx--;\n buletIndex = tmpArry[tmpArryIndx] + 1;\n }\n }\n // console.log(buletTypSrry[tmpArryIndx]+\" - \"+buletIndex);\n const numIdx = getNumTypeNum(buletTypSrry[tmpArryIndx], buletIndex);\n $(buSpan[j]).html(numIdx);\n }\n }\n }\n}\n\nfunction getNumTypeNum(numTyp, num) {\n let rtrnNum = \"\";\n switch (numTyp) {\n case \"arabicPeriod\":\n rtrnNum = num + \". \";\n break;\n case \"arabicParenR\":\n rtrnNum = num + \") \";\n break;\n case \"alphaLcParenR\":\n rtrnNum = alphaNumeric(num, \"lowerCase\") + \") \";\n break;\n case \"alphaLcPeriod\":\n rtrnNum = alphaNumeric(num, \"lowerCase\") + \". \";\n break;\n\n case \"alphaUcParenR\":\n rtrnNum = alphaNumeric(num, \"upperCase\") + \") \";\n break;\n case \"alphaUcPeriod\":\n rtrnNum = alphaNumeric(num, \"upperCase\") + \". \";\n break;\n\n case \"romanUcPeriod\":\n rtrnNum = romanize(num) + \". \";\n break;\n case \"romanLcParenR\":\n rtrnNum = romanize(num) + \") \";\n break;\n case \"hebrew2Minus\":\n rtrnNum = hebrew2Minus.format(num) + \"-\";\n break;\n default:\n rtrnNum = num;\n }\n return rtrnNum;\n}\n\nfunction romanize(num) {\n if (!+num) return false;\n const digits = String(+num).split(\"\");\n const key = [\n \"\",\n \"C\",\n \"CC\",\n \"CCC\",\n \"CD\",\n \"D\",\n \"DC\",\n \"DCC\",\n \"DCCC\",\n \"CM\",\n \"\",\n \"X\",\n \"XX\",\n \"XXX\",\n \"XL\",\n \"L\",\n \"LX\",\n \"LXX\",\n \"LXXX\",\n \"XC\",\n \"\",\n \"I\",\n \"II\",\n \"III\",\n \"IV\",\n \"V\",\n \"VI\",\n \"VII\",\n \"VIII\",\n \"IX\",\n ];\n let roman = \"\";\n let i = 3;\n while (i--) roman = (key[+digits.pop() + i * 10] || \"\") + roman;\n return new Array(+digits.join(\"\") + 1).join(\"M\") + roman;\n}\n\nconst hebrew2Minus = archaicNumbers([\n [1000, \"\"],\n [400, \"ת\"],\n [300, \"ש\"],\n [200, \"ר\"],\n [100, \"ק\"],\n [90, \"צ\"],\n [80, \"פ\"],\n [70, \"ע\"],\n [60, \"ס\"],\n [50, \"נ\"],\n [40, \"מ\"],\n [30, \"ל\"],\n [20, \"כ\"],\n [10, \"י\"],\n [9, \"ט\"],\n [8, \"ח\"],\n [7, \"ז\"],\n [6, \"ו\"],\n [5, \"ה\"],\n [4, \"ד\"],\n [3, \"ג\"],\n [2, \"ב\"],\n [1, \"א\"],\n [/יה/, \"ט״ו\"],\n [/יו/, \"ט״ז\"],\n [/([א-ת])([א-ת])$/, \"$1״$2\"],\n [/^([א-ת])$/, \"$1׳\"],\n]);\n\nfunction archaicNumbers(arr) {\n // const arrParse = arr.slice().sort(function (a, b) { return b[1].length - a[1].length })\n return {\n format: function (n) {\n let ret = \"\";\n $.each(arr, function () {\n const num = this[0];\n if (parseInt(num) > 0) {\n for (; n >= num; n -= num) ret += this[1];\n } else {\n ret = ret.replace(num, this[1]);\n }\n });\n return ret;\n },\n };\n}\n\nfunction alphaNumeric(num, upperLower) {\n num = Number(num) - 1;\n let aNum = \"\";\n if (upperLower === \"upperCase\") {\n aNum = (\n (num / 26 >= 1 ? String.fromCharCode(num / 26 + 64) : \"\") +\n String.fromCharCode((num % 26) + 65)\n ).toUpperCase();\n } else if (upperLower === \"lowerCase\") {\n aNum = (\n (num / 26 >= 1 ? String.fromCharCode(num / 26 + 64) : \"\") +\n String.fromCharCode((num % 26) + 65)\n ).toLowerCase();\n }\n return aNum;\n}\n","import React,{ useEffect } from 'react'\r\n\r\nimport renderPptx from \"./ppt\";\r\n\r\n\r\nexport const PPtxViewer=(props)=>{\r\n \r\n useEffect(()=>{\r\n if(props?.filePath){\r\n const dom=document.getElementById('pptx-viewer')\r\n renderPptx(props?.filePath, dom, null);\r\n }\r\n },[props?.filePath])\r\n\r\n return <div className=\"pptx-viewer-wrapper\">\r\n <div id=\"pptx-viewer\" style={{width:1100,margin:'0 auto'}}></div>\r\n </div>\r\n}","import React,{ useEffect,useState } from 'react'\r\n\r\nfunction readDataURL(buffer) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = loadEvent => resolve(loadEvent.target.result);\r\n reader.onerror = e => reject(e);\r\n reader.readAsDataURL(new Blob([buffer]));\r\n });\r\n}\r\n\r\n\r\nexport const ImgViewer=(props)=>{\r\n const [url,setUrl]=useState('')\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n readDataURL(props?.filePath).then(setUrl)\r\n }\r\n },[props?.filePath])\r\n\r\n return <div className=\"img-viewer-wrapper\">\r\n <img alt=\"图片\" src={url} />\r\n </div>\r\n}","import React,{ useEffect ,useState} from 'react'\r\n\r\nfunction readText(buffer) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = loadEvent => resolve(loadEvent.target.result);\r\n reader.onerror = e => reject(e);\r\n reader.readAsText(new Blob([buffer]), 'utf-8');\r\n });\r\n}\r\n\r\nexport const TextViewer=(props)=>{\r\n \r\n const [content,setContent]=useState('')\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n readText(props?.filePath).then(setContent);\r\n }\r\n },[props?.filePath])\r\n\r\n\r\n return <div className=\"text-viewer-wrapper\">\r\n <div id=\"text-viewer\">\r\n <pre className=\"code-area\">\r\n {content}\r\n </pre>\r\n </div>\r\n </div>\r\n}","import React,{ useEffect ,useState} from 'react'\r\n\r\nfunction renderVideo(buffer, target) {\r\n const mp4 = document.createElement('video');\r\n mp4.width = 850;\r\n mp4.height = 520;\r\n mp4.controls = true;\r\n const source = document.createElement('source');\r\n source.src = URL.createObjectURL(new Blob([buffer]));\r\n mp4.appendChild(source);\r\n target.innerHTML=''\r\n target.appendChild(mp4)\r\n}\r\n\r\nexport const VideoViewer=(props)=>{\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n const dom=document.getElementById('video-viewer')\r\n renderVideo(props?.filePath,dom)\r\n }\r\n },[props?.filePath])\r\n\r\n\r\n return <div className=\"video-viewer-wrapper\">\r\n <div id=\"video-viewer\" style={{display:'flex',justifyContent:'center'}}>\r\n </div>\r\n </div>\r\n}","\n import API from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/cjs.js!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/cjs.js!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n\nimport {PDFViewer,DocxViewer,XlsxViewer,PPtxViewer,ImgViewer,TextViewer,VideoViewer} from './drivers'\nimport './style.css'\n\nexport async function readBuffer(file) {\n if(file){\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = loadEvent => resolve(loadEvent?.target?.result);\n reader.onerror = e => reject(e);\n reader.readAsArrayBuffer(file);\n });\n }else{\n return Promise.resolve('')\n }\n \n}\n\nexport const FileViewer=(props)=>{\n\n const getDriver=(fileType) =>{\n switch (fileType) {\n case 'pdf': {\n return <PDFViewer {...props}/>;\n }\n case 'docx': {\n return <DocxViewer {...props}/>;\n }\n case 'xlsx': {\n return <XlsxViewer {...props}/>;\n }\n case 'pptx': {\n return <PPtxViewer {...props}/>;\n }\n case \"gif\": \n case \"jpg\": \n case \"jpeg\":\n case \"bmp\": \n case \"tiff\": \n case \"tif\":\n case \"png\": {\n return <ImgViewer {...props}/>;\n }\n case \"txt\": \n case \"json\": \n case \"js\": \n case \"css\": \n case \"java\": \n case \"py\": \n case \"html\": \n case \"jsx\": \n case \"ts\": \n case \"tsx\": \n case \"xml\": \n case \"md\": \n case \"log\": {\n return <TextViewer {...props}/>;\n }\n case 'mp4': {\n return <VideoViewer {...props}/>;\n }\n default: {\n return <div>\n <h3 style={{textAlign:'center',marginTop:150}}>不支持 .{fileType} 格式的在线预览,请下载后预览或转换为支持的格式</h3>\n <p style={{textAlign:'center'}}>支持 .docx ,.xlsx ,.pptx ,.pdf ,以及纯文本格式和各种图片格式的在线预览</p>\n </div>;\n }\n }\n }\n\n return <div className=\"cr-viewer-wrapper\">\n <div className=\"cr-viewer\" id=\"cr-viewer\">\n {getDriver(props?.fileType)}\n </div>\n</div>\n}\n\n\n// export default {\n// FileViewer,\n// readBuffer\n// }\n// module.exports={\n// FileViewer,\n// readBuffer\n// }"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","nc","require","_regeneratorRuntime","Op","hasOwn","desc","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_s","_e","_x","_r","_arr","_n","_d","_iterableToArrayLimit","minLen","_arrayLikeToArray","from","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","PDFJS","workerSrc","pdfjsWorker","timeout","PDFPage","React","_ref","zoom","pdfInstance","containerWidth","_useState2","useState","visible","setVisible","handlePageRender","_ref2","_callee","page","calculatedScale","scale","viewport","width","height","canvas","_context","getPage","getViewport","getElementById","getContext","render","canvasContext","args","arguments","useEffect","_jsx","textAlign","children","VisibilitySensor","partialVisibility","onChange","String","PDFViewer","props","_useState4","pages","setPages","_useState6","setZoom","pdfRef","useRef","containerRef","filePath","promise","pdf","current","random","Math","toFixed","tempPages","numPages","fill","_jsxs","className","onClick","clearTimeout","setTimeout","s","ref","x","_containerRef$current","offsetWidth","DocxViewer","docxOptions","assign","defaultOptions","debug","experimental","dom","renderAsync","fixMatrix","colLen","_step","_iterator","_createForOfIteratorHelper","row","j","f","captain","str","toUpperCase","locals","Loading","src","alt","registerLanguageDictionary","zhCN","indexedColors","borders","RenderTable","_ref$workbook","workbook","_objectWithoutProperties","_excluded","curSheetId","setCurSheetId","loading","setLoading","workbookRef","themeColors","sheets","useMemo","worksheets","filter","sheet","_rows","ws","_workbook$getWorkshee","getWorksheet","alignToClass","horizontal","vertical","renderDefault","Handsontable","registerRenderer","hotInstance","TD","col","cell","getRenderer","indexOf","innerText","date","Date","y","getFullYear","m","getMonth","getDate","getHours","minute","getMinutes","transferTime","_cell$style","_cell$style$alignment","alignment","border","wrapText","font","bold","fontWeight","size","fontSize","bgColor","_fill$bgColor","argb","indexed","backgroundColor","fgColor","_fill$fgColor","theme","color","v","borderStyle","prefix","split","part","merge","_ws$_merges","_merges","_ref3","left","top","right","rowspan","bottom","colspan","cols","columns","letter","getRows","actualRowCount","_cells","model","richText","text","_ws$columns","_objectSpread","renderer","flatMap","ri","ci","updateTable","reduce","updateSettings","mergeCells","colHeaders","autoColumnSize","stretchH","setting","outsideClickDeselects","columnHeaderHeight","columnSorting","multiColumnSorting","rowHeaders","rowHeaderWidth","rowHeights","colWidths","manualRowMove","manualColumnMove","manualRowResize","manualColumnResize","manualColumnFreeze","readOnly","copyable","copyPaste","dragToScroll","dropdownMenu","filters","fixedColumnsLeft","fixedRowsBottom","fixedRowsTop","columnSummary","minSpareCols","minSpareRows","formulas","viewportColumnRenderingOffset","viewportRowRenderingOffset","renderAllRows","language","licenseKey","_workbook$_themes","_themes","theme1","parser","DOMParser","_doc$getElementsByTag3","parseFromString","getElementsByTagName","_doc$getElementsByTag5","_toConsumableArray","node","getAttribute","parseTheme","display","borderColor","XlsxViewer","setWorkbook","ExcelJS","xlsx","load","_order","t_xml","S","openBracketCC","charCodeAt","closeBracketCC","minusCC","slashCC","exclamationCC","singleQuoteCC","doubleQuoteCC","questionMarkCC","nameSpacer","pos","simplefy","parseChildren","startNamePos","nodeTagName","attrFound","nodeAttributes","c","code","startChar","startStringPos","nodeChildren","startTextPos","trim","child","tagName","kids","attrs","round","Rgb","_classCallCheck","g","b","_createClass","Rgba","_Rgb","_inherits","_super","_createSuper","_this","Hsl","h","l","Hsla","_Hsl","_super2","_this2","Color","_hexToRgb2","hexToRgb","rgb","rgba","hex","rgbToHex","hsl","rgbToHsl","hsla","newHue","updateFromHsl","newSat","newLum","newAlpha","hslToRgb","exec","parseInt","componentToHex","max","min","hue2rgb","p","q","t","_asyncToGenerator","base64ArrayBuffer","arrayBuff","buff","Uint8Array","byteLength","fromCharCode","processPptx","tableStyles","postMessage","charts","chartID","themeContent","slideLayoutClrOvride","styleTable","processPPTX","_x2","_processPPTX","_callee2","zip","dateBefore","pptxThumbImg","filesInfo","slideSize","numOfSlides","filename","slideHtml","dateAfter","_context2","JSZip","file","getContentTypes","getSlideSize","loadTheme","readXmlFile","processSingleSlide","genGlobalCSS","time","_x3","_x4","_readXmlFile","_callee3","_context3","t0","t1","_x5","_getContentTypes","_callee4","ContentTypesJson","subObj","slidesLocArray","slideLayoutsLocArray","_context4","substr","slides","slideLayouts","_x6","_getSlideSize","_callee5","sldSzAttrs","_context5","_x7","_loadTheme","_callee6","preResContent","relationshipArray","themeURI","_context6","_x8","_x9","_x10","_x11","_processSingleSlide","_callee7","sldFileName","resName","resContent","RelationshipArray","layoutFilename","slideResObj","slideLayoutContent","slideLayoutTables","sldLayoutClrOvr","slideLayoutResFilename","slideLayoutResContent","masterFilename","layoutResObj","slideMasterContent","slideMasterTextStyles","slideMasterTables","slideMasterResFilename","slideMasterResContent","themeFilename","masterResObj","_i2","slideContent","nodes","warpObj","nodeKey","_i3","_context7","replace","indexNodes","getTextByPathList","t2","getSlideBackgroundFill","t3","t4","t5","processNodesInSlide","t6","spTreeNode","idTable","idxTable","typeTable","targetNode","nvSpPrNode","idx","_x12","_x13","_x14","_processNodesInSlide","_callee8","nodeValue","_context8","processSpNode","processCxnSpNode","processPicNode","processGraphicFrameNode","processGroupSpNode","_x15","_x16","_processGroupSpNode","_callee9","factor","xfrmNode","chx","chy","cx","cy","chcx","chcy","order","_context9","_x17","_x18","_processSpNode","_callee10","slideLayoutSpNode","slideMasterSpNode","_context10","genShape","_x19","_x20","_processCxnSpNode","_callee11","_context11","_x21","_x22","_x23","_x24","_x25","_x26","_x27","_x28","_x29","_genShape","_callee12","xfrmList","slideXfrmNode","slideLayoutXfrmNode","slideMasterXfrmNode","shpId","shapType","custShapType","isFlipV","rotate","w","headEndNodeAttrs","tailEndNodeAttrs","fillColor","grndFillFlg","imgFillFlg","ext","clrFillType","colorArray","angl","svgGrdnt","svgBgImg","triangleMarker","shapAdjst","shapAdjstVal","_shapAdjst","adjstVal","adjst","_shapAdjst2","_adjstVal","_maxAdjConst","_adjst","shapAdjstArray","_shapAdjst3","_adjstVal2","_adjst2","_shapAdjst4","adj1","adj2","_shapAdjst5","_shapAdjstVal","_shapAdjst6","_adj","_adj2","_shapAdjstArray","sAdj1","sAdj1Val","sAdj2","sAdj2Val","maxSAdj2Const","_i4","sAdjName","sAdj2Val2","_shapAdjstArray2","_sAdj","_sAdj1Val","_sAdj2","_sAdj2Val","_maxSAdj2Const","_i5","_sAdjName","_sAdj2Val2","_shapAdjstArray3","_sAdj3","_sAdj1Val2","_sAdj4","_sAdj2Val3","_maxSAdj2Const2","_i6","_sAdjName2","_sAdj2Val4","_shapAdjstArray4","_sAdj5","_sAdj1Val3","_sAdj6","_sAdj2Val5","_maxSAdj2Const3","_i7","_sAdjName3","_sAdj2Val6","_shapAdjstArray5","_sAdj7","_sAdj1Val4","_sAdj8","_sAdj2Val7","_maxSAdj2Const4","_i8","_sAdjName4","_sAdj2Val8","_shapAdjstArray6","_sAdj9","_sAdj1Val5","_sAdj10","_sAdj2Val9","_maxSAdj2Const5","_i9","_sAdjName5","_sAdj2Val10","pathLstNode","closeNode","startPoint","spX","spY","pathNodes","lnToNodes","cubicBezToNodes","sortblAry","sortByOrder","Lx","Ly","Cx1","Cy1","Cx2","Cy2","Cx3","Cy3","_context12","angleToDegrees","getPosition","getSize","getShapeFill","getFillType","rot","getSvgGradient","getSvgImagePattern","getBorder","strokeDasharray","maxAdjConst","getVerticalAlign","genTextBody","lnToPtNode","key2","ptObj","lnToNoPt","ptX","ptY","ptOrdr","cubicBezToPtNodes","cubBzPts","key3","cubBzPt","sort","t7","t8","t9","t10","t11","t12","t13","t14","t15","_x30","_x31","_processPicNode","_callee13","rid","imgName","imgFileExt","imgArrayBuffer","mimeType","_context13","dot","lastIndexOf","toLowerCase","getImageMimeType","_x32","_x33","_processGraphicFrameNode","_callee14","graphicTypeUri","_context14","genTable","genChart","genDiagram","_x34","_x35","_x36","_x37","_x38","_genTextBody","_callee15","textBodyNode","pNode","rNode","_j","_context15","getHorizontalAlign","genBuChar","genSpanElement","_x39","_x40","_x41","_x42","_x43","_genBuChar","_callee16","sldMstrTxtStyles","dfltBultColor","dfltBultSize","bultColor","bultSize","bullet","pPrNode","getRtlVal","isRTL","lvl","buChar","buType","buNum","buPic","buFontAttrs","defBultColor","buClrNode","buFontSize","prcnt","dfltBultSizeNoPt","marginLeft","marginRight","typeface","buPicId","buImg","imgPath","imgExt","imgMimeType","_context16","getFontColor","getFontSize","getSolidFill","styleText","fontSchemeNode","getFontType","getFontBold","getFontItalic","underLine","strikethrough","getFontDecoration","getAlgn","align","getTextHorizontalAlign","baseline","getTextVerticalAlign","highlight","getColorOpacity","cssName","linkID","_x44","_x45","_genTable","_callee17","tableNode","getTblPr","getColsGrid","tblDir","firstRowAttr","bandRowAttr","tableHtml","trNodes","rowHeightParam","rowHeight","rowsStyl","thisTblStyle","tbleStyleId","tbleStylList","colorOpacity","bgFillschemeClr","borderStyl","rowBorders","_fillColor","_colorOpacity","_bgFillschemeClr","_borderStyl","_rowBorders","_bgFillschemeClr2","_borderStyl2","_rowBorders2","tcNodes","rowSpan","colSpan","vMerge","hMerge","colWidthParam","colStyl","colWidth","getFill","_fillColor2","_colorOpacity2","_tbleStylList","_text","_colWidthParam","_colStyl","_colWidth","_getFill","_fillColor3","_colorOpacity3","_rowHeightParam","_rowHeight","_tcNodes","_j2","_text2","_colWidthParam2","_colStyl2","_colWidth2","_getFill2","_fillColor4","_colorOpacity4","_text3","_colWidthParam3","_colStyl3","_colWidth3","_getFill3","_fillColor5","_colorOpacity5","_context17","getTableBorders","_x46","_x47","_genChart","_callee18","refName","plotArea","chartData","_context18","chartType","extractChartData","slideSpNode","off","algn","anchor","solidFillNode","pathStr","getTextByPathStr","sz","isSvgMode","lineNode","borderWidth","borderType","schemeClrNode","getSchemeColorFromTheme","shade","setLum","_x48","_x49","_x50","_x51","_getSlideBackgroundFill","_callee19","bgPr","bgRef","bgcolor","bgFillTyp","sldFill","sldTint","grdFill","gsLst","tintArray","loTint","loColor","schemeClr","lin","_i10","picFillBase64","ordr","phClr","_schemeClr2","trueIdx","bgFillLst","bgFillLstIdx","_bgFillTyp","_sldFill","_sldTint","_grdFill","_gsLst","_tintArray","_i12","_loTint","_lin","_rot","_i13","_bgFillTyp2","_sldFill2","_bgColor","_sldTint2","_grdFill2","_gsLst2","_colorArray","_tintArray2","_i14","_loTint2","_loColor","_schemeClr3","_lin2","_rot2","_i15","_picFillBase","_ordr","_bgFillTyp3","_sldFill3","_bgColor2","_sldTint3","_grdFill3","_gsLst3","_colorArray2","_tintArray3","_i16","_loTint3","_loColor2","_schemeClr4","_lin3","_rot3","_i17","_picFillBase2","_ordr2","_phClr","_schemeClr5","_idx2","_trueIdx","_bgFillLst","_sortblAry","_sortByOrder","_bgFillLstIdx","_bgFillTyp4","_sldFill4","_sldTint4","_grdFill4","_gsLst4","_tintArray4","_i19","_loTint4","_lin4","_rot4","_i20","_context19","hexToRgbNew","getPicFill","Number","bgFillLstTyp","idex","arrBuff","ArrayBuffer","DataView","setUint32","arrByte","_x52","_x53","_x54","_getShapeFill","_callee20","fillType","shpFill","_shpFill","_shpFill2","_shpFill3","clrName","colorAry","_context20","getGradientFill","getPatternFill","lumMod","lumOff","applyLumModify","_x55","_x56","_x57","_getPicFill","_callee21","img","rId","_context21","defBultColorVals","red","shift","green","blue","toHex","colorHex","findIndx","getColorName2Hex","hsl2rgb","hue","sat","light","hueToRgb","sysClr","solidFill","opcity","tint","sldMasterNode","schmClrName","refNode","serNode","dataMat","dataRow","eachElement","innerNode","parseFloat","colName","rowNames","xlabels","path","doFunction","offset","angle","stopsArray","sArry","middleStopString","getMiddleStops","xyArray","deg","svgHeight","svgWidth","ang","wc","hc","tx1","ty1","tx2","ty2","PI","tan","pow","x1","y1","x2","y2","SVGangle","sal","sr","svg","ptrn","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","pptx","resultElement","thumbElement","$result","$","$wrapper","html","append","isDone","worker","terminate","func","msg","attr","queue","processSingleChart","processCharts","resize","slidesWidth","wrapperWidth","transform","addEventListener","setNumericBullets","convertChartData","xLabels","groupLabels","group","groupName","labelName","_convertChartData","data_","container","dimple","newSvg","myChart","chart","xAxis","addCategoryAxis","addOrderRule","addGroupOrderRule","title","addMeasureAxis","addSeries","plot","line","addLegend","draw","_convertChartData2","bar","_convertChartData3","pie","_convertChartData4","area","elem","paragraphsArray","buSpan","find","prevBultTyp","prevBultLvl","buletIndex","tmpArry","tmpArryIndx","buletTypSrry","bulletType","bulletLvl","numIdx","getNumTypeNum","numTyp","num","rtrnNum","alphaNumeric","romanize","hebrew2Minus","format","digits","roman","ret","upperLower","aNum","PPtxViewer","renderPptx","margin","ImgViewer","url","setUrl","buffer","reader","FileReader","onload","loadEvent","onerror","readAsDataURL","Blob","TextViewer","setContent","readAsText","VideoViewer","mp4","controls","source","URL","createObjectURL","innerHTML","renderVideo","justifyContent","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_defineProperty","getOwnPropertyDescriptors","defineProperties","input","hint","prim","toPrimitive","res","_toPrimitive","_toPropertyKey","readBuffer","_readBuffer","_loadEvent$target","readAsArrayBuffer","FileViewer","fileType","marginTop","getDriver"],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":";wFAGIA,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,2aAwBrC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gDAAgD,MAAQ,GAAG,SAAW,sNAAsN,eAAiB,CAAC,4dAA4d,WAAa,MAEtzB,yEC5BIH,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,g0BAuBrC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wCAAwC,MAAQ,GAAG,SAAW,kZAAkZ,eAAiB,CAAC,+2BAA+2B,WAAa,MAE73C,mBCxBAD,EAAOE,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA4EX,OAzEAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,KAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GAoB5B,OAnBIA,EAAK,KACPC,GAAW,cAAcE,OAAOH,EAAK,GAAI,QAEvCA,EAAK,KACPC,GAAW,UAAUE,OAAOH,EAAK,GAAI,OAEnCE,IACFD,GAAW,SAASE,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,OAE5EC,GAAWN,EAAuBK,GAC9BE,IACFD,GAAW,KAETD,EAAK,KACPC,GAAW,KAETD,EAAK,KACPC,GAAW,KAENA,CACT,IAAGI,KAAK,GACV,EAGAT,EAAKU,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAE7B,IAAIC,EAAyB,CAAC,EAC9B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIhB,KAAKM,OAAQU,IAAK,CACpC,IAAIrB,EAAKK,KAAKgB,GAAG,GACP,MAANrB,IACFoB,EAAuBpB,IAAM,EAEjC,CAEF,IAAK,IAAIsB,EAAK,EAAGA,EAAKR,EAAQH,OAAQW,IAAM,CAC1C,IAAIf,EAAO,GAAGG,OAAOI,EAAQQ,IACzBN,GAAUI,EAAuBb,EAAK,WAGrB,IAAVW,SACc,IAAZX,EAAK,KAGdA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKW,GAMVH,IACGR,EAAK,IAGRA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKQ,GAHVR,EAAK,GAAKQ,GAMVE,IACGV,EAAK,IAGRA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKU,GAHVV,EAAK,GAAK,GAAGG,OAAOO,IAMxBd,EAAKL,KAAKS,GACZ,CACF,EACOJ,CACT,WClFAJ,EAAOE,QAAU,SAAUM,GACzB,IAAIC,EAAUD,EAAK,GACfgB,EAAahB,EAAK,GACtB,IAAKgB,EACH,OAAOf,EAET,GAAoB,mBAATgB,KAAqB,CAC9B,IAAIC,EAASD,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUN,MACzDO,EAAO,+DAA+DpB,OAAOe,GAC7EM,EAAgB,OAAOrB,OAAOoB,EAAM,OACxC,MAAO,CAACtB,GAASE,OAAO,CAACqB,IAAgBnB,KAAK,KAChD,CACA,MAAO,CAACJ,GAASI,KAAK,KACxB,WCbA,IAAIoB,EAAc,GAClB,SAASC,EAAqBC,GAE5B,IADA,IAAIC,GAAU,EACLtB,EAAI,EAAGA,EAAImB,EAAYrB,OAAQE,IACtC,GAAImB,EAAYnB,GAAGqB,aAAeA,EAAY,CAC5CC,EAAStB,EACT,KACF,CAEF,OAAOsB,CACT,CACA,SAASC,EAAajC,EAAMkC,GAG1B,IAFA,IAAIC,EAAa,CAAC,EACdC,EAAc,GACT1B,EAAI,EAAGA,EAAIV,EAAKQ,OAAQE,IAAK,CACpC,IAAIN,EAAOJ,EAAKU,GACZb,EAAKqC,EAAQG,KAAOjC,EAAK,GAAK8B,EAAQG,KAAOjC,EAAK,GAClDkC,EAAQH,EAAWtC,IAAO,EAC1BkC,EAAa,GAAGxB,OAAOV,EAAI,KAAKU,OAAO+B,GAC3CH,EAAWtC,GAAMyC,EAAQ,EACzB,IAAIC,EAAoBT,EAAqBC,GACzCS,EAAM,CACRC,IAAKrC,EAAK,GACVQ,MAAOR,EAAK,GACZsC,UAAWtC,EAAK,GAChBU,SAAUV,EAAK,GACfW,MAAOX,EAAK,IAEd,IAA2B,IAAvBmC,EACFV,EAAYU,GAAmBI,aAC/Bd,EAAYU,GAAmBK,QAAQJ,OAClC,CACL,IAAII,EAAUC,EAAgBL,EAAKN,GACnCA,EAAQY,QAAUpC,EAClBmB,EAAYkB,OAAOrC,EAAG,EAAG,CACvBqB,WAAYA,EACZa,QAASA,EACTD,WAAY,GAEhB,CACAP,EAAYzC,KAAKoC,EACnB,CACA,OAAOK,CACT,CACA,SAASS,EAAgBL,EAAKN,GAC5B,IAAIc,EAAMd,EAAQe,OAAOf,GACzBc,EAAIE,OAAOV,GAWX,OAVc,SAAiBW,GAC7B,GAAIA,EAAQ,CACV,GAAIA,EAAOV,MAAQD,EAAIC,KAAOU,EAAOvC,QAAU4B,EAAI5B,OAASuC,EAAOT,YAAcF,EAAIE,WAAaS,EAAOrC,WAAa0B,EAAI1B,UAAYqC,EAAOpC,QAAUyB,EAAIzB,MACzJ,OAEFiC,EAAIE,OAAOV,EAAMW,EACnB,MACEH,EAAII,QAER,CAEF,CACAxD,EAAOE,QAAU,SAAUE,EAAMkC,GAG/B,IAAImB,EAAkBpB,EADtBjC,EAAOA,GAAQ,GADfkC,EAAUA,GAAW,CAAC,GAGtB,OAAO,SAAgBoB,GACrBA,EAAUA,GAAW,GACrB,IAAK,IAAI5C,EAAI,EAAGA,EAAI2C,EAAgB7C,OAAQE,IAAK,CAC/C,IACI6C,EAAQzB,EADKuB,EAAgB3C,IAEjCmB,EAAY0B,GAAOZ,YACrB,CAEA,IADA,IAAIa,EAAqBvB,EAAaqB,EAASpB,GACtCuB,EAAK,EAAGA,EAAKJ,EAAgB7C,OAAQiD,IAAM,CAClD,IACIC,EAAS5B,EADKuB,EAAgBI,IAEK,IAAnC5B,EAAY6B,GAAQf,aACtBd,EAAY6B,GAAQd,UACpBf,EAAYkB,OAAOW,EAAQ,GAE/B,CACAL,EAAkBG,CACpB,CACF,UCjFA,IAAIG,EAAO,CAAC,EA+BZ/D,EAAOE,QAPP,SAA0B8D,EAAQC,GAChC,IAAIC,EAtBN,SAAmBA,GACjB,QAA4B,IAAjBH,EAAKG,GAAyB,CACvC,IAAIC,EAAcC,SAASC,cAAcH,GAGzC,GAAII,OAAOC,mBAAqBJ,aAAuBG,OAAOC,kBAC5D,IAGEJ,EAAcA,EAAYK,gBAAgBC,IAC5C,CAAE,MAAOC,GAEPP,EAAc,IAChB,CAEFJ,EAAKG,GAAUC,CACjB,CACA,OAAOJ,EAAKG,EACd,CAIeS,CAAUX,GACvB,IAAKE,EACH,MAAM,IAAIU,MAAM,2GAElBV,EAAOW,YAAYZ,EACrB,WCvBAjE,EAAOE,QANP,SAA4BoC,GAC1B,IAAIwC,EAAUV,SAASW,cAAc,SAGrC,OAFAzC,EAAQ0C,cAAcF,EAASxC,EAAQ2C,YACvC3C,EAAQ0B,OAAOc,EAASxC,EAAQA,SACzBwC,CACT,iBCCA9E,EAAOE,QANP,SAAwCgF,GACtC,IAAIC,EAAmD,KACnDA,GACFD,EAAaE,aAAa,QAASD,EAEvC,WCoDAnF,EAAOE,QAjBP,SAAgBoC,GACd,GAAwB,oBAAb8B,SACT,MAAO,CACLd,OAAQ,WAAmB,EAC3BE,OAAQ,WAAmB,GAG/B,IAAI0B,EAAe5C,EAAQ+C,mBAAmB/C,GAC9C,MAAO,CACLgB,OAAQ,SAAgBV,IAjD5B,SAAesC,EAAc5C,EAASM,GACpC,IAAIC,EAAM,GACND,EAAI1B,WACN2B,GAAO,cAAclC,OAAOiC,EAAI1B,SAAU,QAExC0B,EAAI5B,QACN6B,GAAO,UAAUlC,OAAOiC,EAAI5B,MAAO,OAErC,IAAIN,OAAiC,IAAdkC,EAAIzB,MACvBT,IACFmC,GAAO,SAASlC,OAAOiC,EAAIzB,MAAMP,OAAS,EAAI,IAAID,OAAOiC,EAAIzB,OAAS,GAAI,OAE5E0B,GAAOD,EAAIC,IACPnC,IACFmC,GAAO,KAELD,EAAI5B,QACN6B,GAAO,KAELD,EAAI1B,WACN2B,GAAO,KAET,IAAIC,EAAYF,EAAIE,UAChBA,GAA6B,oBAATrB,OACtBoB,GAAO,uDAAuDlC,OAAOc,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUgB,MAAe,QAKtIR,EAAQgD,kBAAkBzC,EAAKqC,EAAc5C,EAAQA,QACvD,CAoBMiD,CAAML,EAAc5C,EAASM,EAC/B,EACAY,OAAQ,YArBZ,SAA4B0B,GAE1B,GAAgC,OAA5BA,EAAaM,WACf,OAAO,EAETN,EAAaM,WAAWC,YAAYP,EACtC,CAgBMQ,CAAmBR,EACrB,EAEJ,WC9CAlF,EAAOE,QAVP,SAA2B2C,EAAKqC,GAC9B,GAAIA,EAAaS,WACfT,EAAaS,WAAWC,QAAU/C,MAC7B,CACL,KAAOqC,EAAaW,YAClBX,EAAaO,YAAYP,EAAaW,YAExCX,EAAaL,YAAYT,SAAS0B,eAAejD,GACnD,CACF,ICXIkD,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB7E,IAAjB8E,EACH,OAAOA,EAAahG,QAGrB,IAAIF,EAAS+F,EAAyBE,GAAY,CACjDhG,GAAIgG,EAEJ/F,QAAS,CAAC,GAOX,OAHAiG,EAAoBF,GAAUjG,EAAQA,EAAOE,QAAS8F,GAG/ChG,EAAOE,OACf,CCrBA8F,EAAoBI,EAAKpG,IACxB,IAAIqG,EAASrG,GAAUA,EAAOsG,WAC7B,IAAOtG,EAAiB,QACxB,IAAM,EAEP,OADAgG,EAAoBO,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdL,EAAoBO,EAAI,CAACrG,EAASuG,KACjC,IAAI,IAAIC,KAAOD,EACXT,EAAoBW,EAAEF,EAAYC,KAASV,EAAoBW,EAAEzG,EAASwG,IAC5EE,OAAOC,eAAe3G,EAASwG,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDV,EAAoBW,EAAI,CAAC/D,EAAKoE,IAAUJ,OAAOK,UAAUC,eAAeC,KAAKvE,EAAKoE,GCClFhB,EAAoBoB,EAAKlH,IACH,oBAAXmH,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAe3G,EAASmH,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAe3G,EAAS,aAAc,CAAEqH,OAAO,GAAO,ECL9DvB,EAAoBwB,QAAKpG,qECAzB,MAAM,EAA+BqG,QAAQ,+BCAvC,EAA+BA,QAAQ,sBCA7C,MAAM,EAA+BA,QAAQ,wCCA7C,MAAM,EAA+BA,QAAQ,6KCWzCnF,EAAU,CAAC,EAEfA,EAAQgD,kBAAoB,IAC5BhD,EAAQ0C,cAAgB,IAElB1C,EAAQ0B,OAAS,SAAc,KAAM,QAE3C1B,EAAQe,OAAS,IACjBf,EAAQ+C,mBAAqB,IAEhB,IAAI,IAAS/C,GAKJ,KAAW,IAAQoF,QAAS,IAAQA,OAAnD,MC1BD,EAA+BD,QAAQ,qBCEtC,IAAME,EAAQ,WACnB,OAAOC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,sBAAqBC,SAAA,EACzCC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,cAAaC,UAC5BC,EAAAA,EAAAA,KAAA,OAAKC,ICLT,qwRDKmBC,IAAI,QAEnBF,EAAAA,EAAAA,KAAA,KAAGF,UAAU,OAAMC,SAAC,sBAExB,qPERAI,EAAA,kBAAAhI,CAAA,MAAAA,EAAA,GAAAiI,EAAAvB,OAAAK,UAAAmB,EAAAD,EAAAjB,eAAAL,EAAAD,OAAAC,gBAAA,SAAAjE,EAAA8D,EAAA2B,GAAAzF,EAAA8D,GAAA2B,EAAAd,KAAA,EAAAe,EAAA,mBAAAjB,OAAAA,OAAA,GAAAkB,EAAAD,EAAAE,UAAA,aAAAC,EAAAH,EAAAI,eAAA,kBAAAC,EAAAL,EAAAhB,aAAA,yBAAAsB,EAAAhG,EAAA8D,EAAAa,GAAA,OAAAX,OAAAC,eAAAjE,EAAA8D,EAAA,CAAAa,MAAAA,EAAAT,YAAA,EAAA+B,cAAA,EAAAC,UAAA,IAAAlG,EAAA8D,EAAA,KAAAkC,EAAA,aAAAG,GAAAH,EAAA,SAAAhG,EAAA8D,EAAAa,GAAA,OAAA3E,EAAA8D,GAAAa,CAAA,WAAAyB,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,GAAAA,EAAAjC,qBAAAqC,EAAAJ,EAAAI,EAAAC,EAAA3C,OAAA4C,OAAAH,EAAApC,WAAAwC,EAAA,IAAAC,EAAAN,GAAA,WAAAvC,EAAA0C,EAAA,WAAAhC,MAAAoC,EAAAV,EAAAE,EAAAM,KAAAF,CAAA,UAAAK,EAAAC,EAAAjH,EAAAkH,GAAA,WAAAC,KAAA,SAAAD,IAAAD,EAAA1C,KAAAvE,EAAAkH,GAAA,OAAAf,GAAA,OAAAgB,KAAA,QAAAD,IAAAf,EAAA,EAAA7I,EAAA8I,KAAAA,EAAA,IAAAgB,EAAA,YAAAV,IAAA,UAAAW,IAAA,UAAAC,IAAA,KAAAC,EAAA,GAAAvB,EAAAuB,EAAA5B,GAAA,8BAAA6B,EAAAxD,OAAAyD,eAAAC,EAAAF,GAAAA,EAAAA,EAAAG,EAAA,MAAAD,GAAAA,IAAAnC,GAAAC,EAAAjB,KAAAmD,EAAA/B,KAAA4B,EAAAG,GAAA,IAAAE,EAAAN,EAAAjD,UAAAqC,EAAArC,UAAAL,OAAA4C,OAAAW,GAAA,SAAAM,EAAAxD,GAAA,0BAAAyD,SAAA,SAAAC,GAAA/B,EAAA3B,EAAA0D,GAAA,SAAAb,GAAA,YAAAc,QAAAD,EAAAb,EAAA,gBAAAe,EAAAtB,EAAAuB,GAAA,SAAAC,EAAAJ,EAAAb,EAAAkB,EAAAC,GAAA,IAAAC,EAAAtB,EAAAL,EAAAoB,GAAApB,EAAAO,GAAA,aAAAoB,EAAAnB,KAAA,KAAA3H,EAAA8I,EAAApB,IAAAvC,EAAAnF,EAAAmF,MAAA,OAAAA,GAAA,UAAA4D,EAAA5D,IAAAa,EAAAjB,KAAAI,EAAA,WAAAuD,EAAAE,QAAAzD,EAAA6D,SAAAC,MAAA,SAAA9D,GAAAwD,EAAA,OAAAxD,EAAAyD,EAAAC,EAAA,aAAAlC,GAAAgC,EAAA,QAAAhC,EAAAiC,EAAAC,EAAA,IAAAH,EAAAE,QAAAzD,GAAA8D,MAAA,SAAAC,GAAAlJ,EAAAmF,MAAA+D,EAAAN,EAAA5I,EAAA,aAAAmJ,GAAA,OAAAR,EAAA,QAAAQ,EAAAP,EAAAC,EAAA,IAAAA,EAAAC,EAAApB,IAAA,KAAA0B,EAAA3E,EAAA,gBAAAU,MAAA,SAAAoD,EAAAb,GAAA,SAAA2B,IAAA,WAAAX,GAAA,SAAAE,EAAAC,GAAAF,EAAAJ,EAAAb,EAAAkB,EAAAC,EAAA,WAAAO,EAAAA,EAAAA,EAAAH,KAAAI,EAAAA,GAAAA,GAAA,aAAA9B,EAAAV,EAAAE,EAAAM,GAAA,IAAAiC,EAAA,iCAAAf,EAAAb,GAAA,iBAAA4B,EAAA,UAAA9G,MAAA,iDAAA8G,EAAA,cAAAf,EAAA,MAAAb,EAAA,OAAA6B,GAAA,KAAAlC,EAAAkB,OAAAA,EAAAlB,EAAAK,IAAAA,IAAA,KAAA8B,EAAAnC,EAAAmC,SAAA,GAAAA,EAAA,KAAAC,EAAAC,EAAAF,EAAAnC,GAAA,GAAAoC,EAAA,IAAAA,IAAA7B,EAAA,gBAAA6B,CAAA,cAAApC,EAAAkB,OAAAlB,EAAAsC,KAAAtC,EAAAuC,MAAAvC,EAAAK,SAAA,aAAAL,EAAAkB,OAAA,uBAAAe,EAAA,MAAAA,EAAA,YAAAjC,EAAAK,IAAAL,EAAAwC,kBAAAxC,EAAAK,IAAA,gBAAAL,EAAAkB,QAAAlB,EAAAyC,OAAA,SAAAzC,EAAAK,KAAA4B,EAAA,gBAAAR,EAAAtB,EAAAX,EAAAE,EAAAM,GAAA,cAAAyB,EAAAnB,KAAA,IAAA2B,EAAAjC,EAAA0C,KAAA,6BAAAjB,EAAApB,MAAAE,EAAA,gBAAAzC,MAAA2D,EAAApB,IAAAqC,KAAA1C,EAAA0C,KAAA,WAAAjB,EAAAnB,OAAA2B,EAAA,YAAAjC,EAAAkB,OAAA,QAAAlB,EAAAK,IAAAoB,EAAApB,IAAA,YAAAgC,EAAAF,EAAAnC,GAAA,IAAA2C,EAAA3C,EAAAkB,OAAAA,EAAAiB,EAAApD,SAAA4D,GAAA,QAAAhL,IAAAuJ,EAAA,OAAAlB,EAAAmC,SAAA,eAAAQ,GAAAR,EAAApD,SAAA,SAAAiB,EAAAkB,OAAA,SAAAlB,EAAAK,SAAA1I,EAAA0K,EAAAF,EAAAnC,GAAA,UAAAA,EAAAkB,SAAA,WAAAyB,IAAA3C,EAAAkB,OAAA,QAAAlB,EAAAK,IAAA,IAAAuC,UAAA,oCAAAD,EAAA,aAAApC,EAAA,IAAAkB,EAAAtB,EAAAe,EAAAiB,EAAApD,SAAAiB,EAAAK,KAAA,aAAAoB,EAAAnB,KAAA,OAAAN,EAAAkB,OAAA,QAAAlB,EAAAK,IAAAoB,EAAApB,IAAAL,EAAAmC,SAAA,KAAA5B,EAAA,IAAAsC,EAAApB,EAAApB,IAAA,OAAAwC,EAAAA,EAAAH,MAAA1C,EAAAmC,EAAAW,YAAAD,EAAA/E,MAAAkC,EAAA+C,KAAAZ,EAAAa,QAAA,WAAAhD,EAAAkB,SAAAlB,EAAAkB,OAAA,OAAAlB,EAAAK,SAAA1I,GAAAqI,EAAAmC,SAAA,KAAA5B,GAAAsC,GAAA7C,EAAAkB,OAAA,QAAAlB,EAAAK,IAAA,IAAAuC,UAAA,oCAAA5C,EAAAmC,SAAA,KAAA5B,EAAA,UAAA0C,EAAAC,GAAA,IAAAC,EAAA,CAAAC,OAAAF,EAAA,SAAAA,IAAAC,EAAAE,SAAAH,EAAA,SAAAA,IAAAC,EAAAG,WAAAJ,EAAA,GAAAC,EAAAI,SAAAL,EAAA,SAAAM,WAAAlN,KAAA6M,EAAA,UAAAM,EAAAN,GAAA,IAAA1B,EAAA0B,EAAAO,YAAA,GAAAjC,EAAAnB,KAAA,gBAAAmB,EAAApB,IAAA8C,EAAAO,WAAAjC,CAAA,UAAAxB,EAAAN,GAAA,KAAA6D,WAAA,EAAAJ,OAAA,SAAAzD,EAAAsB,QAAAgC,EAAA,WAAAU,OAAA,YAAA7C,EAAA8C,GAAA,GAAAA,EAAA,KAAAC,EAAAD,EAAA9E,GAAA,GAAA+E,EAAA,OAAAA,EAAAnG,KAAAkG,GAAA,sBAAAA,EAAAb,KAAA,OAAAa,EAAA,IAAAE,MAAAF,EAAAzM,QAAA,KAAAE,GAAA,EAAA0L,EAAA,SAAAA,IAAA,OAAA1L,EAAAuM,EAAAzM,QAAA,GAAAwH,EAAAjB,KAAAkG,EAAAvM,GAAA,OAAA0L,EAAAjF,MAAA8F,EAAAvM,GAAA0L,EAAAL,MAAA,EAAAK,EAAA,OAAAA,EAAAjF,WAAAnG,EAAAoL,EAAAL,MAAA,EAAAK,CAAA,SAAAA,EAAAA,KAAAA,CAAA,SAAAA,KAAAb,EAAA,UAAAA,IAAA,OAAApE,WAAAnG,EAAA+K,MAAA,UAAAlC,EAAAhD,UAAAiD,EAAArD,EAAA2D,EAAA,eAAAjD,MAAA2C,EAAArB,cAAA,IAAAhC,EAAAqD,EAAA,eAAA3C,MAAA0C,EAAApB,cAAA,IAAAoB,EAAAuD,YAAA5E,EAAAsB,EAAAvB,EAAA,qBAAAzI,EAAAuN,oBAAA,SAAAC,GAAA,IAAAC,EAAA,mBAAAD,GAAAA,EAAAE,YAAA,QAAAD,IAAAA,IAAA1D,GAAA,uBAAA0D,EAAAH,aAAAG,EAAAE,MAAA,EAAA3N,EAAA4N,KAAA,SAAAJ,GAAA,OAAA9G,OAAAmH,eAAAnH,OAAAmH,eAAAL,EAAAxD,IAAAwD,EAAAM,UAAA9D,EAAAtB,EAAA8E,EAAA/E,EAAA,sBAAA+E,EAAAzG,UAAAL,OAAA4C,OAAAgB,GAAAkD,CAAA,EAAAxN,EAAA+N,MAAA,SAAAnE,GAAA,OAAAsB,QAAAtB,EAAA,EAAAW,EAAAI,EAAA5D,WAAA2B,EAAAiC,EAAA5D,UAAAwB,GAAA,0BAAAvI,EAAA2K,cAAAA,EAAA3K,EAAAgO,MAAA,SAAAjF,EAAAC,EAAAC,EAAAC,EAAA0B,QAAA,IAAAA,IAAAA,EAAAqD,SAAA,IAAAC,EAAA,IAAAvD,EAAA7B,EAAAC,EAAAC,EAAAC,EAAAC,GAAA0B,GAAA,OAAA5K,EAAAuN,oBAAAvE,GAAAkF,EAAAA,EAAA5B,OAAAnB,MAAA,SAAAjJ,GAAA,OAAAA,EAAA+J,KAAA/J,EAAAmF,MAAA6G,EAAA5B,MAAA,KAAA/B,EAAAD,GAAA5B,EAAA4B,EAAA7B,EAAA,aAAAC,EAAA4B,EAAAjC,GAAA,0BAAAK,EAAA4B,EAAA,qDAAAtK,EAAAmO,KAAA,SAAAC,GAAA,IAAAC,EAAA3H,OAAA0H,GAAAD,EAAA,WAAA3H,KAAA6H,EAAAF,EAAAtO,KAAA2G,GAAA,OAAA2H,EAAAG,UAAA,SAAAhC,IAAA,KAAA6B,EAAAzN,QAAA,KAAA8F,EAAA2H,EAAAI,MAAA,GAAA/H,KAAA6H,EAAA,OAAA/B,EAAAjF,MAAAb,EAAA8F,EAAAL,MAAA,EAAAK,CAAA,QAAAA,EAAAL,MAAA,EAAAK,CAAA,GAAAtM,EAAAqK,OAAAA,EAAAb,EAAAzC,UAAA,CAAA2G,YAAAlE,EAAA0D,MAAA,SAAAsB,GAAA,QAAAC,KAAA,OAAAnC,KAAA,OAAAT,KAAA,KAAAC,WAAA5K,EAAA,KAAA+K,MAAA,OAAAP,SAAA,UAAAjB,OAAA,YAAAb,SAAA1I,EAAA,KAAA6L,WAAAvC,QAAAwC,IAAAwB,EAAA,QAAAb,KAAA,WAAAA,EAAAe,OAAA,IAAAxG,EAAAjB,KAAA,KAAA0G,KAAAN,OAAAM,EAAAgB,MAAA,WAAAhB,QAAAzM,EAAA,EAAA0N,KAAA,gBAAA3C,MAAA,MAAA4C,EAAA,KAAA9B,WAAA,GAAAE,WAAA,aAAA4B,EAAAhF,KAAA,MAAAgF,EAAAjF,IAAA,YAAAkF,IAAA,EAAA/C,kBAAA,SAAAgD,GAAA,QAAA9C,KAAA,MAAA8C,EAAA,IAAAxF,EAAA,cAAAyF,EAAAC,EAAAC,GAAA,OAAAlE,EAAAnB,KAAA,QAAAmB,EAAApB,IAAAmF,EAAAxF,EAAA+C,KAAA2C,EAAAC,IAAA3F,EAAAkB,OAAA,OAAAlB,EAAAK,SAAA1I,KAAAgO,CAAA,SAAAtO,EAAA,KAAAmM,WAAArM,OAAA,EAAAE,GAAA,IAAAA,EAAA,KAAA8L,EAAA,KAAAK,WAAAnM,GAAAoK,EAAA0B,EAAAO,WAAA,YAAAP,EAAAC,OAAA,OAAAqC,EAAA,UAAAtC,EAAAC,QAAA,KAAA8B,KAAA,KAAAU,EAAAjH,EAAAjB,KAAAyF,EAAA,YAAA0C,EAAAlH,EAAAjB,KAAAyF,EAAA,iBAAAyC,GAAAC,EAAA,SAAAX,KAAA/B,EAAAE,SAAA,OAAAoC,EAAAtC,EAAAE,UAAA,WAAA6B,KAAA/B,EAAAG,WAAA,OAAAmC,EAAAtC,EAAAG,WAAA,SAAAsC,GAAA,QAAAV,KAAA/B,EAAAE,SAAA,OAAAoC,EAAAtC,EAAAE,UAAA,YAAAwC,EAAA,UAAA1K,MAAA,kDAAA+J,KAAA/B,EAAAG,WAAA,OAAAmC,EAAAtC,EAAAG,WAAA,KAAAb,OAAA,SAAAnC,EAAAD,GAAA,QAAAhJ,EAAA,KAAAmM,WAAArM,OAAA,EAAAE,GAAA,IAAAA,EAAA,KAAA8L,EAAA,KAAAK,WAAAnM,GAAA,GAAA8L,EAAAC,QAAA,KAAA8B,MAAAvG,EAAAjB,KAAAyF,EAAA,oBAAA+B,KAAA/B,EAAAG,WAAA,KAAAwC,EAAA3C,EAAA,OAAA2C,IAAA,UAAAxF,GAAA,aAAAA,IAAAwF,EAAA1C,QAAA/C,GAAAA,GAAAyF,EAAAxC,aAAAwC,EAAA,UAAArE,EAAAqE,EAAAA,EAAApC,WAAA,UAAAjC,EAAAnB,KAAAA,EAAAmB,EAAApB,IAAAA,EAAAyF,GAAA,KAAA5E,OAAA,YAAA6B,KAAA+C,EAAAxC,WAAA/C,GAAA,KAAAwF,SAAAtE,EAAA,EAAAsE,SAAA,SAAAtE,EAAA8B,GAAA,aAAA9B,EAAAnB,KAAA,MAAAmB,EAAApB,IAAA,gBAAAoB,EAAAnB,MAAA,aAAAmB,EAAAnB,KAAA,KAAAyC,KAAAtB,EAAApB,IAAA,WAAAoB,EAAAnB,MAAA,KAAAiF,KAAA,KAAAlF,IAAAoB,EAAApB,IAAA,KAAAa,OAAA,cAAA6B,KAAA,kBAAAtB,EAAAnB,MAAAiD,IAAA,KAAAR,KAAAQ,GAAAhD,CAAA,EAAAyF,OAAA,SAAA1C,GAAA,QAAAjM,EAAA,KAAAmM,WAAArM,OAAA,EAAAE,GAAA,IAAAA,EAAA,KAAA8L,EAAA,KAAAK,WAAAnM,GAAA,GAAA8L,EAAAG,aAAAA,EAAA,YAAAyC,SAAA5C,EAAAO,WAAAP,EAAAI,UAAAE,EAAAN,GAAA5C,CAAA,kBAAA6C,GAAA,QAAA/L,EAAA,KAAAmM,WAAArM,OAAA,EAAAE,GAAA,IAAAA,EAAA,KAAA8L,EAAA,KAAAK,WAAAnM,GAAA,GAAA8L,EAAAC,SAAAA,EAAA,KAAA3B,EAAA0B,EAAAO,WAAA,aAAAjC,EAAAnB,KAAA,KAAA2F,EAAAxE,EAAApB,IAAAoD,EAAAN,EAAA,QAAA8C,CAAA,YAAA9K,MAAA,0BAAA+K,cAAA,SAAAtC,EAAAd,EAAAE,GAAA,YAAAb,SAAA,CAAApD,SAAA+B,EAAA8C,GAAAd,WAAAA,EAAAE,QAAAA,GAAA,cAAA9B,SAAA,KAAAb,SAAA1I,GAAA4I,CAAA,GAAA9J,CAAA,UAAA0P,EAAAC,EAAA7E,EAAAC,EAAA6E,EAAAC,EAAArJ,EAAAoD,GAAA,QAAAwC,EAAAuD,EAAAnJ,GAAAoD,GAAAvC,EAAA+E,EAAA/E,KAAA,OAAAgE,GAAA,YAAAN,EAAAM,EAAA,CAAAe,EAAAH,KAAAnB,EAAAzD,GAAA4G,QAAAnD,QAAAzD,GAAA8D,KAAAyE,EAAAC,EAAA,UAAAC,EAAAC,EAAAnP,GAAA,gBAAAmP,GAAA,GAAAC,MAAAC,QAAAF,GAAA,OAAAA,CAAA,CAAAG,CAAAH,IAAA,SAAAA,EAAAnP,GAAA,IAAA+C,EAAA,MAAAoM,EAAA,yBAAA5I,QAAA4I,EAAA5I,OAAAmB,WAAAyH,EAAA,uBAAApM,EAAA,KAAAwM,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,GAAAC,GAAA,EAAAC,GAAA,SAAAJ,GAAA1M,EAAAA,EAAAsD,KAAA8I,IAAAzD,KAAA,IAAA1L,EAAA,IAAA8F,OAAA/C,KAAAA,EAAA,OAAA6M,GAAA,cAAAA,GAAAL,EAAAE,EAAApJ,KAAAtD,IAAAsI,QAAAsE,EAAA1Q,KAAAsQ,EAAA9I,OAAAkJ,EAAA7P,SAAAE,GAAA4P,GAAA,UAAA3H,GAAA4H,GAAA,EAAAL,EAAAvH,CAAA,iBAAA2H,GAAA,MAAA7M,EAAA,SAAA2M,EAAA3M,EAAA,SAAA+C,OAAA4J,KAAAA,GAAA,kBAAAG,EAAA,MAAAL,CAAA,SAAAG,CAAA,EAAAG,CAAAX,EAAAnP,IAAA,SAAA6F,EAAAkK,GAAA,IAAAlK,EAAA,2BAAAA,EAAA,OAAAmK,EAAAnK,EAAAkK,GAAA,IAAAzK,EAAAQ,OAAAK,UAAA5G,SAAA8G,KAAAR,GAAAkI,MAAA,iBAAAzI,GAAAO,EAAAiH,cAAAxH,EAAAO,EAAAiH,YAAAC,MAAA,WAAAzH,GAAA,QAAAA,EAAA,OAAA8J,MAAAa,KAAApK,GAAA,iBAAAP,GAAA,2CAAA4K,KAAA5K,GAAA,OAAA0K,EAAAnK,EAAAkK,EAAA,CAAAI,CAAAhB,EAAAnP,IAAA,qBAAAuL,UAAA,6IAAA6E,EAAA,UAAAJ,EAAAb,EAAAkB,IAAA,MAAAA,GAAAA,EAAAlB,EAAArP,UAAAuQ,EAAAlB,EAAArP,QAAA,QAAAE,EAAA,EAAAsQ,EAAA,IAAAlB,MAAAiB,GAAArQ,EAAAqQ,EAAArQ,IAAAsQ,EAAAtQ,GAAAmP,EAAAnP,GAAA,OAAAsQ,CAAA,CAKAC,EAAAA,oBAA0BC,UAAYC,IAGtC,IAEIC,EAEEC,EAAQC,IAAAA,MAAW,SAAAC,GAA2C,IAAzChO,EAAKgO,EAALhO,MAAMiO,EAAID,EAAJC,KAAKC,EAAWF,EAAXE,YAAYC,EAAcH,EAAdG,eACNC,EAAA/B,GAAfgC,EAAAA,EAAAA,WAAS,GAAM,GAAnCC,EAAOF,EAAA,GAACG,EAAUH,EAAA,GACnBI,EAAgB,eAdxBtI,EAcwBuI,GAdxBvI,EAcwB3B,IAAA4F,MAAC,SAAAuE,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAnJ,EAAA,OAAAvB,IAAAc,MAAA,SAAA6J,GAAA,cAAAA,EAAAlE,KAAAkE,EAAArG,MAAA,cAAAqG,EAAArG,KAAA,EACHqF,EAAYiB,QAAQnP,GAAM,OAAtC2O,EAAIO,EAAA9G,KACJwG,EAAmBT,EAAiBQ,EAAKS,YAAY,CAACP,MAR5C,MAQkEE,MAC5EF,EAAQD,EATE,QASgDA,EAC1DE,EAAWH,EAAKS,YAAY,CAACP,MAAMA,EAAQZ,IACzCc,EAAkBD,EAAlBC,MAAOC,EAAWF,EAAXE,OACTC,EAASxO,SAAS4O,eAAe,YAAcrP,GAC/C8F,EAAUmJ,EAAOK,WAAW,MAClCL,EAAOF,MAAQA,EACfE,EAAOD,OAASA,EAChBL,EAAKY,OAAO,CACVC,cAAe1J,EACfgJ,SAAAA,IACC,yBAAAI,EAAA/D,OAAA,GAAAuD,EAAA,IA3BP,eAAAlJ,EAAA,KAAAiK,EAAAC,UAAA,WAAAlF,SAAA,SAAAnD,EAAAC,GAAA,IAAA4E,EAAAhG,EAAAtE,MAAA4D,EAAAiK,GAAA,SAAAtD,EAAAvI,GAAAqI,EAAAC,EAAA7E,EAAAC,EAAA6E,EAAAC,EAAA,OAAAxI,EAAA,UAAAwI,EAAAhH,GAAA6G,EAAAC,EAAA7E,EAAAC,EAAA6E,EAAAC,EAAA,QAAAhH,EAAA,CAAA+G,OAAA1O,EAAA,MA4BG,kBAdqB,OAAAgR,EAAA7M,MAAA,KAAA8N,UAAA,KAyBtB,OAPAC,EAAAA,EAAAA,YAAU,WACLrB,GACDE,GAGJ,GAAE,CAACxO,EAAMiO,EAAKK,KAEPlK,EAAAA,EAAAA,KAAA,OAA+B9D,MAAO,CAACsP,UAAU,SAASC,QAAQ,OAAOC,eAAe,UAAU3L,UACvGC,EAAAA,EAAAA,KAAC2L,IAAgB,CAACC,mBAAiB,EAACC,SAXvB,SAAC3B,GACdC,EAAWD,EACb,EASyDnK,UACtDC,EAAAA,EAAAA,KAAA,UAAQ9H,GAAI,YAAY0D,OAFVkQ,OAAOlQ,GAAO,MAMjC,IAEamQ,EAAU,SAACC,GACtB,IAAmCC,EAAAhE,GAAZgC,EAAAA,EAAAA,UAAS,IAAG,GAA5BiC,EAAKD,EAAA,GAACE,EAAQF,EAAA,GACoBG,EAAAnE,GAAdgC,EAAAA,EAAAA,WAAS,GAAK,GAAlCoC,EAAOD,EAAA,GAACE,EAAUF,EAAA,GACOG,EAAAtE,GAAXgC,EAAAA,EAAAA,UAAS,GAAE,GAAzBJ,EAAI0C,EAAA,GAACC,EAAOD,EAAA,GACbE,GAAOC,EAAAA,EAAAA,UACPC,GAAaD,EAAAA,EAAAA,UAmCnB,OAZAnB,EAAAA,EAAAA,YAAU,WACLS,SAAAA,EAAOY,UACRtD,EAAAA,YAAkB0C,aAAK,EAALA,EAAOY,UAAUC,QAAQvJ,MAAK,SAACwJ,GAC/CL,EAAOM,QAAQD,EACf,IAAME,GAAwB,IAAhBC,KAAKD,UAAqBE,QAAQ,GAC1CC,EAAYhF,MAAMa,KAAK,CAAEnQ,OAAQiU,EAAIM,WAAYC,KAAKL,GAC5Db,EAASgB,GACTb,GAAW,EACb,GAEJ,GAAE,CAACN,aAAK,EAALA,EAAOY,YAEH/M,EAAAA,EAAAA,MAAA,OAAKC,UAAU,qBAAoBC,SAAA,EACxCF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,eAAcC,SAAA,EAC3BC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,YAAYwN,QApCN,WACnB7D,IACF8D,aAAa9D,GACbA,EAAU,MAEZA,EAAU+D,YAAW,WACnBhB,GAAQ,SAAAiB,GAAC,OAAEA,EAAE,CAAC,GAChB,GAAG,IAEL,EA2B2D1N,SAAC,OACxDC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,YAAYwN,QA1BR,WACjBzD,GAAO,IACPJ,IACF8D,aAAa9D,GACbA,EAAU,MAEZA,EAAU+D,YAAW,WACnBhB,GAAQ,SAAAiB,GAAC,OAAEA,EAAE,CAAC,GAChB,GAAG,KACL,EAiByD1N,SAAC,SAEvDsM,IAAWrM,EAAAA,EAAAA,KAACJ,EAAO,KACpBI,EAAAA,EAAAA,KAAA,OAAK0N,IAAKf,EAAc7M,UAAU,aAAYC,UAEzCsM,IAAWH,aAAK,EAALA,EAAO1T,KAAI,SAACmV,EAAE5U,GAAI,IAAA6U,EAC5B,OAAO5N,EAAAA,EAAAA,KAAC0J,EAAO,CAEb9N,MAAO7C,EAAE,EACT8Q,KA1FgB,GA0FVA,EACNC,YAAa2C,EAAOM,QACpBhD,eAAoC,QAAtB6D,EAAEjB,EAAaI,eAAO,IAAAa,OAAA,EAApBA,EAAsBC,aAJjC/B,OAAO/S,GAAG,OAAO4U,EAM1B,SAIR,EC5GA,MAAM,EAA+BjO,QAAQ,+iCCQtC,IAAMoO,EAAW,SAAC9B,GACvB,IAAyChC,EAAA/B,GAAdgC,EAAAA,EAAAA,WAAS,GAAK,GAAlCoC,EAAOrC,EAAA,GAACsC,EAAUtC,EAAA,GAczB,OAbAuB,EAAAA,EAAAA,YAAU,WACR,GAAGS,SAAAA,EAAOY,SAAS,CACjB,IAAMmB,EAAclP,OAAOmP,OAAOC,EAAAA,eAAgB,CAChDC,OAAO,EACPC,cAAc,IAEVC,EAAI/R,SAAS4O,eAAe,gBAClCoD,EAAAA,EAAAA,aAAYrC,aAAK,EAALA,EAAOY,SAAUwB,EAAK,KAAML,GAAY,SAAS,WAC3DzB,GAAW,EACb,GACF,CACF,GAAE,CAACN,aAAK,EAALA,EAAOY,YAEH/M,EAAAA,EAAAA,MAAA,OAAKC,UAAU,sBAAqBC,SAAA,CACrCsM,IAAWrM,EAAAA,EAAAA,KAACJ,EAAO,KACvBI,EAAAA,EAAAA,KAAA,OAAK9H,GAAG,cAAcgE,MAAO,CAACoS,WAAWjC,EAAQ,SAAS,eAE9D,EC3BA,MAAM,EAA+B3M,QAAQ,wBCA7C,MAAM,EAA+BA,QAAQ,6BCA7C,MAAM,EAA+BA,QAAQ,qBCARA,QAAQ,ubCYtC,SAAS6O,EAAUvU,EAAMwU,GAAQ,IAChBC,EADgBC,koBAAAC,CACpB3U,GAAI,IAAtB,IAAA0U,EAAAjB,MAAAgB,EAAAC,EAAArQ,KAAA+F,MACE,IADsB,IAAbwK,EAAGH,EAAAjP,MACHqP,EAAI,EAAGA,EAAIL,EAAQK,IACrBD,EAAIC,KACPD,EAAIC,GAAK,GAGd,OAAA7N,GAAA0N,EAAA/R,EAAAqE,EAAA,SAAA0N,EAAAI,GAAA,CACD,OAAO9U,CACT,CAGO,SAAS+U,EAAQC,GACtB,MAAO,GAAPpW,OAAUoW,EAAInI,OAAO,GAAGoI,eAAarW,OAAGoW,EAAIlI,MAAM,GACpD,k/FChBAoI,EAAAA,EAAAA,4BAA2BC,EAAAA,MAE3B,IAAMC,GAAgB,CACpB,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAKIC,GAAU,CAAC,OAAQ,QAAS,MAAO,UACnCC,GAAY,SAAD1F,GAA2B,IAAA2F,EAAA3F,EAAxB4F,SAAAA,OAAQ,IAAAD,EAAC,CAAC,EAACA,EACevF,GADNyF,GAAA7F,EAAA8F,GACMzH,GAAXgC,EAAAA,EAAAA,UAAS,GAAE,IAArC0F,EAAU3F,EAAA,GAAC4F,EAAa5F,EAAA,GACUiC,EAAAhE,GAAdgC,EAAAA,EAAAA,WAAS,GAAK,GAAlCoC,EAAOJ,EAAA,GAACK,EAAUL,EAAA,GACnB4D,GAAYnD,EAAAA,EAAAA,UACZoD,GAAYpD,EAAAA,EAAAA,UAEZqD,GAAOC,EAAAA,EAAAA,UAAQ,WACnB,OAAGR,SAAAA,EAAUS,WACJT,EAASS,WAAWC,QAAO,SAACC,GAAK,OAAKA,EAAMC,MAAMvX,MAAM,IAE1D,EACT,GAAE,CAAC2W,IAGGa,GAAGL,EAAAA,EAAAA,UAAQ,WACb,IAAAM,EAA+Bd,EAAtBe,aACT,SADqB,IAAAD,EAAG,CAAC,EAACA,KACQ,IAAdX,EAAiB,CACnC,IAAM/T,EAAQ+T,GAAcI,EAAO,GAAG7X,GACtC,GAAGsX,SAAAA,EAAUe,aACX,OAAOf,aAAQ,EAARA,EAAUe,aAAa3U,EAElC,CACA,OAAO,IACX,GAAE,CAAC4T,EAASG,IAgBLa,EAAa,SAADnG,GACjB,MAAO,CADwBA,EAAVoG,WAAoBpG,EAARqG,UAE9BR,QAAO,SAACnX,GAAC,OAAKA,CAAC,IACfP,KAAI,SAACmG,GAAG,WAAA/F,OAAU+F,EAAIkI,OAAO,GAAGoI,eAAarW,OAAG+F,EAAImI,MAAM,GAAE,IAC5DhO,KAAK,IACV,EAeM6X,EAAc,WAClBC,IAAAA,UAAuBC,iBACvB,eACE,SAACC,EAAaC,EAAInC,EAAKoC,EAAK/R,EAAMO,EAAOyR,GAcvC,GAbAL,IAAAA,UAAuBM,YAAY,OAAnCN,CACEE,EACAC,EACAnC,EACAoC,EACA/R,EACAO,EACAyR,IAEYzR,EAAQ,IAAI2R,QAAQ,WAAW,IAE3CJ,EAAGK,UA5BQ,SAACpC,GAClB,IAAIqC,EAAO,IAAIC,KAAKtC,GAChBuC,EAAIF,EAAKG,cACTC,EAAIJ,EAAKK,WAAa,EACzBD,EAAIA,EAAI,GAAM,IAAMA,EAAKA,EAC1B,IAAIjT,EAAI6S,EAAKM,UACbnT,EAAIA,EAAI,GAAM,IAAMA,EAAKA,EACjB6S,EAAKO,WAAb,IACIC,EAASR,EAAKS,aAGlB,OAFAD,EAASA,EAAS,GAAM,IAAMA,EAAUA,EAC7BN,EAAI,IAAME,EAAI,IAAMjT,CAEjC,CAgBuBuT,CAAavS,IAE1B6Q,GAAMY,EAAK/U,MAAO,CACpB,IAAA8V,EAEIf,EADF/U,MAAK+V,EAAAD,EAAIE,UAA8BC,SAArB,IAAAF,EAAiB,CAAC,EAACA,GAAfG,SAAuBJ,EAANG,QAAQ9E,EAAI2E,EAAJ3E,KAAMgF,EAAIL,EAAJK,KAEjDnW,EAAQ6U,EAAG7U,MAKjB,GAJImW,IACEA,EAAKC,OAAMpW,EAAMqW,WAAa,QAC9BF,EAAKG,OAAMtW,EAAMuW,SAAW,GAAH7Z,OAAMyZ,EAAKG,KAAI,QAE1CnF,EAAM,CACR,GAAIA,EAAKqF,QAAS,CAChB,IAAAC,EAA0BtF,EAAKqF,QAAvBE,EAAID,EAAJC,KAAMC,EAAOF,EAAPE,QACd3W,EAAM4W,gBAAkB,IAAHla,OAAOga,GAAQxD,GAAcyD,GACpD,CACA,GAAIxF,EAAK0F,QAAS,CAChB,IAAAC,EAA2B3F,EAAK0F,QAAxBE,EAAKD,EAALC,MAAOJ,EAAOG,EAAPH,QACf,GAAII,GAASnD,EAAY/C,QAAS,CAChC,IAAMmG,EAAQpD,EAAY/C,QAAQkG,EAAQ,GACtCC,IACFhX,EAAMgX,MAAQ,IAAHta,OAAOsa,GAEtB,CACIL,IACF3W,EAAMgX,MAAQ,IAAHta,OAAOwW,GAAcyD,IAEpC,CACF,CACIV,GACF9C,GACG7W,KAAI,SAACmG,GAAG,MAAM,CAAEA,IAAAA,EAAKa,MAAO2S,EAAOxT,GAAM,IACzCuR,QAAO,SAACiD,GAAC,OAAKA,EAAE3T,KAAK,IACrBmD,SAAQ,SAACwQ,GACR,IACExU,EAEEwU,EAFFxU,IACgByU,EACdD,EADF3T,MAAStD,MAELmX,EAAS,SAAHza,OAAYmW,EAAQpQ,IAE9BzC,EAAM,GAADtD,OAAIya,EAAM,UADG,SAAhBD,EACwB,MAEA,MAE5BlX,EAAM,GAADtD,OAAIya,EAAM,UAAW,QAC1BnX,EAAM,GAADtD,OAAIya,EAAM,UAAW,MAC5B,GAEN,CAEA,GAAIpC,EAAKnW,IAAK,CACZ,IAAMoB,EAAQ6U,EAAG7U,MACTpB,EAAQmW,EAARnW,IACR+D,OAAOyH,KAAKxL,GAAK6H,SAAQ,SAAChE,GACxB,IAAMpF,EAAcoF,EDtLnB2U,MAAM,KAAK9a,KAAI,SAAC+a,EAAM3X,GAC/B,OAAc,IAAVA,EACKmT,EAAQwE,GAERA,CAEX,IAAGza,KAAK,ICiLEoD,EAAM3C,GAAKuB,EAAI6D,EACjB,GACF,CACF,GAEJ,EAEM6U,GAAMxD,EAAAA,EAAAA,UAAQ,WAClB,GAAGK,EAAG,CACJ,IAAAoD,EAAuBpD,EAAfqD,QAAAA,OAAO,IAAAD,EAAC,CAAC,EAACA,EAClB,OAAO5U,OAAO2D,OAAOkR,GAASlb,KAAI,SAAAmb,GAAkC,IAA/BC,EAAID,EAAJC,KAAMC,EAAGF,EAAHE,IAAKC,EAAKH,EAALG,MAE9C,MAAO,CACLlF,IAAKiF,EAAM,EACX7C,IAAK4C,EAAO,EACZG,QALyDJ,EAANK,OAKjCH,EAAM,EACxBI,QAASH,EAAQF,EAAO,EAE5B,GACF,CACF,GAAE,CACAvD,IAGI6D,GAAKlE,EAAAA,EAAAA,UAAQ,WACjB,OAAOK,aAAE,EAAFA,EAAI8D,QAAQ3b,KAAI,SAACC,GAAI,OAAKA,EAAK2b,MAAM,GAC9C,GAAE,CAAC/D,IACGrW,GAAKgW,EAAAA,EAAAA,UAAQ,WACjB,OAAGK,GAAM6D,EACA3F,EACL8B,aAAE,EAAFA,EAAIgE,QAAQ,EAAGhE,EAAGiE,gBAAgB9b,KAAI,SAACoW,GAAG,OACxCA,aAAG,EAAHA,EAAK2F,OAAO/b,KAAI,SAACC,GACf,IAAM+G,EAAQ/G,EAAK+b,MAAMhV,MACzB,OAAIA,EACCA,EAAMiV,SACJtM,MAAMC,QAAQ5I,EAAMiV,UACdjV,EAAMiV,SAASjc,KAAI,SAAAmV,GAAC,OAAEA,EAAE+G,IAAI,IAAE5b,KAAK,IAEnC0G,EAAMiV,SAASC,KAGnBlV,EAEF,EACT,GAAE,IAEJ0U,aAAI,EAAJA,EAAMrb,QAGH,EACT,GAAE,CACEwX,EAAG6D,IAEDC,GAAQnE,EAAAA,EAAAA,UAAQ,WAAK,IAAA2E,EACzB,OAAOtE,SAAW,QAATsE,EAAFtE,EAAI8D,eAAO,IAAAQ,OAAA,EAAXA,EAAanc,KAAI,SAACC,GAAI,OAAAmc,EAAAA,EAAA,GACvBnc,EAAKkS,MACL,CAAEA,MAAkB,EAAXlS,EAAKkS,MAAU,IAAM,IAAiB,EAAXlS,EAAKkS,OACzC,CAAEA,MAAO,MAAK,IAClB7K,UAAW0Q,EAAa/X,EAAKyZ,WAAa,CAAC,GAC3C2C,SAAU,eAAa,GAE3B,GAAE,CAACxE,IACGY,GAAKjB,EAAAA,EAAAA,UAAQ,WACjB,OAAGK,EACMA,aAAE,EAAFA,EAAIgE,QAAQ,EAAGhE,EAAGiE,gBAAgBQ,SAAQ,SAAClG,EAAKmG,GACrD,OAAOnG,EAAI2F,OACR/b,KAAI,SAACyY,EAAM+D,GACV,GAAI/D,EAAK/U,MACP,OAAA0Y,EAAAA,EAAA,CACEhG,IAAKmG,EACL/D,IAAKgE,GACD/D,EAAKiB,UACL,CAAEpS,UAAW0Q,EAAaS,EAAKiB,YAC/B,CAAC,GAAC,IACNhW,MAAO+U,EAAK/U,OAGlB,IACCgU,QAAO,SAACnX,GAAC,OAAKA,CAAC,GACpB,IAEK,EAET,GAAE,CAACsX,IAiCG4E,IAhCOjF,EAAAA,EAAAA,UAAQ,WACnB,OAAGK,EACMA,aAAE,EAAFA,EAAIgE,QAAQ,EAAGhE,EAAGiE,gBAAgBQ,SAAQ,SAAClG,EAAKmG,GACrD,OAAOnG,EAAI2F,OACR/b,KAAI,SAACyY,EAAM+D,GACV,GAAI/D,EAAK/U,OAAS+U,EAAK/U,MAAMiW,OAAQ,CACnC,IAAMA,EAASlB,EAAK/U,MAAMiW,OACpB7L,EAAOzH,OAAOyH,KAAK6L,GACzB,GAAI7L,EAAKzN,OACP,OAAA+b,EAAA,CACEhG,IAAKmG,EACL/D,IAAKgE,GACF1O,EAAK4O,QAAO,SAAC7a,EAAQsE,GAStB,OARAtE,EAAOsE,GAAO,CACZgM,MAAO,EACPuI,MAAO,IAAFta,OACFuZ,EAAOe,OAAS9D,GAAc+C,EAAOe,MAAML,UAC5CV,EAAOS,MACP,WAGGvY,CACT,GAAG,CAAC,GAGV,CACF,IACC6V,QAAO,SAACnX,GAAC,OAAKA,CAAC,GACpB,IAEK,EACT,GAAE,CAACsX,IACe,WAChBR,EAAY9C,QAAQoI,eAAe,CACjCC,WAAY5B,EACZxZ,KAAMA,EACNqb,WAAYnB,EACZC,QAASA,EACTlD,KAAMA,EACNqE,gBAAiB,EACjBC,SAAU,QAGZ/H,YAAW,WACTlB,GAAW,EACb,GAAE,IACJ,IACAf,EAAAA,EAAAA,YAAU,WACR,IAAM6C,EAAI/R,SAAS4O,eAAe,qBAC5BuK,EAAQ,CACZC,uBAAuB,EAEvB9K,MAAO,OAEPC,OAAQ,sBAER9K,UAAW,oBAEXwV,gBAAgB,EAEhBI,mBAAoB,GAEpBC,eAAe,EAEfC,oBAAoB,EAEpBP,WAAY,KAEZQ,YAAY,EAEZC,eAAgB,GAEhBC,WAAY,GAEZC,UAAW,IAEXC,eAAe,EAEfC,kBAAkB,EAElBC,iBAAiB,EAEjBC,oBAAoB,EAEpBC,oBAAoB,EAEpBlC,aAAS9a,EAETid,UAAU,EACVC,UAAU,EAEVC,WAAW,EAEXC,cAAc,EAEdC,cAAc,EAEdC,SAAS,EAETC,iBAAkB,EAElBC,gBAAiB,EAEjBC,aAAc,EAEd1B,YAAY,EAEZG,SAAU,OAEVwB,mBAAe1d,EAEf2d,aAAc,EAEdC,aAAc,EAEdC,UAAU,EACVC,8BAA+B,GAC/BC,2BAA4B,GAE5BC,eAAe,EACfC,SAAU,QACVC,WAAY,iCAEXnJ,GAAOiC,IACRR,EAAY9C,QAAU,IAAI6D,IAAJ,CAAiBxC,EAAKoH,GAxT9B,WAAK,IAAAgC,EACfvE,EAAQzD,SAAiB,QAATgI,EAARhI,EAAUiI,eAAO,IAAAD,OAAA,EAAjBA,EAAmBE,OAC3BC,EAAS,IAAIC,UACnB,GAAI3E,EAAO,CACT,IAEyC4E,EAAA5P,EAF7B0P,EAAOG,gBAAgB7E,EAAO,YAEpC8E,qBAAqB,eAAc,MADZC,QACY,IAAAH,EADd,CAAC,EAACA,GAApB9X,SAAAA,OAAQ,IAAAiY,EAAG,GAAEA,EAEtBlI,EAAY/C,QAAUkL,EAAIlY,GACvB+U,SAAQ,SAACoD,GAAI,OAAAD,EAASC,EAAKH,qBAAqB,aAAY,IAC5Dvf,KAAI,SAAC0f,GAAI,OAAKA,EAAKC,aAAa,MAAM,IACtCjI,QAAO,SAACnX,GAAC,OAAKA,CAAC,GACpB,CACF,CA6SIqf,GACAzH,IACAsE,IAEJ,GAAE,CAAC5E,EAAGrW,IAcN,OADA2W,KACO9Q,EAAAA,EAAAA,MAAA,OAAKC,UAAU,cAAaC,SAAA,CAE/BsQ,IAAMrW,aAAI,EAAJA,EAAMnB,QAAO,IAAMmH,EAAAA,EAAAA,KAAA,OAAK9D,MAAO,CAACuP,QAAQY,EAAQ,OAAO,SAAUnU,GAAG,sBAE1EmU,IAAWrM,EAAAA,EAAAA,KAACJ,EAAO,KACrBI,EAAAA,EAAAA,KAAA,OAAKF,UAAU,mBAAkBC,UAE5BsM,IAAW0D,aAAM,EAANA,EAAQvX,KAAI,SAACmV,EAAE5U,GAAC,OAAGiH,EAAAA,EAAAA,KAAA,UAC7BF,UAAU,WAEVwN,QAAS,WArBI,IAACpV,KAsBGyV,aAAC,EAADA,EAAGzV,MArBlByX,IACRrD,GAAW,GACXsD,GAAe,GACfpC,YAAW,WACToC,EAAc1X,GACd+c,GACF,GAAE,GAgBI,EACA/Y,MAAOyT,KAAahC,aAAC,EAADA,EAAGzV,IAAG,CAACgb,MAAM,OAAOJ,gBAAgB,UAAUuF,YAAY,WAAW,CAAC,EAAEtY,SAC5F4N,aAAC,EAADA,EAAG7H,MALEgG,OAAO/S,GAAG,UAKE,SAI3B,EAIauf,GAAW,SAACtM,GACvB,IAAyCI,EAAAnE,GAAZgC,EAAAA,EAAAA,UAAS,CAAC,GAAE,GAAlCuF,EAAQpD,EAAA,GAACmM,EAAWnM,EAAA,GAS3B,OARAb,EAAAA,EAAAA,YAAU,WACLS,SAAAA,EAAOY,WACR,IAAI4L,IAAAA,WAAmBC,KAAKC,KAAK1M,aAAK,EAALA,EAAOY,UAAUtJ,MAAK,SAAAkM,GACrD+I,EAAY/I,EACd,GAEJ,GAAE,CAACxD,aAAK,EAALA,EAAOY,YAEH5M,EAAAA,EAAAA,KAAA,OAAKF,UAAU,sBAAqBC,UACzCC,EAAAA,EAAAA,KAACsP,GAAW,CAACE,SAAUA,KAE3B,EC3dY,SAAApM,GAAAvI,GAAA,OAAAuI,GAAA,mBAAA9D,QAAA,iBAAAA,OAAAmB,SAAA,SAAA5F,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAAyE,QAAAzE,EAAAgL,cAAAvG,QAAAzE,IAAAyE,OAAAJ,UAAA,gBAAArE,CAAA,EAAAuI,GAAAvI,EAAA,CAEZ,IAAI8d,GAAS,EAEE,SAASC,GAAOC,GAC7B,IACMC,EAAgB,IAAIC,WAAW,GAE/BC,EAAiB,IAAID,WAAW,GAChCE,EAAU,IAAIF,WAAW,GACzBG,EAAU,IAAIH,WAAW,GACzBI,EAAgB,IAAIJ,WAAW,GAC/BK,EAAgB,IAAKL,WAAW,GAChCM,EAAgB,IAAIN,WAAW,GAC/BO,EAAiB,IAAIP,WAAW,GAKhCQ,EAAa,aAEfC,EAAM,EAkGV,OADAb,GAAS,EACFc,GA7FP,SAASC,IAEP,IADA,IAAM3Z,EAAW,GACV8Y,EAAEW,IAAM,CACb,GAAIX,EAAEE,WAAWS,KAASV,EAAe,CACvC,GAAID,EAAEE,WAAWS,EAAM,KAAON,EAG5B,OADAM,EAAMX,EAAE1H,QAzBK,IAyBiBqI,GACvBzZ,EACF,GAAI8Y,EAAEE,WAAWS,EAAM,KAAOL,EAAe,CAClD,GAAIN,EAAEE,WAAWS,EAAM,KAAOP,EAAS,CAErC,KAASJ,EAAEE,WAAWS,KAASR,GAAkBH,EAAEE,WAAWS,EAAM,KAAOP,GACzEJ,EAAEE,WAAWS,EAAM,KAAOP,IAAoB,IAATO,GACrCA,EAAMX,EAAE1H,QAhCC,IAgCqBqI,EAAM,IAEzB,IAATA,IACFA,EAAMX,EAAEhgB,OAEZ,MAGE,IADA2gB,GAAO,EACAX,EAAEE,WAAWS,KAASR,EAAgBQ,KAE/CA,IACA,QACF,CAAO,GAAIX,EAAEE,WAAWS,EAAM,KAAOF,EAAgB,CAEnDE,EAAMX,EAAE1H,QA9CK,IA8CiBqI,GAC9BA,IACA,QACF,CAGA,IADA,IAAIG,IADJH,GAEuC,IAAhCD,EAAWpI,QAAQ0H,EAAEW,IAAcA,KAM1C,IALA,IAAMI,EAAcf,EAAE/R,MAAM6S,EAAcH,GAGtCK,GAAY,EACZC,EAAiB,CAAC,EACfjB,EAAEE,WAAWS,KAASR,EAAgBQ,IAAO,CAClD,IAAMO,EAAIlB,EAAEE,WAAWS,GACvB,GAAKO,EAAI,IAAMA,EAAI,IAAQA,EAAI,IAAMA,EAAI,IAAM,CAE7C,IADAJ,EAAeH,GACwB,IAAhCD,EAAWpI,QAAQ0H,EAAEW,IAAcA,KAI1C,IAHA,IAAM1T,EAAO+S,EAAE/R,MAAM6S,EAAcH,GAE/BQ,EAAOnB,EAAEE,WAAWS,GACjBQ,IAASZ,GAAiBY,IAASX,GACxCG,IACAQ,EAAOnB,EAAEE,WAAWS,GAGtB,IAAMS,EAAYpB,EAAEW,GACdU,IAAmBV,EACzBA,EAAMX,EAAE1H,QAAQ8I,EAAWC,GAC3B,IAAM1a,EAAQqZ,EAAE/R,MAAMoT,EAAgBV,GACjCK,IACHC,EAAiB,CAAC,EAClBD,GAAY,GAEdC,EAAehU,GAAQtG,CACzB,CACF,CAGA,IAAI2a,OAAY,EACZtB,EAAEE,WAAWS,EAAM,KAAON,IAC5BM,IACAW,EAAeT,KAGjB3Z,EAAS/H,KAAK,CACZ,SAAYmiB,EACZ,QAAWP,EACX,MAASE,GAEb,KAAO,CACL,IAAMM,EAAeZ,GAER,KADbA,EAAMX,EAAE1H,QAnGM,IAmGeqI,GAAO,KAElCA,EAAMX,EAAEhgB,QAEV,IAAM6b,EAAOmE,EAAE/R,MAAMsT,EAAcZ,EAAM,GACrC9E,EAAK2F,OAAOxhB,OAAS,GACvBkH,EAAS/H,KAAK0c,EAElB,CACA8E,GACF,CACA,OAAOzZ,CACT,CAGgB2Z,GAClB,CAEA,SAASD,GAAU1Z,GACjB,IAAMmY,EAAO,CAAC,EAEd,QAAiB7e,IAAb0G,EACF,MAAO,CAAC,EAIV,GAAwB,IAApBA,EAASlH,SAAwC,iBAAhBkH,EAAS,IAAmBA,EAAS,aAAc+L,QAEtF,OAAO,IAAIA,OAAO/L,EAAS,IAyB7B,IAAK,IAAIhH,KArBTgH,EAAS4C,SAAQ,SAAU2X,GAKzB,GAJKpC,EAAKoC,EAAMC,WACdrC,EAAKoC,EAAMC,SAAW,IAGH,WAAjBnX,GAAOkX,GAAoB,CAC7B,IAAME,EAAOf,GAASa,EAAMva,UACxBua,EAAMG,QACRD,EAAKC,MAAQH,EAAMG,YAGCphB,IAAlBmhB,EAAY,MACdA,EAAY,MAAI,CAAC,MAAS7B,IAE1B6B,EAAY,MAAS,MAAI7B,GAE3BA,KACAT,EAAKoC,EAAMC,SAASviB,KAAKwiB,EAC3B,CACF,IAEctC,EACW,IAAnBA,EAAKnf,GAAGF,SACVqf,EAAKnf,GAAKmf,EAAKnf,GAAG,IAItB,OAAOmf,CACT,wrGCtJA,IAAMwC,GAAQzN,KAAKyN,MAQNC,GAAG,WACd,SAAAA,EAAa3J,GAAK4J,GAAA,KAAAD,GAChBpiB,KAAK8G,EAAI2R,EAAI,GACbzY,KAAKsiB,EAAI7J,EAAI,GACbzY,KAAKuiB,EAAI9J,EAAI,EACf,CAIC,OAJA+J,GAAAJ,EAAA,EAAAhc,IAAA,WAAAa,MAED,WACE,MAAO,OAAP5G,OAAcL,KAAK8G,EAAC,KAAAzG,OAAIL,KAAKsiB,EAAC,KAAAjiB,OAAIL,KAAKuiB,EAAC,IAC1C,KAACH,CAAA,CATa,GAYHK,GAAI,SAAAC,GAAAC,GAAAF,EAAAC,GAAA,IAAAE,EAAAC,GAAAJ,GACf,SAAAA,EAAahK,GAAK,IAAAqK,EAED,OAFCT,GAAA,KAAAI,IAChBK,EAAAF,EAAA/b,KAAA,KAAM4R,IACDvS,EAAIuS,EAAI,GAAEqK,CACjB,CAIC,OAJAN,GAAAC,EAAA,EAAArc,IAAA,WAAAa,MAED,WACE,MAAO,QAAP5G,OAAeL,KAAK8G,EAAC,KAAAzG,OAAIL,KAAKsiB,EAAC,KAAAjiB,OAAIL,KAAKuiB,EAAC,KAAAliB,OAAIL,KAAKkG,EAAC,IACrD,KAACuc,CAAA,CARc,CAASL,IAWbW,GAAG,WACd,SAAAA,EAAatK,GAAK4J,GAAA,KAAAU,GAChB/iB,KAAKgjB,EAAIvK,EAAI,GACbzY,KAAKkV,EAAIuD,EAAI,GACbzY,KAAKijB,EAAIxK,EAAI,EACf,CAIC,OAJA+J,GAAAO,EAAA,EAAA3c,IAAA,WAAAa,MAED,WACE,MAAO,OAAP5G,OAAcL,KAAKgjB,EAAC,KAAA3iB,OAAIL,KAAKkV,EAAC,MAAA7U,OAAKL,KAAKijB,EAAC,KAC3C,KAACF,CAAA,CATa,GAYHG,GAAI,SAAAC,GAAAR,GAAAO,EAAAC,GAAA,IAAAC,EAAAP,GAAAK,GACf,SAAAA,EAAazK,GAAK,IAAA4K,EAED,OAFChB,GAAA,KAAAa,IAChBG,EAAAD,EAAAvc,KAAA,KAAM4R,IACDvS,EAAIuS,EAAI,GAAE4K,CACjB,CAIC,OAJAb,GAAAU,EAAA,EAAA9c,IAAA,WAAAa,MAED,WACE,MAAO,QAAP5G,OAAeL,KAAKgjB,EAAC,KAAA3iB,OAAIL,KAAKkV,EAAC,MAAA7U,OAAKL,KAAKijB,EAAC,MAAA5iB,OAAKL,KAAKkG,EAAC,IACvD,KAACgd,CAAA,CARc,CAASH,IAgBbO,GAAK,WAChB,SAAAA,EAAaxc,EAAGwb,EAAGC,GAAY,IAATrc,EAAC6M,UAAAzS,OAAA,QAAAQ,IAAAiS,UAAA,GAAAA,UAAA,GAAG,EAExB,GAF2BsP,GAAA,KAAAiB,GAEV,iBAANxc,EAAgB,CACzB,IAAI2P,EAAM3P,EAEY,MAAlB2P,EAAInI,OAAO,KAAcmI,EAAM,IAAMA,GAErCA,EAAInW,OAAS,IACfmW,EAAM,IAAMA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAC9D,IACyB8M,EAAA7T,GAAb8T,GAAS/M,GAAI,GAAxB3P,EAACyc,EAAA,GAAEjB,EAACiB,EAAA,GAAEhB,EAACgB,EAAA,EACX,MAAWzc,aAAa8I,QACtB1J,EAAIY,EAAE,IAAMZ,EACZqc,EAAIzb,EAAE,GACNwb,EAAIxb,EAAE,GACNA,EAAIA,EAAE,IAGR9G,KAAK8G,EAAIA,EACT9G,KAAKsiB,EAAIA,EACTtiB,KAAKuiB,EAAIA,EACTviB,KAAKkG,EAAIA,EAETlG,KAAKyjB,IAAM,IAAIrB,GAAI,CAACpiB,KAAK8G,EAAG9G,KAAKsiB,EAAGtiB,KAAKuiB,IACzCviB,KAAK0jB,KAAO,IAAIjB,GAAK,CAACziB,KAAK8G,EAAG9G,KAAKsiB,EAAGtiB,KAAKuiB,EAAGviB,KAAKkG,IACnDlG,KAAK2jB,IAAMC,GAAS5jB,KAAK8G,EAAG9G,KAAKsiB,EAAGtiB,KAAKuiB,GAEzCviB,KAAK6jB,IAAM,IAAId,GAAIe,GAAS9jB,KAAK8G,EAAG9G,KAAKsiB,EAAGtiB,KAAKuiB,IACjDviB,KAAKgjB,EAAIhjB,KAAK6jB,IAAIb,EAClBhjB,KAAKkV,EAAIlV,KAAK6jB,IAAI3O,EAClBlV,KAAKijB,EAAIjjB,KAAK6jB,IAAIZ,EAClBjjB,KAAK+jB,KAAO,IAAIb,GAAK,CAACljB,KAAKgjB,EAAGhjB,KAAKkV,EAAGlV,KAAKijB,EAAGjjB,KAAKkG,GACrD,CA4CC,OA5CAsc,GAAAc,EAAA,EAAAld,IAAA,SAAAa,MAED,SAAQ+c,GACNhkB,KAAKgjB,EAAIgB,EACThkB,KAAK6jB,IAAIb,EAAIgB,EACbhkB,KAAK+jB,KAAKf,EAAIgB,EACdhkB,KAAKikB,eACP,GAAC,CAAA7d,IAAA,SAAAa,MAED,SAAQid,GACNlkB,KAAKkV,EAAIgP,EACTlkB,KAAK6jB,IAAI3O,EAAIgP,EACblkB,KAAK+jB,KAAK7O,EAAIgP,EACdlkB,KAAKikB,eACP,GAAC,CAAA7d,IAAA,SAAAa,MAED,SAAQkd,GACNnkB,KAAKijB,EAAIkB,EACTnkB,KAAK6jB,IAAIZ,EAAIkB,EACbnkB,KAAK+jB,KAAKd,EAAIkB,EACdnkB,KAAKikB,eACP,GAAC,CAAA7d,IAAA,WAAAa,MAED,SAAUmd,GACRpkB,KAAKkG,EAAIke,EACTpkB,KAAK+jB,KAAK7d,EAAIke,EACdpkB,KAAK0jB,KAAKxd,EAAIke,CAChB,GAAC,CAAAhe,IAAA,gBAAAa,MAED,WAEEjH,KAAKyjB,IAAM,KACXzjB,KAAKyjB,IAAM,IAAIrB,GAAIiC,GAASrkB,KAAKgjB,EAAGhjB,KAAKkV,EAAGlV,KAAKijB,IAEjDjjB,KAAK8G,EAAI9G,KAAKyjB,IAAI3c,EAClB9G,KAAKsiB,EAAItiB,KAAKyjB,IAAInB,EAClBtiB,KAAKuiB,EAAIviB,KAAKyjB,IAAIlB,EAClBviB,KAAK0jB,KAAK5c,EAAI9G,KAAKyjB,IAAI3c,EACvB9G,KAAK0jB,KAAKpB,EAAItiB,KAAKyjB,IAAInB,EACvBtiB,KAAK0jB,KAAKnB,EAAIviB,KAAKyjB,IAAIlB,EAGvBviB,KAAK2jB,IAAM,KACX3jB,KAAK2jB,IAAMC,GAAS,CAAC5jB,KAAK8G,EAAG9G,KAAKsiB,EAAGtiB,KAAKuiB,GAC5C,KAACe,CAAA,CA7Ee,GA2FLE,GAAW,SAAUG,GAChC,IAAM7hB,EAAS,4CAA4CwiB,KAAKX,GAChE,OAAO7hB,EAAS,CACdyiB,SAASziB,EAAO,GAAI,IACpByiB,SAASziB,EAAO,GAAI,IACpByiB,SAASziB,EAAO,GAAI,KAClB,IACN,EAEa0iB,GAAiB,SAAUhD,GACtC,IAAMmC,EAAMnC,EAAEzhB,SAAS,IACvB,OAAsB,IAAf4jB,EAAIrjB,OAAe,IAAMqjB,EAAMA,CACxC,EAGaC,GAAW,SAAU9c,EAAGwb,EAAGC,GAMtC,OALIzb,aAAa8I,QACf2S,EAAIzb,EAAE,GACNwb,EAAIxb,EAAE,GACNA,EAAIA,EAAE,IAED,IAAM0d,GAAe1d,GAAK0d,GAAelC,GAAKkC,GAAejC,EACtE,EAWauB,GAAW,SAAUhd,EAAGwb,EAAGC,GAOtC,IAAIS,EAAG9N,EAAG+N,EAAGhd,EAAGwe,EAAKC,EAUrB,GAhBI5d,aAAa8I,QACf2S,EAAIzb,EAAE,GACNwb,EAAIxb,EAAE,GACNA,EAAIA,EAAE,IAKRA,GAAK,IACLwb,GAAK,IACLC,GAAK,IAILU,IAFAwB,EAAM/P,KAAK+P,IAAI3d,EAAGwb,EAAGC,KACrBmC,EAAMhQ,KAAKgQ,IAAI5d,EAAGwb,EAAGC,KACH,EAEdkC,IAAQC,EACV1B,EAAI9N,EAAI,MACH,CAIL,OAHAjP,EAAIwe,EAAMC,EACVxP,EAAI+N,EAAI,GAAMhd,GAAK,EAAIwe,EAAMC,GAAOze,GAAKwe,EAAMC,GAEvCD,GACN,KAAK3d,EACHkc,GAAKV,EAAIC,GAAKtc,GAAKqc,EAAIC,EAAI,EAAI,GAC/B,MACF,KAAKD,EACHU,GAAKT,EAAIzb,GAAKb,EAAI,EAClB,MACF,KAAKsc,EACHS,GAAKlc,EAAIwb,GAAKrc,EAAI,EAItB+c,GAAK,CACP,CAOA,MAAO,CAJPA,EAAIb,GAAU,IAAJa,GACV9N,EAAIiN,GAAU,IAAJjN,GACV+N,EAAId,GAAU,IAAJc,GAGZ,EAEa0B,GAAU,SAAUC,EAAGC,EAAGC,GAGrC,OAFIA,EAAI,IAAKA,GAAK,GACdA,EAAI,IAAKA,GAAK,GACdA,EAAI,EAAI,EAAYF,EAAc,GAATC,EAAID,GAASE,EACtCA,EAAI,GAAgBD,EACpBC,EAAI,EAAI,EAAYF,GAAKC,EAAID,IAAM,EAAI,EAAIE,GAAK,EAC7CF,CACT,EAYaP,GAAW,SAAUrB,EAAG9N,EAAG+N,GAUtC,IAAInc,EAAGwb,EAAGC,EAAGsC,EAAGD,EAWhB,OApBI5B,aAAapT,QACfqT,EAAID,EAAE,GACN9N,EAAI8N,EAAE,GACNA,EAAIA,EAAE,IAERA,GAAQ,IAERC,GAAQ,IAIE,KALV/N,GAAQ,KAMNpO,EAAIwb,EAAIC,EAAIU,GAIZnc,EAAI6d,GADJC,EAAI,EAAI3B,GADR4B,EAAI5B,EAAI,GAAMA,GAAK,EAAI/N,GAAK+N,EAAI/N,EAAI+N,EAAI/N,GAEzB2P,EAAG7B,EAAI,EAAI,GAC1BV,EAAIqC,GAAQC,EAAGC,EAAG7B,GAClBT,EAAIoC,GAAQC,EAAGC,EAAG7B,EAAI,EAAI,IAErB,CAACb,GAAU,IAAJrb,GAAUqb,GAAU,IAAJG,GAAUH,GAAU,IAAJI,GAChD,EC5RA,MAAM,GAA+Bpb,QAAQ,wBCAhC,SAAA0D,GAAAvI,GAAA,OAAAuI,GAAA,mBAAA9D,QAAA,iBAAAA,OAAAmB,SAAA,SAAA5F,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAAyE,QAAAzE,EAAAgL,cAAAvG,QAAAzE,IAAAyE,OAAAJ,UAAA,gBAAArE,CAAA,EAAAuI,GAAAvI,EAAA,UAAAsF,KACbA,GAAA,kBAAAhI,CAAA,MAAAA,EAAA,GAAAiI,EAAAvB,OAAAK,UAAAmB,EAAAD,EAAAjB,eAAAL,EAAAD,OAAAC,gBAAA,SAAAjE,EAAA8D,EAAA2B,GAAAzF,EAAA8D,GAAA2B,EAAAd,KAAA,EAAAe,EAAA,mBAAAjB,OAAAA,OAAA,GAAAkB,EAAAD,EAAAE,UAAA,aAAAC,EAAAH,EAAAI,eAAA,kBAAAC,EAAAL,EAAAhB,aAAA,yBAAAsB,EAAAhG,EAAA8D,EAAAa,GAAA,OAAAX,OAAAC,eAAAjE,EAAA8D,EAAA,CAAAa,MAAAA,EAAAT,YAAA,EAAA+B,cAAA,EAAAC,UAAA,IAAAlG,EAAA8D,EAAA,KAAAkC,EAAA,aAAAG,GAAAH,EAAA,SAAAhG,EAAA8D,EAAAa,GAAA,OAAA3E,EAAA8D,GAAAa,CAAA,WAAAyB,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,GAAAA,EAAAjC,qBAAAqC,EAAAJ,EAAAI,EAAAC,EAAA3C,OAAA4C,OAAAH,EAAApC,WAAAwC,EAAA,IAAAC,EAAAN,GAAA,WAAAvC,EAAA0C,EAAA,WAAAhC,MAAAoC,EAAAV,EAAAE,EAAAM,KAAAF,CAAA,UAAAK,EAAAC,EAAAjH,EAAAkH,GAAA,WAAAC,KAAA,SAAAD,IAAAD,EAAA1C,KAAAvE,EAAAkH,GAAA,OAAAf,GAAA,OAAAgB,KAAA,QAAAD,IAAAf,EAAA,EAAA7I,EAAA8I,KAAAA,EAAA,IAAAgB,EAAA,YAAAV,IAAA,UAAAW,IAAA,UAAAC,IAAA,KAAAC,EAAA,GAAAvB,EAAAuB,EAAA5B,GAAA,8BAAA6B,EAAAxD,OAAAyD,eAAAC,EAAAF,GAAAA,EAAAA,EAAAG,EAAA,MAAAD,GAAAA,IAAAnC,GAAAC,EAAAjB,KAAAmD,EAAA/B,KAAA4B,EAAAG,GAAA,IAAAE,EAAAN,EAAAjD,UAAAqC,EAAArC,UAAAL,OAAA4C,OAAAW,GAAA,SAAAM,EAAAxD,GAAA,0BAAAyD,SAAA,SAAAC,GAAA/B,EAAA3B,EAAA0D,GAAA,SAAAb,GAAA,YAAAc,QAAAD,EAAAb,EAAA,gBAAAe,EAAAtB,EAAAuB,GAAA,SAAAC,EAAAJ,EAAAb,EAAAkB,EAAAC,GAAA,IAAAC,EAAAtB,EAAAL,EAAAoB,GAAApB,EAAAO,GAAA,aAAAoB,EAAAnB,KAAA,KAAA3H,EAAA8I,EAAApB,IAAAvC,EAAAnF,EAAAmF,MAAA,OAAAA,GAAA,UAAA4D,GAAA5D,IAAAa,EAAAjB,KAAAI,EAAA,WAAAuD,EAAAE,QAAAzD,EAAA6D,SAAAC,MAAA,SAAA9D,GAAAwD,EAAA,OAAAxD,EAAAyD,EAAAC,EAAA,aAAAlC,GAAAgC,EAAA,QAAAhC,EAAAiC,EAAAC,EAAA,IAAAH,EAAAE,QAAAzD,GAAA8D,MAAA,SAAAC,GAAAlJ,EAAAmF,MAAA+D,EAAAN,EAAA5I,EAAA,aAAAmJ,GAAA,OAAAR,EAAA,QAAAQ,EAAAP,EAAAC,EAAA,IAAAA,EAAAC,EAAApB,IAAA,KAAA0B,EAAA3E,EAAA,gBAAAU,MAAA,SAAAoD,EAAAb,GAAA,SAAA2B,IAAA,WAAAX,GAAA,SAAAE,EAAAC,GAAAF,EAAAJ,EAAAb,EAAAkB,EAAAC,EAAA,WAAAO,EAAAA,EAAAA,EAAAH,KAAAI,EAAAA,GAAAA,GAAA,aAAA9B,EAAAV,EAAAE,EAAAM,GAAA,IAAAiC,EAAA,iCAAAf,EAAAb,GAAA,iBAAA4B,EAAA,UAAA9G,MAAA,iDAAA8G,EAAA,cAAAf,EAAA,MAAAb,EAAA,OAAA6B,GAAA,KAAAlC,EAAAkB,OAAAA,EAAAlB,EAAAK,IAAAA,IAAA,KAAA8B,EAAAnC,EAAAmC,SAAA,GAAAA,EAAA,KAAAC,EAAAC,EAAAF,EAAAnC,GAAA,GAAAoC,EAAA,IAAAA,IAAA7B,EAAA,gBAAA6B,CAAA,cAAApC,EAAAkB,OAAAlB,EAAAsC,KAAAtC,EAAAuC,MAAAvC,EAAAK,SAAA,aAAAL,EAAAkB,OAAA,uBAAAe,EAAA,MAAAA,EAAA,YAAAjC,EAAAK,IAAAL,EAAAwC,kBAAAxC,EAAAK,IAAA,gBAAAL,EAAAkB,QAAAlB,EAAAyC,OAAA,SAAAzC,EAAAK,KAAA4B,EAAA,gBAAAR,EAAAtB,EAAAX,EAAAE,EAAAM,GAAA,cAAAyB,EAAAnB,KAAA,IAAA2B,EAAAjC,EAAA0C,KAAA,6BAAAjB,EAAApB,MAAAE,EAAA,gBAAAzC,MAAA2D,EAAApB,IAAAqC,KAAA1C,EAAA0C,KAAA,WAAAjB,EAAAnB,OAAA2B,EAAA,YAAAjC,EAAAkB,OAAA,QAAAlB,EAAAK,IAAAoB,EAAApB,IAAA,YAAAgC,EAAAF,EAAAnC,GAAA,IAAA2C,EAAA3C,EAAAkB,OAAAA,EAAAiB,EAAApD,SAAA4D,GAAA,QAAAhL,IAAAuJ,EAAA,OAAAlB,EAAAmC,SAAA,eAAAQ,GAAAR,EAAApD,SAAA,SAAAiB,EAAAkB,OAAA,SAAAlB,EAAAK,SAAA1I,EAAA0K,EAAAF,EAAAnC,GAAA,UAAAA,EAAAkB,SAAA,WAAAyB,IAAA3C,EAAAkB,OAAA,QAAAlB,EAAAK,IAAA,IAAAuC,UAAA,oCAAAD,EAAA,aAAApC,EAAA,IAAAkB,EAAAtB,EAAAe,EAAAiB,EAAApD,SAAAiB,EAAAK,KAAA,aAAAoB,EAAAnB,KAAA,OAAAN,EAAAkB,OAAA,QAAAlB,EAAAK,IAAAoB,EAAApB,IAAAL,EAAAmC,SAAA,KAAA5B,EAAA,IAAAsC,EAAApB,EAAApB,IAAA,OAAAwC,EAAAA,EAAAH,MAAA1C,EAAAmC,EAAAW,YAAAD,EAAA/E,MAAAkC,EAAA+C,KAAAZ,EAAAa,QAAA,WAAAhD,EAAAkB,SAAAlB,EAAAkB,OAAA,OAAAlB,EAAAK,SAAA1I,GAAAqI,EAAAmC,SAAA,KAAA5B,GAAAsC,GAAA7C,EAAAkB,OAAA,QAAAlB,EAAAK,IAAA,IAAAuC,UAAA,oCAAA5C,EAAAmC,SAAA,KAAA5B,EAAA,UAAA0C,EAAAC,GAAA,IAAAC,EAAA,CAAAC,OAAAF,EAAA,SAAAA,IAAAC,EAAAE,SAAAH,EAAA,SAAAA,IAAAC,EAAAG,WAAAJ,EAAA,GAAAC,EAAAI,SAAAL,EAAA,SAAAM,WAAAlN,KAAA6M,EAAA,UAAAM,EAAAN,GAAA,IAAA1B,EAAA0B,EAAAO,YAAA,GAAAjC,EAAAnB,KAAA,gBAAAmB,EAAApB,IAAA8C,EAAAO,WAAAjC,CAAA,UAAAxB,EAAAN,GAAA,KAAA6D,WAAA,EAAAJ,OAAA,SAAAzD,EAAAsB,QAAAgC,EAAA,WAAAU,OAAA,YAAA7C,EAAA8C,GAAA,GAAAA,EAAA,KAAAC,EAAAD,EAAA9E,GAAA,GAAA+E,EAAA,OAAAA,EAAAnG,KAAAkG,GAAA,sBAAAA,EAAAb,KAAA,OAAAa,EAAA,IAAAE,MAAAF,EAAAzM,QAAA,KAAAE,GAAA,EAAA0L,EAAA,SAAAA,IAAA,OAAA1L,EAAAuM,EAAAzM,QAAA,GAAAwH,EAAAjB,KAAAkG,EAAAvM,GAAA,OAAA0L,EAAAjF,MAAA8F,EAAAvM,GAAA0L,EAAAL,MAAA,EAAAK,EAAA,OAAAA,EAAAjF,WAAAnG,EAAAoL,EAAAL,MAAA,EAAAK,CAAA,SAAAA,EAAAA,KAAAA,CAAA,SAAAA,KAAAb,EAAA,UAAAA,IAAA,OAAApE,WAAAnG,EAAA+K,MAAA,UAAAlC,EAAAhD,UAAAiD,EAAArD,EAAA2D,EAAA,eAAAjD,MAAA2C,EAAArB,cAAA,IAAAhC,EAAAqD,EAAA,eAAA3C,MAAA0C,EAAApB,cAAA,IAAAoB,EAAAuD,YAAA5E,EAAAsB,EAAAvB,EAAA,qBAAAzI,EAAAuN,oBAAA,SAAAC,GAAA,IAAAC,EAAA,mBAAAD,GAAAA,EAAAE,YAAA,QAAAD,IAAAA,IAAA1D,GAAA,uBAAA0D,EAAAH,aAAAG,EAAAE,MAAA,EAAA3N,EAAA4N,KAAA,SAAAJ,GAAA,OAAA9G,OAAAmH,eAAAnH,OAAAmH,eAAAL,EAAAxD,IAAAwD,EAAAM,UAAA9D,EAAAtB,EAAA8E,EAAA/E,EAAA,sBAAA+E,EAAAzG,UAAAL,OAAA4C,OAAAgB,GAAAkD,CAAA,EAAAxN,EAAA+N,MAAA,SAAAnE,GAAA,OAAAsB,QAAAtB,EAAA,EAAAW,EAAAI,EAAA5D,WAAA2B,EAAAiC,EAAA5D,UAAAwB,GAAA,0BAAAvI,EAAA2K,cAAAA,EAAA3K,EAAAgO,MAAA,SAAAjF,EAAAC,EAAAC,EAAAC,EAAA0B,QAAA,IAAAA,IAAAA,EAAAqD,SAAA,IAAAC,EAAA,IAAAvD,EAAA7B,EAAAC,EAAAC,EAAAC,EAAAC,GAAA0B,GAAA,OAAA5K,EAAAuN,oBAAAvE,GAAAkF,EAAAA,EAAA5B,OAAAnB,MAAA,SAAAjJ,GAAA,OAAAA,EAAA+J,KAAA/J,EAAAmF,MAAA6G,EAAA5B,MAAA,KAAA/B,EAAAD,GAAA5B,EAAA4B,EAAA7B,EAAA,aAAAC,EAAA4B,EAAAjC,GAAA,0BAAAK,EAAA4B,EAAA,qDAAAtK,EAAAmO,KAAA,SAAAC,GAAA,IAAAC,EAAA3H,OAAA0H,GAAAD,EAAA,WAAA3H,KAAA6H,EAAAF,EAAAtO,KAAA2G,GAAA,OAAA2H,EAAAG,UAAA,SAAAhC,IAAA,KAAA6B,EAAAzN,QAAA,KAAA8F,EAAA2H,EAAAI,MAAA,GAAA/H,KAAA6H,EAAA,OAAA/B,EAAAjF,MAAAb,EAAA8F,EAAAL,MAAA,EAAAK,CAAA,QAAAA,EAAAL,MAAA,EAAAK,CAAA,GAAAtM,EAAAqK,OAAAA,EAAAb,EAAAzC,UAAA,CAAA2G,YAAAlE,EAAA0D,MAAA,SAAAsB,GAAA,QAAAC,KAAA,OAAAnC,KAAA,OAAAT,KAAA,KAAAC,WAAA5K,EAAA,KAAA+K,MAAA,OAAAP,SAAA,UAAAjB,OAAA,YAAAb,SAAA1I,EAAA,KAAA6L,WAAAvC,QAAAwC,IAAAwB,EAAA,QAAAb,KAAA,WAAAA,EAAAe,OAAA,IAAAxG,EAAAjB,KAAA,KAAA0G,KAAAN,OAAAM,EAAAgB,MAAA,WAAAhB,QAAAzM,EAAA,EAAA0N,KAAA,gBAAA3C,MAAA,MAAA4C,EAAA,KAAA9B,WAAA,GAAAE,WAAA,aAAA4B,EAAAhF,KAAA,MAAAgF,EAAAjF,IAAA,YAAAkF,IAAA,EAAA/C,kBAAA,SAAAgD,GAAA,QAAA9C,KAAA,MAAA8C,EAAA,IAAAxF,EAAA,cAAAyF,EAAAC,EAAAC,GAAA,OAAAlE,EAAAnB,KAAA,QAAAmB,EAAApB,IAAAmF,EAAAxF,EAAA+C,KAAA2C,EAAAC,IAAA3F,EAAAkB,OAAA,OAAAlB,EAAAK,SAAA1I,KAAAgO,CAAA,SAAAtO,EAAA,KAAAmM,WAAArM,OAAA,EAAAE,GAAA,IAAAA,EAAA,KAAA8L,EAAA,KAAAK,WAAAnM,GAAAoK,EAAA0B,EAAAO,WAAA,YAAAP,EAAAC,OAAA,OAAAqC,EAAA,UAAAtC,EAAAC,QAAA,KAAA8B,KAAA,KAAAU,EAAAjH,EAAAjB,KAAAyF,EAAA,YAAA0C,EAAAlH,EAAAjB,KAAAyF,EAAA,iBAAAyC,GAAAC,EAAA,SAAAX,KAAA/B,EAAAE,SAAA,OAAAoC,EAAAtC,EAAAE,UAAA,WAAA6B,KAAA/B,EAAAG,WAAA,OAAAmC,EAAAtC,EAAAG,WAAA,SAAAsC,GAAA,QAAAV,KAAA/B,EAAAE,SAAA,OAAAoC,EAAAtC,EAAAE,UAAA,YAAAwC,EAAA,UAAA1K,MAAA,kDAAA+J,KAAA/B,EAAAG,WAAA,OAAAmC,EAAAtC,EAAAG,WAAA,KAAAb,OAAA,SAAAnC,EAAAD,GAAA,QAAAhJ,EAAA,KAAAmM,WAAArM,OAAA,EAAAE,GAAA,IAAAA,EAAA,KAAA8L,EAAA,KAAAK,WAAAnM,GAAA,GAAA8L,EAAAC,QAAA,KAAA8B,MAAAvG,EAAAjB,KAAAyF,EAAA,oBAAA+B,KAAA/B,EAAAG,WAAA,KAAAwC,EAAA3C,EAAA,OAAA2C,IAAA,UAAAxF,GAAA,aAAAA,IAAAwF,EAAA1C,QAAA/C,GAAAA,GAAAyF,EAAAxC,aAAAwC,EAAA,UAAArE,EAAAqE,EAAAA,EAAApC,WAAA,UAAAjC,EAAAnB,KAAAA,EAAAmB,EAAApB,IAAAA,EAAAyF,GAAA,KAAA5E,OAAA,YAAA6B,KAAA+C,EAAAxC,WAAA/C,GAAA,KAAAwF,SAAAtE,EAAA,EAAAsE,SAAA,SAAAtE,EAAA8B,GAAA,aAAA9B,EAAAnB,KAAA,MAAAmB,EAAApB,IAAA,gBAAAoB,EAAAnB,MAAA,aAAAmB,EAAAnB,KAAA,KAAAyC,KAAAtB,EAAApB,IAAA,WAAAoB,EAAAnB,MAAA,KAAAiF,KAAA,KAAAlF,IAAAoB,EAAApB,IAAA,KAAAa,OAAA,cAAA6B,KAAA,kBAAAtB,EAAAnB,MAAAiD,IAAA,KAAAR,KAAAQ,GAAAhD,CAAA,EAAAyF,OAAA,SAAA1C,GAAA,QAAAjM,EAAA,KAAAmM,WAAArM,OAAA,EAAAE,GAAA,IAAAA,EAAA,KAAA8L,EAAA,KAAAK,WAAAnM,GAAA,GAAA8L,EAAAG,aAAAA,EAAA,YAAAyC,SAAA5C,EAAAO,WAAAP,EAAAI,UAAAE,EAAAN,GAAA5C,CAAA,kBAAA6C,GAAA,QAAA/L,EAAA,KAAAmM,WAAArM,OAAA,EAAAE,GAAA,IAAAA,EAAA,KAAA8L,EAAA,KAAAK,WAAAnM,GAAA,GAAA8L,EAAAC,SAAAA,EAAA,KAAA3B,EAAA0B,EAAAO,WAAA,aAAAjC,EAAAnB,KAAA,KAAA2F,EAAAxE,EAAApB,IAAAoD,EAAAN,EAAA,QAAA8C,CAAA,YAAA9K,MAAA,0BAAA+K,cAAA,SAAAtC,EAAAd,EAAAE,GAAA,YAAAb,SAAA,CAAApD,SAAA+B,EAAA8C,GAAAd,WAAAA,EAAAE,QAAAA,GAAA,cAAA9B,SAAA,KAAAb,SAAA1I,GAAA4I,CAAA,GAAA9J,CAAA,UAAA0P,GAAAC,EAAA7E,EAAAC,EAAA6E,EAAAC,EAAArJ,EAAAoD,GAAA,QAAAwC,EAAAuD,EAAAnJ,GAAAoD,GAAAvC,EAAA+E,EAAA/E,KAAA,OAAAgE,GAAA,YAAAN,EAAAM,EAAA,CAAAe,EAAAH,KAAAnB,EAAAzD,GAAA4G,QAAAnD,QAAAzD,GAAA8D,KAAAyE,EAAAC,EAAA,UAAAsV,GAAAxb,GAAA,sBAAAV,EAAA,KAAAiK,EAAAC,UAAA,WAAAlF,SAAA,SAAAnD,EAAAC,GAAA,IAAA4E,EAAAhG,EAAAtE,MAAA4D,EAAAiK,GAAA,SAAAtD,EAAAvI,GAAAqI,GAAAC,EAAA7E,EAAAC,EAAA6E,EAAAC,EAAA,OAAAxI,EAAA,UAAAwI,EAAAhH,GAAA6G,GAAAC,EAAA7E,EAAAC,EAAA6E,EAAAC,EAAA,QAAAhH,EAAA,CAAA+G,OAAA1O,EAAA,KAKA,SAASkkB,GAAkBC,GAGzB,IAFA,IAAMC,EAAO,IAAIC,WAAWF,GACxB9I,EAAO,GACF3b,EAAI,EAAGA,EAAI0kB,EAAKE,WAAY5kB,IACnC2b,GAAQ5I,OAAO8R,aAAaH,EAAK1kB,IAEnC,OAAOW,KAAKgb,EACd,CAoBe,SAASmJ,KAAkD,IAUpEC,EAVuDC,EAAWzS,UAAAzS,OAAA,EAAAyS,UAAA,QAAAjS,EAChE2kB,EAAS,GACXC,EAAU,EAEVC,EAAe,KAEfC,EAAuB,GAErBC,EAAa,CAAC,EAoBjB,SAEYC,EAAWC,GAAA,OAAAC,EAAA/gB,MAAC,KAAD8N,UAAA,UAAAiT,IAoDzB,OApDyBA,EAAAjB,GAAAnd,KAAA4F,MAA1B,SAAAyY,EAA2BxkB,GAAI,IAAAykB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/lB,EAAAgmB,EAAAC,EAAAC,EAAA,OAAA9e,KAAAc,MAAA,SAAAie,GAAA,cAAAA,EAAAtY,KAAAsY,EAAAza,MAAA,cAAAya,EAAAza,KAAA,EACX0a,KAAAA,UAAgBnlB,GAAK,OACV,GADvBykB,EAAGS,EAAAlb,KACH0a,EAAa,IAAIpN,KAEqB,OAAxCmN,EAAIW,KAAK,2BAAmC,CAAAF,EAAAza,KAAA,eAAAya,EAAAza,KAAA,EACnBga,EACxBW,KAAK,2BACLjZ,MAAM,UAAS,OAFZwY,EAAYO,EAAAlb,KAGlB+Z,EAAY,CACV/b,KAAM,aACNhI,KAAM2kB,IACL,cAAAO,EAAAza,KAAA,GAGmB4a,EAAgBZ,GAAI,QAA7B,OAATG,EAASM,EAAAlb,KAAAkb,EAAAza,KAAG,GACM6a,EAAab,GAAI,QAA1B,OAATI,EAASK,EAAAlb,KAAAkb,EAAAza,KAAG,GACG8a,EAAUd,GAAI,QAAvB,OAAZP,EAAYgB,EAAAlb,KAAAkb,EAAAza,KAAG,GAEK+a,EAAYf,EAAK,uBAAsB,QAA3DX,EAAWoB,EAAAlb,KAEX+Z,EAAY,CACV/b,KAAM,YACNhI,KAAM6kB,IAGFC,EAAcF,EAAkB,OAAE/lB,OAC/BE,EAAI,EAAC,aAAEA,EAAI+lB,GAAW,CAAAI,EAAAza,KAAA,SACU,OAAjCsa,EAAWH,EAAkB,OAAE7lB,GAAEmmB,EAAAza,KAAA,GACfgb,EAAmBhB,EAAKM,EAAUhmB,EAAG8lB,GAAU,QAAjEG,EAASE,EAAAlb,KACf+Z,EAAY,CACV/b,KAAM,QACNhI,KAAMglB,IAERjB,EAAY,CACV/b,KAAM,kBACNhI,KAAiB,KAATjB,EAAI,GAAY+lB,IACvB,QAV4B/lB,IAAGmmB,EAAAza,KAAA,iBAapCsZ,EAAY,CACV/b,KAAM,YACNhI,KAAM0lB,MAGFT,EAAY,IAAI3N,KACtByM,EAAY,CACV/b,KAAM,OACNhI,KAAM,CACJ2lB,KAAMV,EAAYP,EAClBV,OAAAA,KAED,yBAAAkB,EAAAnY,OAAA,GAAAyX,EAAA,MACJhhB,MAAA,KAAA8N,UAAA,UAEckU,EAAWI,EAAAC,GAAA,OAAAC,EAAAtiB,MAAC,KAAD8N,UAAA,UAAAwU,IAEzB,OAFyBA,EAAAxC,GAAAnd,KAAA4F,MAA1B,SAAAga,EAA2BtB,EAAKM,GAAQ,OAAA5e,KAAAc,MAAA,SAAA+e,GAAA,cAAAA,EAAApZ,KAAAoZ,EAAAvb,MAAA,OAC1B,OAD0Bub,EAAAC,GAC/BrH,GAAKoH,EAAAvb,KAAA,EAAOga,EAAIW,KAAKL,GAAU5Y,MAAM,QAAO,cAAA6Z,EAAAE,GAAAF,EAAAhc,KAAAgc,EAAA7b,OAAA,YAAA6b,EAAAC,IAAAD,EAAAE,KAAA,wBAAAF,EAAAjZ,OAAA,GAAAgZ,EAAA,MACpDviB,MAAA,KAAA8N,UAAA,UAEc+T,EAAec,GAAA,OAAAC,EAAA5iB,MAAC,KAAD8N,UAAA,UAAA8U,IAqB7B,OArB6BA,EAAA9C,GAAAnd,KAAA4F,MAA9B,SAAAsa,EAA+B5B,GAAG,IAAA6B,EAAAC,EAAAC,EAAAC,EAAA1nB,EAAA,OAAAoH,KAAAc,MAAA,SAAAyf,GAAA,cAAAA,EAAA9Z,KAAA8Z,EAAAjc,MAAA,cAAAic,EAAAjc,KAAA,EACD+a,EAAYf,EAAK,uBAAsB,OAAhE6B,EAAgBI,EAAA1c,KAEhBuc,EAASD,EAAwB,MAAY,SAC7CE,EAAiB,GACjBC,EAAuB,GACpB1nB,EAAI,EAAC,YAAEA,EAAIwnB,EAAO1nB,QAAM,CAAA6nB,EAAAjc,KAAA,SAAAic,EAAAT,GACvBM,EAAOxnB,GAAU,MAAe,YAAC2nB,EAAAjc,KAClC,2EADkCic,EAAAT,GACsC,GAGxE,iFAHwES,EAAAT,GAGM,oBAFnB,OAA9DO,EAAexoB,KAAKuoB,EAAOxnB,GAAU,MAAY,SAAE4nB,OAAO,IAAID,EAAAvc,OAAA,oBAGM,OAApEsc,EAAqBzoB,KAAKuoB,EAAOxnB,GAAU,MAAY,SAAE4nB,OAAO,IAAID,EAAAvc,OAAA,oBANvCpL,IAAG2nB,EAAAjc,KAAA,uBAAAic,EAAAvc,OAAA,SAW/B,CACLyc,OAAQJ,EACRK,aAAcJ,IACf,yBAAAC,EAAA3Z,OAAA,GAAAsZ,EAAA,MACF7iB,MAAA,KAAA8N,UAAA,UAEcgU,EAAYwB,GAAA,OAAAC,EAAAvjB,MAAC,KAAD8N,UAAA,UAAAyV,IAQ1B,OAR0BA,EAAAzD,GAAAnd,KAAA4F,MAA3B,SAAAib,EAA4BvC,GAAG,IAAA/lB,EAAAuoB,EAAA,OAAA9gB,KAAAc,MAAA,SAAAigB,GAAA,cAAAA,EAAAta,KAAAsa,EAAAzc,MAAA,cAAAyc,EAAAzc,KAAA,EAEP+a,EAAYf,EAAK,wBAAuB,OACE,OAD1D/lB,EAAOwoB,EAAAld,KACPid,EAAavoB,EAAQ,kBAAkB,WAAkB,MAACwoB,EAAA/c,OAAA,SACzD,CACLwG,MAAqC,GAA7BmS,SAASmE,EAAe,IAAW,OAC3CrW,OAAsC,GAA7BkS,SAASmE,EAAe,IAAW,SAC7C,wBAAAC,EAAAna,OAAA,GAAAia,EAAA,MACFxjB,MAAA,KAAA8N,UAAA,UAEciU,EAAS4B,GAAA,OAAAC,EAAA5jB,MAAC,KAAD8N,UAAA,UAAA8V,IA6BvB,OA7BuBA,EAAA9D,GAAAnd,KAAA4F,MAAxB,SAAAsb,EAAyB5C,GAAG,IAAA6C,EAAAC,EAAAC,EAAAzoB,EAAA,OAAAoH,KAAAc,MAAA,SAAAwgB,GAAA,cAAAA,EAAA7a,KAAA6a,EAAAhd,MAAA,cAAAgd,EAAAhd,KAAA,EACE+a,EAC1Bf,EACA,mCACD,OACuE,GAJlE6C,EAAaG,EAAAzd,MAIbud,EAAoBD,EAA6B,cAAgB,cAEjDzb,cAAgBsC,MAAK,CAAAsZ,EAAAhd,KAAA,SAChC1L,EAAI,EAAC,YAAEA,EAAIwoB,EAAkB1oB,QAAM,CAAA4oB,EAAAhd,KAAA,YAGxC,8EADA8c,EAAkBxoB,GAAU,MAAQ,KACuC,CAAA0oB,EAAAhd,KAAA,SAExB,OAAnD+c,EAAWD,EAAkBxoB,GAAU,MAAU,OAAE0oB,EAAAtd,OAAA,oBALTpL,IAAG0oB,EAAAhd,KAAA,gBAAAgd,EAAAhd,KAAA,iBAWjD,8EADA8c,EAAyB,MAAQ,OAGjCC,EAAWD,EAAyB,MAAU,QAC/C,gBAEgBloB,IAAbmoB,EAAsB,CAAAC,EAAAhd,KAAA,eAClB5H,MAAM,0BAAyB,eAAA4kB,EAAAtd,OAAA,SAGhCqb,EAAYf,EAAK,OAAS+C,IAAS,yBAAAC,EAAA1a,OAAA,GAAAsa,EAAA,MAC3C7jB,MAAA,KAAA8N,UAAA,UAEcmU,EAAkBiC,EAAAC,EAAAC,EAAAC,GAAA,OAAAC,EAAAtkB,MAAC,KAAD8N,UAAA,UAAAwW,IA2MhC,OA3MgCA,EAAAxE,GAAAnd,KAAA4F,MAAjC,SAAAgc,EAAkCtD,EAAKuD,EAAapmB,EAAOijB,GAAS,IAAAoD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAtpB,EAAAupB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA9mB,EAAA+mB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA7Q,EAAArY,EAAAmpB,EAAAC,EAAA,OAAAtjB,KAAAc,MAAA,SAAAyiB,GAAA,cAAAA,EAAA9c,KAAA8c,EAAAjf,MAAA,OAWG,OAVrEsZ,EAAY,CACV/b,KAAM,OACNhI,KAAM,oBAAsB4B,EAAQ,KAOhCqmB,EACJD,EAAY2B,QAAQ,eAAgB,sBAAwB,QAAOD,EAAAjf,KAAA,EAC5C+a,EAAYf,EAAKwD,GAAQ,OAG5B,GAHhBC,EAAUwB,EAAA1f,KACZme,EAAoBD,EAA0B,cAAgB,aAC9DE,EAAiB,GACfC,EAAc,CAAC,EACjBF,EAAkBtc,cAAgBsC,MAAK,CAAAub,EAAAjf,KAAA,SAChC1L,EAAI,EAAC,aAAEA,EAAIopB,EAAkBtpB,QAAM,CAAA6qB,EAAAjf,KAAA,SAAAif,EAAAzD,GAClCkC,EAAkBppB,GAAU,MAAQ,KAAC2qB,EAAAjf,KACtC,oFADsCif,EAAAzD,GAC2C,IAMjF,mFANiFyD,EAAAzD,IAOjF,8EADgFyD,EAAAzD,IAEhF,8EAD2EyD,EAAAzD,IACAyD,EAAAzD,GAFK,IAGD,cALhF,OAHFmC,EAAiBD,EAAkBppB,GAAU,MAAU,OAAE4qB,QACvD,MACA,QACAD,EAAAvf,OAAA,oBAOFke,EAAYF,EAAkBppB,GAAU,MAAM,IAAK,CACjDiJ,KAAMmgB,EAAkBppB,GAAU,MAAQ,KAAE4qB,QAC1C,uEACA,IAEFxnB,OAAQgmB,EAAkBppB,GAAU,MAAU,OAAE4qB,QAC9C,MACA,SAEF,QAtBsC5qB,IAAG2qB,EAAAjf,KAAA,iBAAAif,EAAAjf,KAAA,iBA2BjD2d,EAAiBD,EAAyB,MAAU,OAAEwB,QACpD,MACA,QACA,eAAAD,EAAAjf,KAAA,GAI6B+a,EAAYf,EAAK2D,GAAe,QAiBpD,OAjBPE,EAAkBoB,EAAA1f,KAClBue,EAAoBqB,EAAWtB,QAKbjpB,KAJlBmpB,EACJF,EAAmB,eAAe,eAAe,2BAIjDnE,EAAuBqE,EAAuB,OAM1CC,EACJL,EAAeuB,QACb,2BACA,kCACE,QAAOD,EAAAjf,KAAA,GACuB+a,EAClCf,EACAgE,GACD,QAGsB,GANjBC,EAAqBgB,EAAA1f,KAI3Bme,EAAoBO,EAAqC,cAAgB,aACrEC,EAAiB,GACfC,EAAe,CAAC,EAClBT,EAAkBtc,cAAgBsC,MAAK,CAAAub,EAAAjf,KAAA,SAChC1L,EAAI,EAAC,aAAEA,EAAIopB,EAAkBtpB,QAAM,CAAA6qB,EAAAjf,KAAA,SAAAif,EAAAxD,GAClCiC,EAAkBppB,GAAU,MAAQ,KAAC2qB,EAAAjf,KACtC,oFADsCif,EAAAxD,GAC2C,oBAIlF,OAHFyC,EAAiBR,EAAkBppB,GAAU,MAAU,OAAE4qB,QACvD,MACA,QACAD,EAAAvf,OAAA,oBAGFye,EAAaT,EAAkBppB,GAAU,MAAM,IAAK,CAClDiJ,KAAMmgB,EAAkBppB,GAAU,MAAQ,KAAE4qB,QAC1C,uEACA,IAEFxnB,OAAQgmB,EAAkBppB,GAAU,MAAU,OAAE4qB,QAC9C,MACA,SAEF,QAlBsC5qB,IAAG2qB,EAAAjf,KAAA,iBAAAif,EAAAjf,KAAA,iBAsBjDke,EAAiBR,EAAyB,MAAU,OAAEwB,QACpD,MACA,QACA,eAAAD,EAAAjf,KAAA,GAG6B+a,EAAYf,EAAKkE,GAAe,QAapD,OAbPE,EAAkBa,EAAA1f,KAClB8e,EAAwBe,GAAkBhB,EAAoB,CAClE,cACA,eAEIE,EAAoBa,EAAWf,GAI/BG,EACJL,EAAegB,QACb,2BACA,kCACE,QAAOD,EAAAjf,KAAA,GACuB+a,EAClCf,EACAuE,GACD,QAGsB,GANjBC,EAAqBS,EAAA1f,KAI3Bme,EAAoBc,EAAqC,cAAgB,aACrEC,EAAgB,GACdC,EAAe,CAAC,EAClBhB,EAAkBtc,cAAgBsC,MAAK,CAAAub,EAAAjf,KAAA,SAChC1L,EAAI,EAAC,aAAEA,EAAIopB,EAAkBtpB,QAAM,CAAA6qB,EAAAjf,KAAA,SAAAif,EAAAI,GAClC3B,EAAkBppB,GAAU,MAAQ,KAAC2qB,EAAAjf,KACtC,8EADsCif,EAAAI,GACqC,oBAI5E,OAHFZ,EAAgBf,EAAkBppB,GAAU,MAAU,OAAE4qB,QACtD,MACA,QACAD,EAAAvf,OAAA,oBAGFgf,EAAahB,EAAkBppB,GAAU,MAAM,IAAK,CAClDiJ,KAAMmgB,EAAkBppB,GAAU,MAAQ,KAAE4qB,QAC1C,uEACA,IAEFxnB,OAAQgmB,EAAkBppB,GAAU,MAAU,OAAE4qB,QAC9C,MACA,SAEF,QAlBsC5qB,IAAG2qB,EAAAjf,KAAA,iBAAAif,EAAAjf,KAAA,iBAsBjDye,EAAgBf,EAAyB,MAAU,OAAEwB,QACnD,MACA,QACA,gBAIkBtqB,IAAlB6pB,EAA2B,CAAAQ,EAAAjf,KAAA,gBAAAif,EAAAjf,KAAA,GACR+a,EAAYf,EAAKyE,GAAc,QAApDhF,EAAYwF,EAAA1f,KAAA,eAAA0f,EAAAjf,KAAG,GAGU+a,EAAYf,EAAKuD,GAAY,QAUvD,OAVKqB,EAAYK,EAAA1f,KACZsf,EAAQD,EAAa,SAAS,UAAU,YACxCE,EAAU,CACd9E,IAAKA,EACL8D,kBAAmBA,EACnBQ,kBAAmBA,EACnBV,YAAaA,EACbS,sBAAuBA,EACvBF,aAAcA,EACdO,aAAcA,GACfO,EAAAjf,KAAA,GAEqBsf,EACpBV,EACAf,EACAO,EACAU,GACD,QALK7Q,EAAOgR,EAAA1f,KAOT3J,EACF,yBACAwkB,EAAUlU,MACV,cACAkU,EAAUjU,OACV,MACA8H,EACA,KAAIgR,EAAAM,GAAA7jB,KAAAmG,KAEcgd,GAAK,YAAAI,EAAAO,GAAAP,EAAAM,MAAA5f,KAAE,CAAFsf,EAAAjf,KAAA,UAAT,GAAP+e,EAAOE,EAAAO,GAAAzkB,MACV8jB,EAAME,GAAS3d,cAAgBsC,MAAK,CAAAub,EAAAjf,KAAA,UAC7B1L,EAAI,EAAC,aAAEA,EAAIuqB,EAAME,GAAS3qB,QAAM,CAAA6qB,EAAAjf,KAAA,UACjC,OADiCif,EAAAQ,GACvC7pB,EAAMqpB,EAAAjf,KAAA,IAAU0f,EACdX,EACAF,EAAME,GAASzqB,GACfwqB,GACD,SAJDlpB,EAAMqpB,EAAAQ,IAAAR,EAAA1f,KAAA,SADmCjL,IAAG2qB,EAAAjf,KAAA,kBAAAif,EAAAjf,KAAA,mBAQxC,OARwCif,EAAAU,GAQ9C/pB,EAAMqpB,EAAAjf,KAAA,IAAU0f,EAAoBX,EAASF,EAAME,GAAUD,GAAQ,SAArElpB,EAAMqpB,EAAAU,IAAAV,EAAA1f,KAAA,SAAA0f,EAAAjf,KAAA,yBAAAif,EAAAvf,OAAA,SAIH9J,EAAS,cAAY,0BAAAqpB,EAAA3c,OAAA,GAAAgb,EAAA,MAC7BvkB,MAAA,KAAA8N,UAAA,CAED,SAASsY,EAAWlrB,GAClB,IACM2rB,EAAa3rB,EADNmG,OAAOyH,KAAK5N,GACO,IAAI,UAAU,YAExC4rB,EAAU,CAAC,EACXC,EAAW,CAAC,EACZC,EAAY,CAAC,EAEnB,IAAK,IAAI7lB,KAAO0lB,EACd,GAAY,gBAAR1lB,GAAiC,cAARA,EAA7B,CAIA,IAAM8lB,EAAaJ,EAAW1lB,GAE9B,GAAI8lB,EAAW5e,cAAgBsC,MAC7B,IAAK,IAAIpP,EAAI,EAAGA,EAAI0rB,EAAW5rB,OAAQE,IAAK,CAC1C,IAAM2rB,EAAaD,EAAW1rB,GAAG,YAC3Bb,EAAK2rB,GAAkBa,EAAY,CAAC,UAAW,QAAS,OACxDC,EAAMd,GAAkBa,EAAY,CACxC,SACA,OACA,QACA,QAEI1iB,EAAO6hB,GAAkBa,EAAY,CACzC,SACA,OACA,QACA,cAGSrrB,IAAPnB,IACFosB,EAAQpsB,GAAMusB,EAAW1rB,SAEfM,IAARsrB,IACFJ,EAASI,GAAOF,EAAW1rB,SAEhBM,IAAT2I,IACFwiB,EAAUxiB,GAAQyiB,EAAW1rB,GAEjC,KACK,CACL,IAAM2rB,EAAaD,EAAW,YACxBvsB,EAAK2rB,GAAkBa,EAAY,CAAC,UAAW,QAAS,OACxDC,EAAMd,GAAkBa,EAAY,CACxC,SACA,OACA,QACA,QAEI1iB,EAAO6hB,GAAkBa,EAAY,CACzC,SACA,OACA,QACA,cAGSrrB,IAAPnB,IACFosB,EAAQpsB,GAAMusB,QAEJprB,IAARsrB,IACFJ,EAASI,GAAOF,QAELprB,IAAT2I,IACFwiB,EAAUxiB,GAAQyiB,EAEtB,CAxDA,CA2DF,MAAO,CAAEH,QAASA,EAASC,SAAUA,EAAUC,UAAWA,EAC5D,CAAC,SAEcL,EAAmBS,EAAAC,EAAAC,GAAA,OAAAC,EAAAvnB,MAAC,KAAD8N,UAAA,UAAAyZ,IAuBjC,OAvBiCA,EAAAzH,GAAAnd,KAAA4F,MAAlC,SAAAif,EAAmCxB,EAASyB,EAAW1B,GAAO,IAAAlpB,EAAA,OAAA8F,KAAAc,MAAA,SAAAikB,GAAA,cAAAA,EAAAte,KAAAse,EAAAzgB,MAAA,OACxDpK,EAAS,GAAE6qB,EAAAjF,GAEPuD,EAAO0B,EAAAzgB,KACR,SADQygB,EAAAjF,GACF,EAGN,YAHMiF,EAAAjF,GAGG,EAGT,UAHSiF,EAAAjF,GAGF,GAGP,mBAHOiF,EAAAjF,GAGS,GAGhB,YAHgBiF,EAAAjF,GAGP,0BAAAiF,EAAAzgB,KAAA,EAXG0gB,EAAcF,EAAW1B,GAAQ,OAGG,QAGF,QAGS,QAGL,QAA/C,OAANlpB,EAAM6qB,EAAAlhB,KAAAkhB,EAAA/gB,OAAA,YAZA,cAAA+gB,EAAAzgB,KAAG,GAGM2gB,EAAiBH,EAAW1B,GAArC,eAAA2B,EAAAzgB,KAAG,GAGM4gB,EAAeJ,EAAW1B,GAAnC,eAAA2B,EAAAzgB,KAAG,GAGM6gB,EAAwBL,EAAW1B,GAA5C,eAAA2B,EAAAzgB,KAAG,GAGM8gB,EAAmBN,EAAW1B,GAAvC,eAAA2B,EAAA/gB,OAAA,SAKH9J,GAAM,yBAAA6qB,EAAAne,OAAA,GAAAie,EAAA,MACdxnB,MAAA,KAAA8N,UAAA,UAEcia,EAAkBC,EAAAC,GAAA,OAAAC,EAAAloB,MAAC,KAAD8N,UAAA,UAAAoa,IA8ChC,OA9CgCA,EAAApI,GAAAnd,KAAA4F,MAAjC,SAAA4f,EAAkCzN,EAAMqL,GAAO,IAAAqC,EAAAC,EAAAlY,EAAA4D,EAAAuU,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/rB,EAAAmpB,EAAAzqB,EAAA,OAAAoH,KAAAc,MAAA,SAAAolB,GAAA,cAAAA,EAAAzf,KAAAyf,EAAA5hB,MAAA,OACvCmhB,EAAS,GAAK,OAEdC,EAAW3N,EAAK,aAAa,UAC7BvK,EAAImP,SAAS+I,EAAS,SAAgB,MAAK,GAAKD,EAChDrU,EAAIuL,SAAS+I,EAAS,SAAgB,MAAK,GAAKD,EAChDE,EAAMhJ,SAAS+I,EAAS,WAAkB,MAAK,GAAKD,EACpDG,EAAMjJ,SAAS+I,EAAS,WAAkB,MAAK,GAAKD,EACpDI,EAAKlJ,SAAS+I,EAAS,SAAgB,MAAM,IAAKD,EAClDK,EAAKnJ,SAAS+I,EAAS,SAAgB,MAAM,IAAKD,EAClDM,EAAOpJ,SAAS+I,EAAS,WAAkB,MAAM,IAAKD,EACtDO,EAAOrJ,SAAS+I,EAAS,WAAkB,MAAM,IAAKD,EAEtDQ,EAAQlO,EAAY,MAAS,MAE/B7d,EACF,4CACA+rB,EACA,WACC7U,EAAIwU,GACL,cACCpY,EAAImY,GACL,eACCE,EAAKE,GACN,gBACCD,EAAKE,GACN,QAEFE,EAAApG,GAAA9f,KAAAmG,KACoB4R,GAAI,YAAAmO,EAAAnG,GAAAmG,EAAApG,MAAA7b,KAAE,CAAFiiB,EAAA5hB,KAAA,SAAR,GAAP+e,EAAO6C,EAAAnG,GAAA1gB,MACV0Y,EAAKsL,GAAS3d,cAAgBsC,MAAK,CAAAke,EAAA5hB,KAAA,SAC5B1L,EAAI,EAAC,aAAEA,EAAImf,EAAKsL,GAAS3qB,QAAM,CAAAwtB,EAAA5hB,KAAA,SAChC,OADgC4hB,EAAAvC,GACtCzpB,EAAMgsB,EAAA5hB,KAAA,GAAU0f,EACdX,EACAtL,EAAKsL,GAASzqB,GACdwqB,GACD,QAJDlpB,EAAMgsB,EAAAvC,IAAAuC,EAAAriB,KAAA,QADkCjL,IAAGstB,EAAA5hB,KAAA,iBAAA4hB,EAAA5hB,KAAA,iBAQvC,OARuC4hB,EAAArC,GAQ7C3pB,EAAMgsB,EAAA5hB,KAAA,GAAU0f,EAAoBX,EAAStL,EAAKsL,GAAUD,GAAQ,QAApElpB,EAAMgsB,EAAArC,IAAAqC,EAAAriB,KAAA,QAAAqiB,EAAA5hB,KAAA,iBAIS,OAAnBpK,GAAU,SAASgsB,EAAAliB,OAAA,SAEZ9J,GAAM,yBAAAgsB,EAAAtf,OAAA,GAAA4e,EAAA,MACdnoB,MAAA,KAAA8N,UAAA,UAEc6Z,EAAamB,EAAAC,GAAA,OAAAC,EAAAhpB,MAAC,KAAD8N,UAAA,UAAAkb,IA2E3B,OA3E2BA,EAAAlJ,GAAAnd,KAAA4F,MAA5B,SAAA0gB,EAA6BvO,EAAMqL,GAAO,IAAArrB,EAAA4N,EAAA6e,EAAA3iB,EAAAokB,EAAAM,EAAAC,EAAA,OAAAxmB,KAAAc,MAAA,SAAA2lB,GAAA,cAAAA,EAAAhgB,KAAAggB,EAAAniB,MAAA,OA8DvC,OAjDKvM,EAAKggB,EAAK,YAAY,WAAkB,MAAM,GAC9CpS,EAAOoS,EAAK,YAAY,WAAkB,MAAQ,KAClDyM,OACmCtrB,IAAvC6e,EAAK,YAAY,UAAU,aACvB7e,EACA6e,EAAK,YAAY,UAAU,QAAe,MAAO,IACnDlW,OACqC3I,IAAvC6e,EAAK,YAAY,UAAU,aACvB7e,EACA6e,EAAK,YAAY,UAAU,QAAe,MAAQ,KAClDkO,EAAQlO,EAAY,MAAS,WAKtB7e,IAAT2I,GAEA0kB,EAAoBnD,EAA2B,kBAAa,UAAEvhB,GAC9D2kB,EAAoBpD,EAA2B,kBAAa,UAAEvhB,SAMpD3I,IAARsrB,IACF+B,EAAoBnD,EAA2B,kBAAY,SAAEoB,GAC7DgC,EAAoBpD,EAA2B,kBAAY,SAAEoB,SAMpDtrB,IAAT2I,QAQW3I,KAPb2I,EAAO6hB,GAAkB6C,EAAmB,CAC1C,WACA,SACA,OACA,QACA,YAGA1kB,EAAO6hB,GAAkB8C,EAAmB,CAC1C,WACA,SACA,OACA,QACA,UAGLC,EAAAniB,KAAA,EAEYoiB,EACX3O,EACAwO,EACAC,EACAzuB,EACA4N,EACA6e,EACA3iB,EACAokB,EACA7C,GACD,cAAAqD,EAAAziB,OAAA,SAAAyiB,EAAA5iB,MAAA,yBAAA4iB,EAAA7f,OAAA,GAAA0f,EAAA,MACFjpB,MAAA,KAAA8N,UAAA,UAEc8Z,EAAgB0B,EAAAC,GAAA,OAAAC,EAAAxpB,MAAC,KAAD8N,UAAA,UAAA0b,IAmB9B,OAnB8BA,EAAA1J,GAAAnd,KAAA4F,MAA/B,SAAAkhB,EAAgC/O,EAAMqL,GAAO,IAAArrB,EAAA4N,EAAAsgB,EAAA,OAAAjmB,KAAAc,MAAA,SAAAimB,GAAA,cAAAA,EAAAtgB,KAAAsgB,EAAAziB,MAAA,OAMP,OAL9BvM,EAAKggB,EAAK,eAAe,WAAkB,MAAM,GACjDpS,EAAOoS,EAAK,eAAe,WAAkB,MAAQ,KAIrDkO,EAAQlO,EAAY,MAAS,MAACgP,EAAAziB,KAAA,EAEvBoiB,EACX3O,OACA7e,OACAA,EACAnB,EACA4N,OACAzM,OACAA,EACA+sB,EACA7C,GACD,cAAA2D,EAAA/iB,OAAA,SAAA+iB,EAAAljB,MAAA,wBAAAkjB,EAAAngB,OAAA,GAAAkgB,EAAA,MACFzpB,MAAA,KAAA8N,UAAA,UAEcub,EAAQM,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,OAAAC,EAAApqB,MAAC,KAAD8N,UAAA,UAAAsc,IAouDtB,OApuDsBA,EAAAtK,GAAAnd,KAAA4F,MAAvB,SAAA8hB,EACE3P,EACAwO,EACAC,EACAzuB,EACA4N,EACA6e,EACA3iB,EACAokB,EACA7C,GAAO,IAAAuE,EAAAC,EAAAC,EAAAC,EAAA5tB,EAAA6tB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAhN,EAAApJ,EAAAqW,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/wB,EAAAgxB,EAAAC,EAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAvlB,GAAAwlB,GAAAC,GAAAC,GAAAC,GAAAC,GAAAj1B,GAAAk1B,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA,OAAA7uB,KAAAc,MAAA,SAAAguB,GAAA,cAAAA,EAAAroB,KAAAqoB,EAAAxqB,MAAA,OAyCe,GAtChBsjB,EAAgBlE,GAAkB3L,EADlC4P,EAAW,CAAC,SAAU,WAEtBE,EAAsBnE,GAAkB6C,EAAmBoB,GAC3DG,EAAsBpE,GAAkB8C,EAAmBmB,GAE7DztB,EAAS,GACP6tB,EAAQrE,GAAkB3L,EAAM,CAAC,QAAS,UAE1CiQ,EAAWtE,GAAkB3L,EAAM,CACvC,SACA,aACA,QACA,SAIIkQ,EAAevE,GAAkB3L,EAAM,CAAC,SAAU,eAEpDmQ,GAAU,EAE6C,MAAzDxE,GAAkBkE,EAAe,CAAC,QAAS,WACc,MAAzDlE,GAAkBkE,EAAe,CAAC,QAAS,YAE3CM,GAAU,GAINC,EAAS4G,GACbrL,GAAkBkE,EAAe,CAAC,QAAS,SAUzCY,GAAc,EACdC,GAAa,OACAvvB,IAAb8uB,QAA2C9uB,IAAjB+uB,EAA0B,CAAA6G,EAAAxqB,KAAA,SA6BtD,OAxBMokB,EAAMhF,GAAkBkE,EAAe,CAAC,QAAS,UACvDQ,EAA2B,GAAtBzL,SAAS+L,EAAQ,IAAW,OACjCtN,EAA2B,GAAtBuB,SAAS+L,EAAQ,IAAW,OAEjCxuB,GACE,6BACAnC,EACA,WACAysB,EACA,YACA3iB,EACA,WACA8D,EACA,YACAqpB,EAAYpH,OAAe1uB,OAAWA,GACtC+1B,EAAQrH,OAAe1uB,OAAWA,GAClC,aACA+sB,EAZA,sBAeAkC,EAfA,UAkBFjuB,GAAU,SACV40B,EAAAxqB,KAAA,GACkB4qB,GAAanX,GAAM,EAAMqL,GAAQ,QAAnDmF,EAASuG,EAAAjrB,KAGW,mBAFd8kB,EAAcwG,GAAYzL,GAAkB3L,EAAM,CAAC,cAGvDyQ,GAAc,EACRI,EAAaL,EAAUxV,MACvB8V,EAAON,EAAU6G,IACjBtG,EAAWuG,GAAejH,EAAGhN,EAAGyN,EAAMD,EAAYb,GAExD7tB,GAAU4uB,GACe,aAAhBH,IACTF,GAAa,EACPM,EAAWuG,GAAmB/G,EAAWR,GAG/C7tB,GAAU6uB,GAGZ/W,EAASud,EAAUxX,GAAM,GAEzBsQ,EAAmB3E,GAAkB3L,EAAM,CACzC,SACA,OACA,YACA,UAEFuQ,EAAmB5E,GAAkB3L,EAAM,CACzC,SACA,OACA,YACA,gBAKsB7e,IAArBmvB,GAC+B,aAA7BA,EAAuB,MACO,UAA7BA,EAAuB,aACLnvB,IAArBovB,GAC+B,aAA7BA,EAAuB,MACO,UAA7BA,EAAuB,QAErBU,EACJ,8BACAjB,EACA,oFACA/V,EAAOe,MACP,WACAf,EAAOe,MACP,sGACF7Y,GAAU8uB,GAEZ9uB,GAAU,UAAU,gBAELhB,IAAb8uB,QAA2C9uB,IAAjB+uB,EAA0B,CAAA6G,EAAAxqB,KAAA,UAAAwqB,EAAAhP,GAC9CkI,EAAQ8G,EAAAxqB,KACT,yBADSwqB,EAAAhP,IAET,yBADsBgP,EAAAhP,IAEtB,yBADsBgP,EAAAhP,IAEtB,mBADsBgP,EAAAhP,IAEtB,mBADgBgP,EAAAhP,IAEhB,mBADgBgP,EAAAhP,IAEhB,6BADgBgP,EAAAhP,IAEhB,0BAD0BgP,EAAAhP,IAE1B,sBADuBgP,EAAAhP,IAEvB,yBADmBgP,EAAAhP,IAEnB,oBADsBgP,EAAAhP,IAEtB,4BADiBgP,EAAAhP,IAEjB,qBADyBgP,EAAAhP,IAEzB,qBADkBgP,EAAAhP,IAElB,4BADkBgP,EAAAhP,IAElB,sBADyBgP,EAAAhP,IAEzB,uBADmBgP,EAAAhP,IAEnB,sBADoBgP,EAAAhP,IAEpB,QADmBgP,EAAAhP,IAEnB,UADKgP,EAAAhP,IAEL,aADOgP,EAAAhP,IAEP,mBADUgP,EAAAhP,IAEV,mBADgBgP,EAAAhP,IAEhB,mBADgBgP,EAAAhP,IAEhB,cADgBgP,EAAAhP,IAEhB,gBADWgP,EAAAhP,IAEX,aADagP,EAAAhP,IAEb,aADUgP,EAAAhP,IAEV,aADUgP,EAAAhP,IAEV,QADUgP,EAAAhP,IAEV,cADKgP,EAAAhP,IAEL,cADWgP,EAAAhP,IAEX,WADWgP,EAAAhP,IAEX,YADQgP,EAAAhP,IAER,UADSgP,EAAAhP,IAET,UADOgP,EAAAhP,IAEP,iBADOgP,EAAAhP,IAEP,WADcgP,EAAAhP,IAEd,eADQgP,EAAAhP,IAER,SADYgP,EAAAhP,IAEZ,eADMgP,EAAAhP,IAEN,UADYgP,EAAAhP,IAEZ,eADOgP,EAAAhP,IAEP,qBADYgP,EAAAhP,IAEZ,kBADkBgP,EAAAhP,IAElB,mBADegP,EAAAhP,IAEf,8BADgBgP,EAAAhP,IAEhB,qBAD2BgP,EAAAhP,IAE3B,uBADkBgP,EAAAhP,IAElB,sBADoBgP,EAAAhP,IAEpB,mBADmBgP,EAAAhP,IAEnB,qBADgBgP,EAAAhP,IAEhB,sBADkBgP,EAAAhP,IAElB,qBADmBgP,EAAAhP,IAEnB,yBADkBgP,EAAAhP,IAElB,6BADsBgP,EAAAhP,IAEtB,0BAD0BgP,EAAAhP,IAE1B,0BADuBgP,EAAAhP,IAEvB,0BADuBgP,EAAAhP,IAEvB,yBADuBgP,EAAAhP,IAEvB,6BADsBgP,EAAAhP,IAEtB,mBAD0BgP,EAAAhP,IAE1B,2BADgBgP,EAAAhP,IAEhB,4BADwBgP,EAAAhP,IAExB,8BADyBgP,EAAAhP,IAEzB,2BAD2BgP,EAAAhP,IAE3B,gBADwBgP,EAAAhP,IAExB,+BADagP,EAAAhP,IAEb,yBAD4BgP,EAAAhP,IAE5B,qBADsBgP,EAAAhP,IAEtB,yBADkBgP,EAAAhP,IAElB,yBADsBgP,EAAAhP,IAEtB,kBADsBgP,EAAAhP,IAEtB,6BADegP,EAAAhP,IAEf,wBAD0BgP,EAAAhP,IAE1B,iBADqBgP,EAAAhP,IAErB,UADcgP,EAAAhP,IAEd,WADOgP,EAAAhP,IAEP,UADQgP,EAAAhP,IAER,UADOgP,EAAAhP,IAEP,cADOgP,EAAAhP,IAEP,UADWgP,EAAAhP,IAEX,cADOgP,EAAAhP,IAEP,qBADWgP,EAAAhP,IAEX,mBADkBgP,EAAAhP,IAElB,mBADgBgP,EAAAhP,IAEhB,qBADgBgP,EAAAhP,IAEhB,cADkBgP,EAAAhP,IAElB,gBADWgP,EAAAhP,IAEX,0BADagP,EAAAhP,IAEb,oBADuBgP,EAAAhP,IAEvB,kBADiBgP,EAAAhP,IAEjB,YADegP,EAAAhP,IAEf,eADSgP,EAAAhP,IAET,cADYgP,EAAAhP,IAEZ,cADWgP,EAAAhP,IAEX,iBADWgP,EAAAhP,IAEX,iBADcgP,EAAAhP,IAEd,aADcgP,EAAAhP,IAEd,SADUgP,EAAAhP,IAEV,0BADMgP,EAAAhP,IAEN,cADuBgP,EAAAhP,IAEvB,QADWgP,EAAAhP,IAEX,aADKgP,EAAAhP,IAEL,WADUgP,EAAAhP,IAEV,eADQgP,EAAAhP,IAER,qBADYgP,EAAAhP,IAEZ,SADkBgP,EAAAhP,IAElB,WADMgP,EAAAhP,IAEN,YADQgP,EAAAhP,IAER,sBADSgP,EAAAhP,IAET,eADmBgP,EAAAhP,IAEnB,iBADYgP,EAAAhP,IAEZ,eADcgP,EAAAhP,IAEd,mBADYgP,EAAAhP,IAEZ,mBADgBgP,EAAAhP,IAEhB,eADgBgP,EAAAhP,IAEhB,cADYgP,EAAAhP,IAEZ,kBADWgP,EAAAhP,IAEX,kBADegP,EAAAhP,IAEf,kBADegP,EAAAhP,IAEf,eADegP,EAAAhP,IAEf,WADYgP,EAAAhP,IAEZ,WADQgP,EAAAhP,IAER,WADQgP,EAAAhP,IAER,WADQgP,EAAAhP,IAER,WADQgP,EAAAhP,IAER,UADQgP,EAAAhP,IAER,UADOgP,EAAAhP,IAEP,UADOgP,EAAAhP,IAEP,UADOgP,EAAAhP,IAEP,UADOgP,EAAAhP,IAEP,QADOgP,EAAAhP,IAEP,aADKgP,EAAAhP,IAEL,mBADUgP,EAAAhP,IAEV,uBADgBgP,EAAAhP,IAEhB,mBADoBgP,EAAAhP,IAEpB,SADgBgP,EAAAhP,IAEhB,wBADMgP,EAAAhP,IAEN,qBADqBgP,EAAAhP,IAErB,0BADkBgP,EAAAhP,GA3II,GAiKtB,YArBuBgP,EAAAhP,GAqBd,GAyBT,cAzBSgP,EAAAhP,GAyBE,GAqBX,mBArBWgP,EAAAhP,GAqBK,GAmChB,eAnCgBgP,EAAAhP,GAmCJ,GAuBZ,aAvBYgP,EAAAhP,GAuBF,GAsCV,YAtCUgP,EAAAhP,GAsCD,GA6BT,cA7BSgP,EAAAhP,GA6BE,GA0CX,kBA1CWgP,EAAAhP,GA0CI,GA+Cf,aA/CegP,EAAAhP,GA+CL,GAiCV,YAjCUgP,EAAAhP,GAiCD,GA6DT,aA7DSgP,EAAAhP,GA6DC,GAyCV,YAzCUgP,EAAAhP,GAyCD,GAwDT,YAxDSgP,EAAAhP,GAwDA,GAmDT,cAnDSgP,EAAAhP,GAmDE,GAyDX,mBAzDWgP,EAAAhP,GAyDK,GAyEhB,SAzEgBgP,EAAAhP,GAyEV,GAuEN,SAvEMgP,EAAAhP,IAwEN,uBADMgP,EAAAhP,IAEN,mBADoBgP,EAAAhP,IAEpB,mBADgBgP,EAAAhP,IAEhB,qBADgBgP,EAAAhP,IAEhB,qBADkBgP,EAAAhP,IAElB,qBADkBgP,EAAAhP,IAElB,qBADkBgP,EAAAhP,GANZ,GAoDN,eA7CkBgP,EAAAhP,GA6CN,IAoEZ,cApEYgP,EAAAhP,GAoED,IAsEX,cAtEWgP,EAAAhP,GAsEA,IAoEX,YApEWgP,EAAAhP,GAoEF,IAoET,mBApESgP,EAAAhP,GAoEO,IAgFhB,gBAhFgBgP,EAAAhP,GAgFH,IAgFb,cAhFagP,EAAAhP,IAiFb,gBADWgP,EAAAhP,IAEX,sBADagP,EAAAhP,IAEb,cADmBgP,EAAAhP,IAEnB,kBADWgP,EAAAhP,IAEX,gBADegP,EAAAhP,IAEf,qBADagP,EAAAhP,IAEb,gBADkBgP,EAAAhP,IAElB,sBADagP,EAAAhP,IAEb,sBADmBgP,EAAAhP,IAEnB,oBADmBgP,EAAAhP,IAEnB,oBADiBgP,EAAAhP,IAEjB,qBADiBgP,EAAAhP,IAEjB,kBADkBgP,EAAAhP,IAElB,eADegP,EAAAhP,IAEf,2BADYgP,EAAAhP,GAdD,KAeagP,EAAAhP,GAEf,mBAzrCH,OAjBT5lB,GACE,4BACAkuB,EACA,aACAhN,EACA,YACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAyBA,OArBT9J,GACE,gBACAkuB,EAAI,EACJ,SACAhN,EAAI,EACJ,SACAgN,EAAI,EACJ,SACAhN,EAAI,EACJ,YACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAqBA,OAjBT9J,GACE,4BACAkuB,EACA,aACAhN,EACA,0BACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAmCM,OAxBf9J,GACE,aANEguB,EACE,OAASE,EAAI,MAAQhN,EAAI,IAAMgN,EAAI,MAAQhN,EAAI,KAE/C,KAAOgN,EAAI,QAAUA,EAAI,IAAMhN,EAAI,QAAUA,GAKjD,aACApJ,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,sBAEqBt2B,IAArBmvB,GAC8B,aAA7BA,EAAuB,MACO,UAA7BA,EAAuB,OAEzBnuB,GAAU,qCAAuC6tB,EAAQ,YAGpC7uB,IAArBovB,GAC8B,aAA7BA,EAAuB,MACO,UAA7BA,EAAuB,OAEzBpuB,GAAU,mCAAqC6tB,EAAQ,OAEzD7tB,GAAU,KAAK40B,EAAA9qB,OAAA,qBAuBN,OAnBT9J,GACE,2BACAkhB,EACA,IACAgN,EACA,IACAhN,EACA,YACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAsCA,OAlCHilB,EAAYvF,GAAkB3L,EAAM,CACxC,SACA,aACA,UACA,OACA,QACA,SAEEmR,EAAe,QACDhwB,IAAd+vB,IACFC,EAAgD,GAAhCvM,SAASsM,EAAUzI,OAAO,IAAY,QAGxDtmB,GACE,qBACAkuB,EAAIc,EACJ,QACA9N,EACA,IACAgN,EACA,IACAhN,EACA,YACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBA6BA,OAzBT9J,GACE,qBACAkuB,EAAI,EACJ,QACAhN,EAAI,EACJ,IACAgN,EAAI,EACJ,IACAhN,EACA,IACAgN,EACA,IACAhN,EAAI,EACJ,YACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBA0CA,OAtCHilB,EAAYvF,GAAkB3L,EAAM,CACxC,SACA,aACA,UACA,OACA,QACA,SAEEqR,EAAW,IACK,WACFlwB,IAAd+vB,IACII,EAAyC,GAAhC1M,SAASsM,EAAUzI,OAAO,IAAY,OACrD4I,EAAoB,GAARC,EAHM,OAMpBnvB,GACE,qBACAkuB,EAAIgB,EACJ,QACAhO,EACA,IACAgN,EACA,IACAhN,EACA,KACC,EAAIgO,GAAYhB,EACjB,cACEK,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBA+CA,OA3CHilB,EAAYvF,GAAkB3L,EAAM,CACxC,SACA,aACA,UACA,OACA,QACA,SAEEqR,EAAW,IAGbqG,EADErH,EAAIhN,EACQgN,EAAIhN,EAEJA,EAAIgN,OAEFlvB,IAAd+vB,IACII,EAAQ1M,SAASsM,EAAUzI,OAAO,IAAM,IAC9C4I,EAAWC,EAAQoG,GAGrBv1B,GACE,qBACAkvB,EAAWhB,EACX,QACAhN,EACA,KACC,EAAIgO,GAAYhB,EACjB,IACAhN,EACA,IACAgN,EACA,cACEK,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAiCA,OA7BT9J,GACE,qBACA,GAAMkuB,EACN,QACA,KAAQhN,EACR,IACA,IAAOgN,EACP,IACAhN,EACA,IACA,IAAOgN,EACP,IACAhN,EACA,IACAgN,EACA,IACA,KAAQhN,EACR,YACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAYT,IARM0lB,EACJhG,GAAkB3L,EAAM,CACtB,SACA,aACA,UACA,UACI,GAECnf,EAAI,EAAGA,EAAI8wB,EAAehxB,OAAQE,IAEqB,QAA5D8qB,GAAkBgG,EAAe9wB,GAAI,CAAC,QAAS,WAE/CqwB,EAAYvF,GAAkBgG,EAAe9wB,GAAI,CAC/C,QACA,UA2CG,OAvCLwwB,EAAW,IACK,YAEFlwB,IAAd+vB,IACII,EAAyC,GAAhC1M,SAASsM,EAAUzI,OAAO,IAAY,OACrD4I,EAAoB,GAARC,EAJM,QAOpBnvB,GACE,qBACAkuB,EAAIgB,EACJ,QACAhO,EAAI,EACJ,IACAgN,EAAIgB,EACJ,IACAhO,EACA,KACC,EAAIgO,GAAYhB,EACjB,IACAhN,EACA,IACAgN,EACA,IACAhN,EAAI,EACJ,KACC,EAAIgO,GAAYhB,EACjB,cACEK,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAyCA,OArCT9J,GACE,qBACA,GAAMkuB,EACN,MACAA,EAAI,EACJ,IACAhN,EAAI,EACJ,MACC,EAAI,EAAKA,EACV,IACAgN,EAAI,EACJ,IACAhN,EACA,IACC,EAAI,EAAKgN,EACV,IACAhN,EACA,IACAgN,EACA,IACC,EAAI,EAAKhN,EACV,IACC,EAAI,EAAKgN,EACV,IACAhN,EAAI,EACJ,YACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAuDA,OAnDHilB,GAAYvF,GAAkB3L,EAAM,CACxC,SACA,aACA,UACA,OACA,QACA,SAEEgS,GAAO,SACO7wB,IAAd+vB,KACFc,GAAOpN,SAASsM,GAAUzI,OAAO,IAAM,KAIzCtmB,GACE,qBACA6vB,GAAO3B,EACP,QACA2B,GAAO3O,EACP,OAPI4O,GAAO,EAAID,IAQR3O,EACP,IACA2O,GAAO3B,EACP,IACAhN,EACA,IACA4O,GAAO5B,EACP,IACAhN,EACA,IACAgN,EACA,IACA4B,GAAO5O,EACP,IACAgN,EACA,IACA2B,GAAO3O,EACP,IACA4O,GAAO5B,EACP,cACEK,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAoDA,OA/CT9J,GACE,qBACC,EAAI,EAAKkuB,EACV,MACAA,EAAI,EACJ,IACAhN,EAAI,EACJ,MACAA,EAAI,EACJ,IACAgN,EAAI,EACJ,IACC,EAAI,EAAKhN,EACV,IACC,EAAI,EAAKgN,EACV,IACAhN,EACA,IACC,EAAI,EAAKgN,EACV,IACAhN,EACA,IACC,EAAI,EAAKgN,EACV,IACC,EAAI,EAAKhN,EACV,IACAgN,EACA,IACAhN,EAAI,EACJ,IACC,EAAI,EAAKgN,EACV,IACAhN,EAAI,EACJ,IACC,EAAI,EAAKgN,EACV,cACEK,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAyDA,OArDT9J,GACE,qBACC,EAAI,EAAKkuB,EACV,MACAA,EAAI,EACJ,IACAhN,EAAI,EACJ,MACC,EAAI,EAAKA,EACV,MACC,EAAI,EAAKA,EACV,IACAgN,EAAI,EACJ,IACC,EAAI,EAAKhN,EACV,IACC,EAAI,EAAKgN,EACV,IACAhN,EACA,IACC,EAAI,EAAKgN,EACV,IACAhN,EACA,IACC,EAAI,EAAKgN,EACV,IACC,EAAI,EAAKhN,EACV,IACAgN,EACA,IACC,EAAI,EAAKhN,EACV,IACAgN,EACA,IACC,EAAI,EAAKhN,EACV,IACC,EAAI,EAAKgN,EACV,IACAhN,EAAI,EACJ,IACC,EAAI,EAAKgN,EACV,cACEK,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,qBAyER,OArEKilB,GAAYvF,GAAkB3L,EAAM,CACxC,SACA,aACA,UACA,OACA,QACA,SAGEmR,GAAe,QACDhwB,IAAd+vB,KACFC,GAAevM,SAASsM,GAAUzI,OAAO,IAAM,IAG7CtmB,GADEguB,EAEA,sBACAE,EACA,OACC,EAAIc,IAAgBd,EACrB,OACC,EAAIc,IAAgBd,EACrB,IACAhN,EACA,MACAA,EATA,iCAYApJ,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,KAGA,0BACAtG,GAAed,EACf,MACAc,GAAed,EACf,IACAhN,EACA,IACAgN,EACA,IACAhN,EATA,iCAYApJ,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,UAGmBt2B,IAArBmvB,GAC8B,aAA7BA,EAAuB,MACO,UAA7BA,EAAuB,OAEzBnuB,GAAU,qCAAuC6tB,EAAQ,YAGpC7uB,IAArBovB,GAC8B,aAA7BA,EAAuB,MACO,UAA7BA,EAAuB,OAEzBpuB,GAAU,mCAAqC6tB,EAAQ,OAEzD7tB,GAAU,MACX40B,EAAA9qB,OAAA,qBAuED,OAnEMilB,GAAYvF,GAAkB3L,EAAM,CACxC,SACA,aACA,UACA,OACA,QACA,SAEEgS,GAAO,SACO7wB,IAAd+vB,KACFc,GAAOpN,SAASsM,GAAUzI,OAAO,IAAM,KAGzCtmB,GACE,qBACA6vB,GAAO3B,EACP,MACA2B,GAAO3B,EACP,IACA2B,GAAO3O,EACP,MACA2O,GAAO3O,EACP,OAVI4O,GAAO,EAAID,IAWR3O,EACP,IACA2O,GAAO3B,EACP,IACA4B,GAAO5O,EACP,IACA2O,GAAO3B,EACP,IACAhN,EACA,IACA4O,GAAO5B,EACP,IACAhN,EACA,IACA4O,GAAO5B,EACP,IACA4B,GAAO5O,EACP,IACAgN,EACA,IACA4B,GAAO5O,EACP,MACCgN,EACD,IACA2B,GAAO3O,EACP,IACA4O,GAAO5B,EACP,IACA2B,GAAO3O,EACP,IACA4O,GAAO5B,EACP,cACEK,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OACFV,EAAA9qB,OAAA,qBAoDe,OAxCb9J,GADEguB,EAEA,aACAE,EACA,uBACAhN,EACA,aACApJ,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,KAGA,2BACApH,EACA,SACAhN,EACA,aACApJ,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,UAGmBt2B,IAArBmvB,GAC8B,aAA7BA,EAAuB,MACO,UAA7BA,EAAuB,OAEzBnuB,GAAU,qCAAuC6tB,EAAQ,YAGpC7uB,IAArBovB,GAC8B,aAA7BA,EAAuB,MACO,UAA7BA,EAAuB,OAEzBpuB,GAAU,mCAAqC6tB,EAAQ,OAEzD7tB,GAAU,KAAK40B,EAAA9qB,OAAA,sBAef,GAXM0lB,GAAiBhG,GAAkB3L,EAAM,CAC7C,SACA,aACA,UACA,SAGEyS,GAAW,GAEXE,GAAW,GACTC,GAAgBvC,EAAIhN,OACHliB,IAAnBwwB,GACF,IAAS9wB,GAAI,EAAGA,GAAI8wB,GAAehxB,OAAQE,KAKxB,UAJXiyB,GAAWnH,GAAkBgG,GAAe9wB,IAAI,CACpD,QACA,WAGA2xB,GAAQ7G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACvD4xB,GAAW,GAAM7N,SAAS4N,GAAM/J,OAAO,IAAM,KACvB,SAAbqK,KACTJ,GAAQ/G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACjDkyB,GAAYnO,SAAS8N,GAAMjK,OAAO,IAAM,IAC9CkK,GAAW,EAAII,GAAYH,IAyCxB,OAnCTzwB,GACE,qBACAkuB,EACA,IACAhN,EAAI,EACJ,IACAsP,GAAWtC,EACX,MACAsC,GAAWtC,EACX,IACAoC,GAAWpP,EACX,MACAoP,GAAWpP,EACX,OACC,EAAIoP,IAAYpP,EACjB,IACAsP,GAAWtC,EACX,KACC,EAAIoC,IAAYpP,EACjB,KACAsP,GAAWtC,EACX,IACAhN,EACA,YACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,sBAeT,GAXM0lB,GAAiBhG,GAAkB3L,EAAM,CAC7C,SACA,aACA,UACA,SAGEyS,GAAW,GAEXE,GAAW,GACTC,GAAgBvC,EAAIhN,OACHliB,IAAnBwwB,GACF,IAAS9wB,GAAI,EAAGA,GAAI8wB,GAAehxB,OAAQE,KAKxB,UAJXiyB,GAAWnH,GAAkBgG,GAAe9wB,IAAI,CACpD,QACA,WAGA2xB,GAAQ7G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACvD4xB,GAAW,GAAM7N,SAAS4N,GAAM/J,OAAO,IAAM,KACvB,SAAbqK,KACTJ,GAAQ/G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACjDkyB,GAAYnO,SAAS8N,GAAMjK,OAAO,IAAM,IAC9CkK,GAAWI,GAAYH,IA2CpB,OArCTzwB,GACE,uBACAkhB,EAAI,EACJ,IACAsP,GAAWtC,EACX,IACAhN,EACA,IACAsP,GAAWtC,EACX,KACC,EAAIoC,IAAYpP,EACjB,IACAgN,EACA,KACC,EAAIoC,IAAYpP,EACjB,IACAgN,EACA,IACAoC,GAAWpP,EACX,IACAsP,GAAWtC,EACX,IACAoC,GAAWpP,EACX,KACAsP,GAAWtC,EACX,cACEK,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,sBAeT,GAXM0lB,GAAiBhG,GAAkB3L,EAAM,CAC7C,SACA,aACA,UACA,SAGEyS,GAAW,GAEXE,GAAW,GACTC,GAAgBvP,EAAIgN,OACHlvB,IAAnBwwB,GACF,IAAS9wB,GAAI,EAAGA,GAAI8wB,GAAehxB,OAAQE,KAKxB,UAJXiyB,GAAWnH,GAAkBgG,GAAe9wB,IAAI,CACpD,QACA,WAGA2xB,GAAQ7G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACvD4xB,GAAW7N,SAAS4N,GAAM/J,OAAO,IAAM,KACjB,SAAbqK,KACTJ,GAAQ/G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACjDkyB,GAAYnO,SAAS8N,GAAMjK,OAAO,IAAM,IAC9CkK,GAAWI,GAAYH,IAyCpB,OAnCTzwB,GACE,sBACC,GAAMswB,IAAYpC,EACnB,OACC,GAAMoC,IAAYpC,EACnB,KACC,EAAIsC,IAAYtP,EACjB,OACC,EAAIsP,IAAYtP,EACjB,IACAgN,EAAI,EACJ,IACAhN,EACA,IACAgN,EACA,KACC,EAAIsC,IAAYtP,EACjB,KACC,GAAMoP,IAAYpC,EACnB,KACC,EAAIsC,IAAYtP,EACjB,MACC,GAAMoP,IAAYpC,EACnB,cACEK,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,sBAeT,GAXM0lB,GAAiBhG,GAAkB3L,EAAM,CAC7C,SACA,aACA,UACA,SAGEyS,GAAW,GAEXE,GAAW,GACTC,GAAgBvP,EAAIgN,OACHlvB,IAAnBwwB,GACF,IAAS9wB,GAAI,EAAGA,GAAI8wB,GAAehxB,OAAQE,KAKxB,UAJXiyB,GAAWnH,GAAkBgG,GAAe9wB,IAAI,CACpD,QACA,WAGA2xB,GAAQ7G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACvD4xB,GAAW7N,SAAS4N,GAAM/J,OAAO,IAAM,KACjB,SAAbqK,KACTJ,GAAQ/G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACjDkyB,GAAYnO,SAAS8N,GAAMjK,OAAO,IAAM,IAC9CkK,GAAWI,GAAYH,IAyCpB,OArCTzwB,GACE,qBACAkuB,EAAI,EACJ,QACAsC,GAAWtP,EACX,KACC,GAAMoP,IAAYpC,EACnB,IACAsC,GAAWtP,EACX,KACC,GAAMoP,IAAYpC,EACnB,IACAhN,EACA,KACC,GAAMoP,IAAYpC,EACnB,IACAhN,EACA,KACC,GAAMoP,IAAYpC,EACnB,IACAsC,GAAWtP,EACX,KACAgN,EACA,IACAsC,GAAWtP,EACX,YACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,sBAeT,GAXM0lB,GAAiBhG,GAAkB3L,EAAM,CAC7C,SACA,aACA,UACA,SAGEyS,GAAW,GAEXE,GAAW,GACTC,GAAgBvC,EAAIhN,OACHliB,IAAnBwwB,GACF,IAAS9wB,GAAI,EAAGA,GAAI8wB,GAAehxB,OAAQE,KAKxB,UAJXiyB,GAAWnH,GAAkBgG,GAAe9wB,IAAI,CACpD,QACA,WAGA2xB,GAAQ7G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACvD4xB,GAAW,GAAM7N,SAAS4N,GAAM/J,OAAO,IAAM,KACvB,SAAbqK,KACTJ,GAAQ/G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACjDkyB,GAAYnO,SAAS8N,GAAMjK,OAAO,IAAM,IAC9CkK,GAAWI,GAAYH,IAqDpB,OA/CTzwB,GACE,uBACAkhB,EAAI,EACJ,IACAsP,GAAWtC,EACX,IACAhN,EACA,IACAsP,GAAWtC,EACX,KACC,EAAIoC,IAAYpP,EACjB,KACC,EAAIsP,IAAYtC,EACjB,KACC,EAAIoC,IAAYpP,EACjB,KACC,EAAIsP,IAAYtC,EACjB,IACAhN,EACA,IACAgN,EACA,IACAhN,EAAI,EACJ,MACC,EAAIsP,IAAYtC,EACjB,OACC,EAAIsC,IAAYtC,EACjB,IACAoC,GAAWpP,EACX,IACAsP,GAAWtC,EACX,IACAoC,GAAWpP,EACX,IACAsP,GAAWtC,EACX,cACEK,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,sBAeT,GAXM0lB,GAAiBhG,GAAkB3L,EAAM,CAC7C,SACA,aACA,UACA,SAGEyS,GAAW,GAEXE,GAAW,GACTC,GAAgBvP,EAAIgN,OACHlvB,IAAnBwwB,GACF,IAAS9wB,GAAI,EAAGA,GAAI8wB,GAAehxB,OAAQE,KAKxB,UAJXiyB,GAAWnH,GAAkBgG,GAAe9wB,IAAI,CACpD,QACA,WAGA2xB,GAAQ7G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACvD4xB,GAAW,GAAM7N,SAAS4N,GAAM/J,OAAO,IAAM,KACvB,SAAbqK,KACTJ,GAAQ/G,GAAkBgG,GAAe9wB,IAAI,CAAC,QAAS,SACjDkyB,GAAYnO,SAAS8N,GAAMjK,OAAO,IAAM,IAC9CkK,GAAWI,GAAYH,IAqDpB,OA/CTzwB,GACE,qBACAkuB,EAAI,EACJ,QACAsC,GAAWtP,EACX,IACAoP,GAAWpC,EACX,IACAsC,GAAWtP,EACX,IACAoP,GAAWpC,EACX,KACC,EAAIsC,IAAYtP,EACjB,OACC,EAAIsP,IAAYtP,EACjB,IACAgN,EAAI,EACJ,IACAhN,EACA,KACAgN,EACA,KACC,EAAIsC,IAAYtP,EACjB,KACC,EAAIoP,IAAYpC,EACjB,KACC,EAAIsC,IAAYtP,EACjB,KACC,EAAIoP,IAAYpC,EACjB,IACAsC,GAAWtP,EACX,IACAgN,EACA,IACAsC,GAAWtP,EACX,YACEqN,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,OAAOV,EAAA9qB,OAAA,6BAAA8qB,EAAA9qB,OAAA,sBAsB4B,SA2BzC,GAxBA9J,GAAU,SAEVA,GACE,6BACAw1B,EAAiB3X,EAAMwO,EAAmBC,EAAmB3kB,GAC7D,UACA9J,EACA,WACAysB,EACA,YACA3iB,EACA,WACA8D,EACA,YACAqpB,EAAYpH,EAAeC,EAAqBC,GAChDmH,EAAQrH,EAAeC,EAAqBC,GAC5C,aACA7B,EAdA,sBAiBAkC,EAjBA,eAsBuBjvB,IAArB6e,EAAK,YAAyB,CAAA+W,EAAAxqB,KAAA,UAC1B,OAD0BwqB,EAAA/O,GAChC7lB,EAAM40B,EAAAxqB,KAAA,IAAUqrB,EACd5X,EAAK,YACLwO,EACAC,EACA3kB,EACAuhB,GACD,SANDlpB,EAAM40B,EAAA/O,IAAA+O,EAAAjrB,KAAA,SAQR3J,GAAU,SAAS40B,EAAAxqB,KAAA,2BACOpL,IAAjB+uB,EAA0B,CAAA6G,EAAAxqB,KAAA,UA0EnC,IAvEMspB,GAAclK,GAAkBuE,EAAc,CAAC,cAM/C4F,GAAYnK,GAAkBkK,GAAa,CAAC,SAAU,YACtDE,GAAapK,GAAkBkK,GAAa,CAChD,SACA,WACA,OACA,WACI,CAAEpgB,EAAG,IAAK4D,EAAG,KACb2c,GAAmC,GAA5BpR,SAASmR,GAAc,GAAW,OACzCE,GAAmC,GAA5BrR,SAASmR,GAAc,GAAW,OAC3CzvB,GAAI,IAAM0vB,GAAM,IAAMC,GACpBC,GAAYvK,GAAkBkK,GAAa,CAAC,WAC5CM,GAAYD,GAAU,UACtBE,GAAkBF,GAAU,gBAC5BG,GAAY,QACAl1B,IAAdg1B,IACFxvB,OAAOyH,KAAK+nB,IAAW1rB,SAAQ,SAAUhE,GACvC,IAAMoxB,EAAa1B,GAAU1vB,GAAK,aACftF,IAAf02B,GACFlxB,OAAOyH,KAAKypB,GAAYptB,SAAQ,SAAUqtB,GACxC,IAAMC,EAAQ,CAAC,EACTC,EAAWH,EAAWC,GACtBG,EAAMD,EAAY,EAClBE,EAAMF,EAAY,EAClBG,EAASH,EAAgB,MAC/BD,EAAMjuB,KAAO,OACbiuB,EAAM7J,MAAQiK,EACdJ,EAAMtiB,EAAIwiB,EACVF,EAAM1e,EAAI6e,EACV7B,GAAUv2B,KAAKi4B,EAEjB,GAEJ,SAEsB52B,IAApBi1B,IACFzvB,OAAOyH,KAAKgoB,IAAiB3rB,SAAQ,SAAUhE,GAE7C,IAAM2xB,EAAoBhC,GAAgB3vB,GAAK,aACrBtF,IAAtBi3B,GACFzxB,OAAOyH,KAAKgqB,GAAmB3tB,SAAQ,SAAUqtB,GAE/C,IAAMO,EAAWD,EAAkBN,GACnCnxB,OAAOyH,KAAKiqB,GAAU5tB,SAAQ,SAAU6tB,GAEtC,IAAMP,EAAQ,CAAC,EACTQ,EAAUF,EAASC,GACnBL,EAAMM,EAAW,EACjBL,EAAMK,EAAW,EACjBJ,EAASI,EAAe,MAC9BR,EAAMjuB,KAAO,aACbiuB,EAAM7J,MAAQiK,EACdJ,EAAMtiB,EAAIwiB,EACVF,EAAM1e,EAAI6e,EACV7B,GAAUv2B,KAAKi4B,EACjB,GACF,GAEJ,KAEIzB,GAAcD,GAAUznB,MAAM,IACxB4pB,MAAK,SAAUjyB,EAAGqc,GAC5B,OAAOrc,EAAE2nB,MAAQtL,EAAEsL,KACrB,IAEI7sB,GAAI,EACDA,GAAIi1B,GAAY31B,QACO,SAAxB21B,GAAYj1B,IAAGyI,MACXysB,GAAmC,GAA7B3R,SAAS0R,GAAYj1B,IAAGoU,GAAW,OACzC+gB,GAAmC,GAA7B5R,SAAS0R,GAAYj1B,IAAGgY,GAAW,OAC/C/S,IAAK,IAAMiwB,GAAK,IAAMC,GACtBn1B,OAGMo1B,GAAoC,GAA7B7R,SAAS0R,GAAYj1B,IAAGoU,GAAW,OAC1CihB,GAAoC,GAA7B9R,SAAS0R,GAAYj1B,IAAGgY,GAAW,OAC1Csd,GAAwC,GAAjC/R,SAAS0R,GAAYj1B,GAAI,GAAGoU,GAAW,OAC9CmhB,GAAwC,GAAjChS,SAAS0R,GAAYj1B,GAAI,GAAGgY,GAAW,OAC9Cwd,GAAwC,GAAjCjS,SAAS0R,GAAYj1B,GAAI,GAAGoU,GAAW,OAC9CqhB,GAAwC,GAAjClS,SAAS0R,GAAYj1B,GAAI,GAAGgY,GAAW,OAEpD/S,IACE,IACAmwB,GACA,IACAC,GACA,IACAC,GACA,IACAC,GACA,IACAC,GACA,IACAC,GACFz1B,IAAK,GAkET,GA/DAc,GACE,YACAmE,GACA,YACEoqB,EAIE,gBAAkBV,EAAQ,IAH1BS,EACE,eAAiBT,EAAQ,IACzBQ,GAEN,aACAvW,EAAOe,MACP,mBACAf,EAAOxH,MACP,uBACAwH,EAAOwd,gBACP,UACgBt2B,IAAd20B,UAOqB30B,IAArBmvB,GAC8B,aAA7BA,EAAuB,MACO,UAA7BA,EAAuB,OAEzBnuB,GAAU,qCAAuC6tB,EAAQ,YAGpC7uB,IAArBovB,GAC8B,aAA7BA,EAAuB,MACO,UAA7BA,EAAuB,OAEzBpuB,GAAU,mCAAqC6tB,EAAQ,QAhBzD7tB,GAAU,KAqBZA,GAAU,SAEVA,GACE,6BACAw1B,EAAiB3X,EAAMwO,EAAmBC,EAAmB3kB,GAC7D,UACA9J,EACA,WACAysB,EACA,YACA3iB,EACA,WACA8D,EACA,YACAqpB,EAAYpH,EAAeC,EAAqBC,GAChDmH,EAAQrH,EAAeC,EAAqBC,GAC5C,aACA7B,EAdA,sBAiBAkC,EAjBA,eAsBuBjvB,IAArB6e,EAAK,YAAyB,CAAA+W,EAAAxqB,KAAA,UAC1B,OAD0BwqB,EAAAnL,GAChCzpB,EAAM40B,EAAAxqB,KAAA,IAAUqrB,EACd5X,EAAK,YACLwO,EACAC,EACA3kB,EACAuhB,GACD,SANDlpB,EAAM40B,EAAAnL,IAAAmL,EAAAjrB,KAAA,SAQR3J,GAAU,SAEV40B,EAAAxqB,KAAA,mBAgBwB,OAhBxBwqB,EAAAjL,GAEA3pB,EAAM40B,EAAAhL,GACJ,6BACA4L,EAAiB3X,EAAMwO,EAAmBC,EAAmB3kB,GAC7D,UACA9J,EACA,WACAysB,EACA,YACA3iB,EACA,WACA8D,EACA,YACAqpB,EAAYpH,EAAeC,EAAqBC,GAChDmH,EAAQrH,EAAeC,EAAqBC,GAC5CyH,EAAUxX,GAAM,GAAM+W,EAAAxqB,KAAA,IACf4qB,GAAanX,GAAM,EAAOqL,GAAQ,SAOrC,GAPqC0L,EAAA/K,GAAA+K,EAAAjrB,KAAAirB,EAAA7K,GAAA6K,EAAAhL,GAAAgL,EAAA/K,GAAA+K,EAAA0B,GAAA1B,EAAA7K,GACzC,aAAY6K,EAAA2B,GACZxK,EAAK6I,EAAA4B,GAAA5B,EAAA0B,GAAA1B,EAAA2B,GAAA3B,EAAA6B,IAAA7B,EAAA4B,GACL,IAAG5B,EAAA8B,IAAA9B,EAAA6B,IACH,qBAAoB7B,EAAA+B,IACpB1I,EAAM2G,EAAAgC,IAAAhC,EAAA8B,IAAA9B,EAAA+B,IAAA/B,EAAAiC,IAAAjC,EAAAgC,IACN,QArBF52B,EAAM40B,EAAAjL,IAAAiL,EAAAiC,IAsBJ,UAGuB73B,IAArB6e,EAAK,YAAyB,CAAA+W,EAAAxqB,KAAA,UAC1B,OAD0BwqB,EAAAkC,IAChC92B,EAAM40B,EAAAxqB,KAAA,IAAUqrB,EACd5X,EAAK,YACLwO,EACAC,EACA3kB,EACAuhB,GACD,SANDlpB,EAAM40B,EAAAkC,KAAAlC,EAAAjrB,KAAA,SAQR3J,GAAU,SAAS,gBAAA40B,EAAA9qB,OAAA,SAGd9J,GAAM,0BAAA40B,EAAAloB,OAAA,GAAA8gB,EAAA,MACdrqB,MAAA,KAAA8N,UAAA,UAEc+Z,EAAc+L,EAAAC,GAAA,OAAAC,EAAA9zB,MAAC,KAAD8N,UAAA,UAAAgmB,IA8B5B,OA9B4BA,EAAAhU,GAAAnd,KAAA4F,MAA7B,SAAAwrB,EAA8BrZ,EAAMqL,GAAO,IAAA6C,EAAAoL,EAAAC,EAAAC,EAAAjT,EAAAkT,EAAAC,EAAA/L,EAAAyC,EAAA,OAAAnoB,KAAAc,MAAA,SAAA4wB,GAAA,cAAAA,EAAAjrB,KAAAirB,EAAAptB,MAAA,OAMf,OALpB2hB,EAAQlO,EAAY,MAAS,MAE7BsZ,EAAMtZ,EAAK,cAAc,UAAiB,MAAE,WAC5CuZ,EAAUlO,EAAqB,YAAEiO,GAAa,OAC9CE,GAt1EoB3S,EAs1Ec0S,EAr1EpCK,WAAM/S,EAASgT,YAAY,KACrB,IAARD,IAAsB,IAATA,EAAmB,GAC7B/S,EAAS4B,OAAO5B,EAASgT,YAAY,KAAO,IAm1EAC,cAC3CvT,EAAM8E,EAAa,IAACsO,EAAAptB,KAAA,EACGga,EAAIW,KAAKqS,GAAStrB,MAAM,eAAc,OAM3B,OANlCwrB,EAAcE,EAAA7tB,KACL,GACT6hB,EAAW3N,EAAK,UAAU,UAE1BoQ,EAAS4G,GAAehX,EAAK,UAAU,UAAiB,MAAO,KAErE0Z,EAAWK,GAAiBP,GAAYG,EAAA1tB,OAAA,SAEtC,qCACAgrB,EAAYtJ,OAAUxsB,OAAWA,GACjC+1B,EAAQvJ,OAAUxsB,OAAWA,GAC7B,aACA+sB,EAJA,sBAOAkC,EAPA,yBAUAsJ,EACA,WACArU,GAAkBoU,GAClB,+CAA6C,yBAAAE,EAAA9qB,OA72EnD,IAA8BgY,EACtB+S,CA42E2C,GAAAP,EAAA,MAEhD/zB,MAAA,KAAA8N,UAAA,UAEcga,EAAuB4M,EAAAC,GAAA,OAAAC,EAAA50B,MAAC,KAAD8N,UAAA,CAyBtC,SAAA8mB,IAFC,OAEDA,EAAA9U,GAAAnd,KAAA4F,MAzBA,SAAAssB,EAAuCna,EAAMqL,GAAO,IAAAlpB,EAAAi4B,EAAA,OAAAnyB,KAAAc,MAAA,SAAAsxB,GAAA,cAAAA,EAAA3rB,KAAA2rB,EAAA9tB,MAAA,OAC9CpK,EAAS,GACPi4B,EAAiBzO,GAAkB3L,EAAM,CAC7C,YACA,gBACA,QACA,QACAqa,EAAAtS,GAEMqS,EAAcC,EAAA9tB,KACf,2DADe8tB,EAAAtS,GACyC,EAGxD,2DAHwDsS,EAAAtS,GAGA,EAGxD,6DAHwDsS,EAAAtS,GAGE,0BAAAsS,EAAA9tB,KAAA,EAL9C+tB,EAASta,EAAMqL,GAAQ,OAGA,QAAhC,OAANlpB,EAAMk4B,EAAAvuB,KAAAuuB,EAAApuB,OAAA,YAHA,cAAAouB,EAAA9tB,KAAG,GAGMguB,EAASva,EAAMqL,GAAxB,QAG6B,OAAnClpB,EAASq4B,EAAWxa,EAAMqL,GAASgP,EAAApuB,OAAA,2BAAAouB,EAAApuB,OAAA,SAKhC9J,GAAM,yBAAAk4B,EAAAxrB,OAAA,GAAAsrB,EAAA,MACd70B,MAAA,KAAA8N,UAAA,UAwBcwkB,EAAW6C,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,OAAAC,EAAAx1B,MAAC,KAAD8N,UAAA,UAAA0nB,IAmJzB,OAnJyBA,EAAA1V,GAAAnd,KAAA4F,MAA1B,SAAAktB,EACEC,EACAxM,EACAC,EACA3kB,EACAuhB,GAAO,IAAA7O,EAAAoO,EAAAqQ,EAAAC,EAAAr6B,EAAA8V,EAAAwkB,EAAA,OAAAlzB,KAAAc,MAAA,SAAAqyB,GAAA,cAAAA,EAAA1sB,KAAA0sB,EAAA7uB,MAAA,OAGuD,GAD1DiQ,EAAO,GACLoO,EAAwBS,EAA+B,2BAExClqB,IAAjB65B,EAA0B,CAAAI,EAAA7uB,KAAA,eAAA6uB,EAAAnvB,OAAA,SACrBuQ,GAAI,UAQTwe,EAAa,OAAOrtB,cAAgBsC,MAAK,CAAAmrB,EAAA7uB,KAAA,SAElC1L,EAAI,EAAC,YAAEA,EAAIm6B,EAAa,OAAOr6B,QAAM,CAAAy6B,EAAA7uB,KAAA,SAiBxC,OAhBJ0uB,EAAQD,EAAa,OAAOn6B,GAC5Bq6B,EAAQD,EAAM,OAKdze,GACE,gBACA6e,EACEJ,EACAzM,EACAC,EACA3kB,EACA8gB,GAEF,KAAKwQ,EAAArT,GACPvL,EAAI4e,EAAA7uB,KAAA,GAAU+uB,EACZL,EACAzM,EACAC,EACA3kB,EACAuhB,GACD,QAED,GARA7O,EAAI4e,EAAArT,IAAAqT,EAAAtvB,UAQU3K,IAAV+5B,EAEF1e,GAAQ+e,EACNN,EACAzM,EACAC,EACA3kB,EACAuhB,QAEG,GAAI6P,EAAMvtB,cAAgBsC,MAE/B,IAAS0G,EAAI,EAAGA,EAAIukB,EAAMv6B,OAAQgW,IAChC6F,GAAQ+e,EACNL,EAAMvkB,GACN6X,EACAC,EACA3kB,EACAuhB,QAGoBlqB,IAAlB85B,EAAM,UACRze,GAAQ,aAMZA,GAAQ+e,EACNL,EACA1M,EACAC,EACA3kB,EACAuhB,GAGJ7O,GAAQ,SAAS,QA5D6B3b,IAAGu6B,EAAA7uB,KAAA,gBAAA6uB,EAAA7uB,KAAA,iBAgF/C,OAhBJ0uB,EAAQD,EAAa,OACrBE,EAAQD,EAAM,OAKdze,GACE,4BACA6e,EACEJ,EACAzM,EACAC,EACA3kB,EACA8gB,GAEF,KAAKwQ,EAAApT,GACPxL,EAAI4e,EAAA7uB,KAAA,GAAU+uB,EACZL,EACAzM,EACAC,EACA3kB,EACAuhB,GACD,QACD,GAPA7O,EAAI4e,EAAApT,IAAAoT,EAAAtvB,UAOU3K,IAAV+5B,EAEF1e,GAAQ+e,EACNN,EACAzM,EACAC,EACA3kB,EACAuhB,QAEG,GAAI6P,EAAMvtB,cAAgBsC,MAE/B,IAAS0G,EAAI,EAAGA,EAAIukB,EAAMv6B,OAAQgW,IAChC6F,GAAQ+e,EACNL,EAAMvkB,GACN6X,EACAC,EACA3kB,EACAuhB,QAGoBlqB,IAAlB85B,EAAM,UACRze,GAAQ,aAMZA,GAAQ+e,EACNL,EACA1M,EACAC,EACA3kB,EACAuhB,GAGJ7O,GAAQ,SAAS,eAAA4e,EAAAnvB,OAAA,SAGZuQ,GAAI,yBAAA4e,EAAAvsB,OAAA,GAAAksB,EAAA,MACZz1B,MAAA,KAAA8N,UAAA,UAEckoB,EAASE,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,OAAAC,EAAAv2B,MAAC,KAAD8N,UAAA,UAAAyoB,IAuRvB,OAvRuBA,EAAAzW,GAAAnd,KAAA4F,MAAxB,SAAAiuB,EACE9b,EACAwO,EACAC,EACA3kB,EACAuhB,GAAO,IAAA0Q,EAAAb,EAAAc,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/D,EAAAgE,EAAAC,EAAA,OAAAz1B,KAAAc,MAAA,SAAA40B,GAAA,cAAAA,EAAAjvB,KAAAivB,EAAApxB,MAAA,OAyGP,GAtGMwvB,EAAmB1Q,EAA+B,2BAI1ClqB,KAFR+5B,EAAQlb,EAAK,SAGjBgc,EAAgB4B,EAAa1C,EAAOpxB,EAAMiyB,GAC1CE,EAAe4B,EACb3C,EACA1M,EACAC,EACA3kB,EACAiyB,KAGFC,EAAgB4B,EAAa5d,EAAMlW,EAAMiyB,GACzCE,EAAe4B,EACb7d,EACAwO,EACAC,EACA3kB,EACAiyB,IAKAK,EAAS,GAGPC,EAAUrc,EAAK,SAGfsc,EAAY3Q,GAAkB0Q,EAAS,CAAC,QAAS,QACnDE,GAAQ,OACMp7B,IAAdm7B,GAAyC,MAAdA,IAC7BC,GAAQ,GAINC,EAAM5X,SAAS+G,GAAkB0Q,EAAS,CAAC,QAAS,SACpD/uB,MAAMkvB,KACRA,EAAM,GAGFC,EAAS9Q,GAAkB0Q,EAAS,CAAC,WAAY,QAAS,SAE5DK,EAAS,YACPC,EAAQhR,GAAkB0Q,EAAS,CAAC,cAAe,QAAS,SAC5DO,EAAQjR,GAAkB0Q,EAAS,CAAC,kBAC3Bl7B,IAAXs7B,IACFC,EAAS,oBAGGv7B,IAAVw7B,IACFD,EAAS,qBAEGv7B,IAAVy7B,IACFF,EAAS,eAII,cAAXA,IACFG,EAAclR,GAAkB0Q,EAAS,CAAC,WAAY,WAMpDS,EAAe,OAEfT,QAEgBl7B,KADZ47B,EAAYV,EAAQ,cAExBS,EAAegB,GAAaf,IAO9Bb,EADmB,SAAjBY,EACUd,EAEA,IAAMc,OAKD37B,KADnB67B,EAAarR,GAAkB0Q,EAAS,CAAC,YAAa,QAAS,SAE7DF,EAAWvX,SAASoY,GAAc,IAAM,UAGrB77B,KADnB67B,EAAarR,GAAkB0Q,EAAS,CAAC,YAAa,QAAS,UAEvDY,EAAQrY,SAASoY,GAAc,IAE/BE,EAAmBjB,EAAaxT,OACpC,EACAwT,EAAat7B,OAAS,GAExBw7B,EAAWc,EAAQrY,SAASsY,GAAoB,MAEhDf,EAAWF,EAMA,gBAAXS,EAAwB,CAAAiB,EAAApxB,KAAA,cAENpL,IAAhB07B,GACFM,EAC6D,GAA1DvY,SAAS+G,GAAkB0Q,EAAS,CAAC,QAAS,UAC/C,OACFe,EAAcxY,SAASiY,EAAyB,aAC5CvvB,MAAM6vB,KACRA,EAAc,SAAe,QAE3B7vB,MAAM8vB,KACRA,EAAc,GAEVC,EAAWR,EAAsB,SAEvCT,EACE,6BACAiB,EACA,kBACAF,EAAaX,EAHb,qBAMAY,EANA,YASAlB,EACA,cACAC,EACA,IACEI,IACFH,GAAU,iCAEZA,GAAU,KAAOK,EAAS,WAI1BL,EACE,8BAHFe,EAAe,SAAe,OAAUX,GAKtC,QACAC,EACA,UACHkB,EAAApxB,KAAA,oBACmB,iBAAXmwB,EAAyB,CAAAiB,EAAApxB,KAAA,cAEdpL,IAAhB07B,GACFM,EAC6D,GAA1DvY,SAAS+G,GAAkB0Q,EAAS,CAAC,QAAS,UAC/C,OACFe,EAAcxY,SAASiY,EAAyB,aAE5CvvB,MAAM6vB,KACRA,EAAc,SAAe,QAE3B7vB,MAAM8vB,KACRA,EAAc,GAIhBhB,EACE,6BACAe,EAAaX,EADb,qBAIAY,EAJA,YAOAlB,EACA,cACAC,EACA,IAEAC,GADEG,EACQ,gCAEA,+BAEZH,GACE,uBACAO,EACA,sBACAH,EACA,2CAGFJ,EAAS,8BADTe,EAAe,SAAe,OAAUX,GACa,MAEnDJ,GADEG,EACQ,gCAEA,+BAEZH,GACE,uBACAO,EACA,sBACAH,EACA,0CACHmB,EAAApxB,KAAA,oBACmB,gBAAXmwB,EAAwB,CAAAiB,EAAApxB,KAAA,SAmBjC,GAjBA4wB,EAC6D,GAA1DvY,SAAS+G,GAAkB0Q,EAAS,CAAC,QAAS,UAAkB,OACnEe,EAC6D,GAA1DxY,SAAS+G,GAAkB0Q,EAAS,CAAC,QAAS,UAAkB,OAE/D/uB,MAAM8vB,KACRA,EAAc,GAKdD,EADE7vB,MAAM6vB,GACM,SAAe,OAEhB,OAMCh8B,KAHVm8B,EAAU3R,GAAkBiR,EAAO,CAAC,SAAU,QAAS,aAGpC,CAAAe,EAAApxB,KAAA,SAKkC,OAAnDixB,EAAUnS,EAAqB,YAAEiS,GAAiB,OAACK,EAAApxB,KAAA,GAC5B8e,EAAa,IACvCnE,KAAKsW,GACLvvB,MAAM,eAAc,QAFjBwrB,EAAckE,EAAA7xB,KAGd2xB,EAASD,EAAQpiB,MAAM,KAAK5M,MAC5BkvB,EAAc3D,GAAiB0D,GACrCF,EACE,kBACAG,EACA,WACArY,GAAkBoU,GAClB,wCACF,aAEct4B,IAAZm8B,IACFC,EAAQ,WAEVnB,EACE,6BACAe,EAAaX,EADb,qBAIAY,EAJA,YAOAjB,EACA,2BACEI,IACFH,GAAU,+BAEZA,GAAU,KAAOmB,EAAQ,YACzBI,EAAApxB,KAAA,iBAEA6vB,EACE,6BACE,SAAe,OAAUI,EAD3B,kCAKe,eAAAmB,EAAA1xB,OAAA,SAGZmwB,GAAM,yBAAAuB,EAAA9uB,OAAA,GAAAitB,EAAA,MACdx2B,MAAA,KAAA8N,UAAA,CAED,SAASmoB,EACPvb,EACAwO,EACAC,EACA3kB,EACAuhB,GAEA,IAAMT,EAAwBS,EAA+B,sBAEzD7O,EAAOwD,EAAK,OACI,iBAATxD,GAAuBA,aAAgB5I,QAE5B,iBADpB4I,EAAOmP,GAAkB3L,EAAM,CAAC,QAAS,UACPxD,aAAgB5I,SAChD4I,EAAO,UAIX,IAAIuhB,EACF,SACAH,EAAa5d,EAAMlW,EAAM8gB,GACzB,cACAiT,EACE7d,EACAwO,EACAC,EACA3kB,EACA8gB,GAEF,gBAouBJ,SAAqB5K,EAAMlW,EAAM8gB,GAC/B,IAAIyS,EAAW1R,GAAkB3L,EAAM,CACrC,QACA,UACA,QACA,aAGF,QAAiB7e,IAAbk8B,EAAwB,CAC1B,IAAMW,EAAiBrS,GAAkB3F,EAAc,CACrD,UACA,kBACA,iBAGAqX,EAAW1R,GAAkBqS,EADlB,UAATl0B,GAA6B,aAATA,GAAgC,aAATA,EACA,CAC3C,cACA,UACA,QACA,YAG2C,CAC3C,cACA,UACA,QACA,YAUN,CAEA,YAAoB3I,IAAbk8B,EAAyB,UAAYA,CAC9C,CA1wBIY,CAAYje,EAAMlW,GAClB,gBAo1BJ,SAAqBkW,EAAMlW,EAAM8gB,GAC/B,YAAyBzpB,IAAlB6e,EAAK,UAA0D,MAAhCA,EAAK,SAAgB,MAAK,EAC5D,OACA,SACN,CAv1BIke,CAAYle,GACZ,eAw1BJ,SAAuBA,EAAMlW,EAAM8gB,GACjC,YAAyBzpB,IAAlB6e,EAAK,UAA0D,MAAhCA,EAAK,SAAgB,MAAK,EAC5D,SACA,QACN,CA31BIme,CAAcne,GACd,oBA41BJ,SAA2BA,EAAMlW,EAAM8gB,GAErC,QAAsBzpB,IAAlB6e,EAAK,SAAwB,CAC/B,IAAMoe,OAC4Bj9B,IAAhC6e,EAAK,SAAgB,MAAK,EACtBA,EAAK,SAAgB,MAAK,EAC1B,OACAqe,OACiCl9B,IAArC6e,EAAK,SAAgB,MAAU,OAC3BA,EAAK,SAAgB,MAAU,OAC/B,WAGN,MAAkB,SAAdoe,GAA0C,aAAlBC,EACnB,YACgB,SAAdD,GAA0C,aAAlBC,EAC1B,eACgB,SAAdD,GAA0C,aAAlBC,EAC1B,yBAEA,SAEX,CACE,MAAO,SAIX,CAt3BIC,CAAkBte,GAClB,eAw3BJ,SAAgCA,EAAMlW,EAAM8gB,GAC1C,IAAM2T,EAAU5S,GAAkB3L,EAAM,CAAC,QAAS,QAAS,SACvDwe,EAAQ,UACZ,QAAgBr9B,IAAZo9B,EACF,OAAQA,GACN,IAAK,IACHC,EAAQ,OACR,MAEF,IAAK,IACHA,EAAQ,QACR,MAEF,IAAK,MACHA,EAAQ,SACR,MAEF,IAAK,OAIL,IAAK,OACHA,EAAQ,UACR,MAEF,QACEA,EAAQ,UAGd,OAAOA,CACT,CAr5BIC,CAAuBze,GACvB,mBAu5BJ,SAA8BA,EAAMlW,EAAM8gB,GACxC,IAAM8T,EAAW/S,GAAkB3L,EAAM,CAAC,QAAS,QAAS,aAC5D,YAAoB7e,IAAbu9B,EACH,WACA9Z,SAAS8Z,GAAY,IAAO,GAClC,CA35BIC,CAAqB3e,GACrB,IAEI4e,EAAYjT,GAAkB3L,EAAM,CAAC,QAAS,qBAClC7e,IAAdy9B,IACFb,GAAa,qBAAuBD,GAAac,GAAa,IAC9Db,GAAa,WAAac,GAAgBD,GAAa,KAGzD,IAAIE,EAAU,GAEVf,KAAa7X,EACf4Y,EAAU5Y,EAAW6X,GAAiB,MAEtCe,EAAU,SAAWn4B,OAAOyH,KAAK8X,GAAYvlB,OAAS,GACtDulB,EAAW6X,GAAa,CACtBnwB,KAAMkxB,EACNtiB,KAAMuhB,IAIV,IAAMgB,EAASpT,GAAkB3L,EAAM,CACrC,QACA,eACA,QACA,SAGF,YAAe7e,IAAX49B,EAGA,2BACAD,EACA,cAJczT,EAAqB,YAAE0T,GAAgB,OAMrD,qBACAviB,EAAKiP,QAAQ,MAAO,UACpB,cAIA,2BACAqT,EACA,KACAtiB,EAAKiP,QAAQ,MAAO,UACpB,SAGN,CAEA,SAASjE,IACP,IAAI7hB,EAAU,GACd,IAAK,IAAIc,KAAOyf,EACdvgB,GACE,YACAugB,EAAWzf,GAAW,KACtB,IACAyf,EAAWzf,GAAW,KACtB,MAEJ,OAAOd,CACT,CAAC,SAEc20B,EAAQ0E,EAAAC,GAAA,OAAAC,EAAA55B,MAAC,KAAD8N,UAAA,UAAA8rB,IA4ZtB,OA5ZsBA,EAAA9Z,GAAAnd,KAAA4F,MAAvB,SAAAsxB,EAAwBnf,EAAMqL,GAAO,IAAA6C,EAAAkR,EAAAzR,EAAA0R,EAAAC,EAAAC,EAAAhD,EAAAiD,EAAAC,EAAAC,EAAAC,EAAA9+B,EAAA++B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA5+B,EAAAmvB,EAAA0P,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAnqB,EAAA6F,EAAAukB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAngC,GAAAogC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA,OAAAj7B,KAAAc,MAAA,SAAAo6B,GAAA,cAAAA,EAAAz0B,KAAAy0B,EAAA52B,MAAA,OA6CF,GA5C3B2hB,EAAQlO,EAAY,MAAS,MAC7Bof,EAAYzT,GAAkB3L,EAAM,CACxC,YACA,gBACA,UAEI2N,EAAWhC,GAAkB3L,EAAM,CAAC,WAEpCqf,EAAW1T,GAAkB3L,EAAM,CACvC,YACA,gBACA,QACA,YAEIsf,EAAc3T,GAAkB3L,EAAM,CAC1C,YACA,gBACA,QACA,YACA,cAEEuf,EAAS,QACIp+B,IAAbk+B,IACI9C,EAAQ8C,EAAgB,MAAO,IACrCE,EAAmB,IAAVhD,EAAc,UAAY,WAE/BiD,EAAeH,EAAgB,MAAY,SAI3CI,EAAcJ,EAAgB,MAAW,QAI3CK,EACF,UACAH,EACA,qCACAtI,EAAYtJ,OAAUxsB,OAAWA,GACjC+1B,EAAQvJ,OAAUxsB,OAAWA,GAC7B,aACA+sB,EACA,OAEIyR,EAAUP,EAAU,SACdzxB,cAAgBsC,MAAK,CAAAkzB,EAAA52B,KAAA,SACtB1L,EAAI,EAAC,aAAEA,EAAI8+B,EAAQh/B,QAAM,CAAAwiC,EAAA52B,KAAA,SAehC,GAbMqzB,EAAiBD,EAAQ9+B,GAAU,MAAK,EAC1Cg/B,EAAY,EACZC,EAAW,QACQ3+B,IAAnBy+B,IACFC,EAAwC,GAA3Bjb,SAASgb,GAAwB,OAC9CE,GAAY,UAAYD,EAAY,OAMlCE,EAAe,CAAC,OAEA5+B,KADd6+B,EAAcX,EAAS,mBAM3B,IAFMY,EAAera,EAAY,iBAAiB,eAAiB,GAE1DvkB,EAAI,EAAGA,EAAI4+B,EAAat/B,OAAQU,IACnC4+B,EAAa5+B,GAAU,MAAW,UAAM2+B,IAC1CD,EAAeE,EAAa5+B,IAoKA,GA/JxB,IAANR,QAA4BM,IAAjBq+B,GACThP,EAAY,MACZ0P,EAAe,OACgB/+B,IAA/B4+B,EAAa,qBAOS5+B,KANlBg/B,EAAkBxU,GAAkBoU,EAAc,CACtD,aACA,YACA,SACA,mBAGAvP,EAAYsN,GAAaqC,GACzBD,EAAerB,GAAgBsB,SAWdh/B,KALbi/B,EAAazU,GAAkBoU,EAAc,CACjD,aACA,YACA,eAGMM,EAAa+C,EAAgBhD,GACnCN,GAAYO,GAKK1U,GAAkBoU,EAAc,CACjD,aACA,iBAiBJD,GACE,sBACAtP,EADA,aAIA0P,EACA,KACOr/B,EAAI,QAAqBM,IAAhBs+B,IACdjP,EAAY,MACZ0P,EAAe,EACfr/B,EAAI,GAAM,OACqBM,IAA7B4+B,EAAa,mBAQS5+B,KANlBg/B,EAAkBxU,GAAkBoU,EAAc,CACtD,WACA,YACA,SACA,mBAGAvP,EAAYsN,GAAaqC,GACzBD,EAAerB,GAAgBsB,SASdh/B,KALbi/B,EAAazU,GAAkBoU,EAAc,CACjD,WACA,YACA,eAGMM,EAAa+C,EAAgBhD,GACnCN,GAAYO,GAKK1U,GAAkBoU,EAAc,CACjD,WACA,sBA2B6B5+B,IAA7B4+B,EAAa,mBAOS5+B,KANlBg/B,EAAkBxU,GAAkBoU,EAAc,CACtD,WACA,YACA,SACA,mBAGAvP,EAAYsN,GAAaqC,GACzBD,EAAerB,GAAgBsB,SASdh/B,KALbi/B,EAAazU,GAAkBoU,EAAc,CACjD,WACA,YACA,eAGMM,EAAa+C,EAAgBhD,GACnCN,GAAYO,GAKK1U,GAAkBoU,EAAc,CACjD,WACA,iBAMND,GACE,sBACAtP,EADA,aAIA0P,EACA,KAEJR,GAAa,cAAgBI,EAAW,MAGlCgB,EAAUnB,EAAQ9+B,GAAG,SAEf8M,cAAgBsC,MAAK,CAAAkzB,EAAA52B,KAAA,SACtBoK,EAAI,EAAC,aAAEA,EAAImqB,EAAQngC,QAAM,CAAAwiC,EAAA52B,KAAA,gBAAA42B,EAAA52B,KAAA,GACbqrB,EACjBkJ,EAAQnqB,GAAG,iBACXxV,OACAA,OACAA,EACAkqB,GACD,QAoBD,GA1BM7O,EAAI2mB,EAAAr3B,KAOJi1B,EAAUpV,GAAkBmV,EAAQnqB,GAAI,CAAC,QAAS,YAClDqqB,EAAUrV,GAAkBmV,EAAQnqB,GAAI,CAC5C,QACA,aAEIsqB,EAAStV,GAAkBmV,EAAQnqB,GAAI,CAAC,QAAS,WACjDuqB,EAASvV,GAAkBmV,EAAQnqB,GAAI,CAAC,QAAS,WAIjDwqB,EAAgB7B,EAAY3oB,GAAU,MAAK,EAC7CyqB,EAAU,QACQjgC,IAAlBggC,IACIE,EAAsC,GAA1Bzc,SAASuc,GAAuB,OAClDC,GAAW,SAAWC,EAAW,OAE7BC,EAAUR,EAAQnqB,GAAG,UAAU,eACjC6Z,EAAY,GACZ0P,EAAe,OACH/+B,IAAZmgC,EAEF9Q,EAAYsN,GAAawD,GACzBpB,EAAerB,GAAgByC,QAK/B,QAAoBngC,IADAk+B,EAAS,kBAO3B,IAHMY,EACJra,EAAY,iBAAiB,eAAiB,GAEvCvkB,GAAI,EAAGA,GAAI4+B,EAAat/B,OAAQU,KACnC4+B,EAAa5+B,IAAU,MAAW,QAO1B,KAAdmvB,IACF4Q,GAAW,sBAAwB5Q,EAAY,IAC/C4Q,GAAW,WAAalB,EAAe,UAKzB/+B,IAAZ4/B,EACFrB,GACE,gBACA9a,SAASmc,GACT,YACAK,EACA,KACA5kB,EACA,aACmBrb,IAAZ6/B,EACTtB,GACE,gBACA9a,SAASoc,GACT,YACAI,EACA,KACA5kB,EACA,aACkBrb,IAAX8/B,QAAmC9/B,IAAX+/B,IACjCxB,GAAa,cAAgB0B,EAAU,KAAO5kB,EAAO,SACtD,QA5EiC7F,IAAGwsB,EAAA52B,KAAA,iBAAA42B,EAAA52B,KAAA,wBAAA42B,EAAA52B,KAAA,GA+EpBqrB,EAAYkJ,EAAQ,aAAY,QAA7CtkB,GAAI2mB,EAAAr3B,KAEJq1B,GAAgB7B,EAAY,GAAU,MAAK,EAC7C8B,GAAU,QACQjgC,IAAlBggC,KACIE,GAAsC,GAA1Bzc,SAASuc,IAAuB,OAClDC,IAAW,SAAWC,GAAW,OAE7BC,GAAUR,EAAQ,UAAU,eAC9BtQ,GAAY,GACZ0P,GAAe,OACH/+B,IAAZmgC,KAEF9Q,GAAYsN,GAAawD,IACzBpB,GAAerB,GAAgByC,KAIf,KAAd9Q,KACF4Q,IAAW,sBAAwB5Q,GAAY,IAC/C4Q,IAAW,WAAalB,GAAe,KAGzCR,GAAa,cAAgB0B,GAAU,KAAO5kB,GAAO,QAAQ,QAE/DkjB,GAAa,QAAQ,QArSa7+B,IAAGsiC,EAAA52B,KAAA,iBAAA42B,EAAA52B,KAAA,kBAkTR,GATzBqzB,GAAiBD,EAAe,MAAK,EACvCE,GAAY,OACO1+B,IAAnBy+B,IACFC,GAAwC,GAA3Bjb,SAASgb,IAAwB,OAC9CF,GAAa,qBAAuBG,GAAY,SAEhDH,GAAa,QAGToB,GAAUnB,EAAQ,SACZhyB,cAAgBsC,MAAK,CAAAkzB,EAAA52B,KAAA,SACtBoK,GAAI,EAAC,aAAEA,GAAImqB,GAAQngC,QAAM,CAAAwiC,EAAA52B,KAAA,gBAAA42B,EAAA52B,KAAA,GACbqrB,EAAYkJ,GAAQnqB,IAAG,aAAY,QAAhD6F,GAAI2mB,EAAAr3B,KAEJq1B,GAAgB7B,EAAY3oB,IAAU,MAAK,EAC7CyqB,GAAU,QACQjgC,IAAlBggC,KACIE,GAAsC,GAA1Bzc,SAASuc,IAAuB,OAClDC,IAAW,SAAWC,GAAW,OAE7BC,GAAUR,GAAQnqB,IAAG,UAAU,eACjC6Z,GAAY,GACZ0P,GAAe,OACH/+B,IAAZmgC,KACF9Q,GAAYsN,GAAawD,IACzBpB,GAAerB,GAAgByC,KAMf,KAAd9Q,KACF4Q,IAAW,sBAAwB5Q,GAAY,IAC/C4Q,IAAW,WAAalB,GAAe,KAGzCR,GAAa,cAAgB0B,GAAU,KAAO5kB,GAAO,QAAQ,QAzB3B7F,KAAGwsB,EAAA52B,KAAA,iBAAA42B,EAAA52B,KAAA,yBAAA42B,EAAA52B,KAAA,GA4BpBqrB,EAAYkJ,GAAQ,aAAY,QAA7CtkB,GAAI2mB,EAAAr3B,KAEJq1B,GAAgB7B,EAAY,GAAU,MAAK,EAC7C8B,GAAU,QACQjgC,IAAlBggC,KACIE,GAAsC,GAA1Bzc,SAASuc,IAAuB,OAClDC,IAAW,SAAWC,GAAW,OAE7BC,GAAUR,GAAQ,UAAU,eAC9BtQ,GAAY,GACZ0P,GAAe,OACH/+B,IAAZmgC,KAEF9Q,GAAYsN,GAAawD,IACzBpB,GAAerB,GAAgByC,KAIf,KAAd9Q,KACF4Q,IAAW,sBAAwB5Q,GAAY,IAC/C4Q,IAAW,WAAalB,GAAe,KAGzCR,GAAa,cAAgB0B,GAAU,KAAO5kB,GAAO,QAAQ,SAE/DkjB,GAAa,QAAQ,gBAAAyD,EAAAl3B,OAAA,SAGhByzB,GAAS,0BAAAyD,EAAAt0B,OAAA,GAAAswB,EAAA,MACjB75B,MAAA,KAAA8N,UAAA,UAEcmnB,EAAQ8I,EAAAC,GAAA,OAAAC,EAAAj+B,MAAC,KAAD8N,UAAA,UAAAmwB,IAmGtB,OAnGsBA,EAAAne,GAAAnd,KAAA4F,MAAvB,SAAA21B,EAAwBxjB,EAAMqL,GAAO,IAAA6C,EAAAP,EAAAxrB,EAAAm3B,EAAAmK,EAAAjjC,EAAAkjC,EAAAC,EAAAl9B,EAAA,OAAAwB,KAAAc,MAAA,SAAA66B,GAAA,cAAAA,EAAAl1B,KAAAk1B,EAAAr3B,MAAA,OAckB,OAb/C2hB,EAAQlO,EAAY,MAAS,MAC7B2N,EAAWhC,GAAkB3L,EAAM,CAAC,WACpC7d,EACJ,iBACA4jB,EACA,kCACAkR,EAAYtJ,OAAUxsB,OAAWA,GACjC+1B,EAAQvJ,OAAUxsB,OAAWA,GAC7B,aACA+sB,EACA,YAEIoL,EAAMtZ,EAAK,aAAa,iBAAiB,WAAkB,MAAE,QAC7DyjB,EAAUpY,EAAqB,YAAEiO,GAAa,OAACsK,EAAAr3B,KAAA,EAC/B+a,EAAY+D,EAAa,IAAGoY,GAAQ,OAApDjjC,EAAOojC,EAAA93B,KACP43B,EAAW/X,GAAkBnrB,EAAS,CAC1C,eACA,UACA,eAGEmjC,EAAY,KAAIC,EAAA7b,GAAA9f,KAAAmG,KACJs1B,GAAQ,YAAAE,EAAA5b,GAAA4b,EAAA7b,MAAA7b,KAAE,CAAF03B,EAAAr3B,KAAA,SAAf9F,EAAGm9B,EAAA5b,GAAA1gB,MAAAs8B,EAAAhY,GACFnlB,EAAGm9B,EAAAr3B,KACJ,gBADIq3B,EAAAhY,GACS,GAUb,eAVagY,EAAAhY,GAUD,GAUZ,eAVYgY,EAAAhY,GAUA,GAUZ,iBAVYgY,EAAAhY,GAUE,GAUd,gBAVcgY,EAAAhY,GAUD,GAUb,mBAVagY,EAAAhY,GAUG,GAUhB,YAVgBgY,EAAAhY,GAUP,GAET,YAFSgY,EAAAhY,GAEA,oBAtDV,OAPF+X,EAAY,CACV75B,KAAM,cACNhI,KAAM,CACJikB,QAAS,QAAUA,EACnB8d,UAAW,YACXF,UAAWG,GAAiBJ,EAASj9B,GAAK,YAE5Cm9B,EAAA33B,OAAA,oBAUA,OAPF03B,EAAY,CACV75B,KAAM,cACNhI,KAAM,CACJikB,QAAS,QAAUA,EACnB8d,UAAW,WACXF,UAAWG,GAAiBJ,EAASj9B,GAAK,YAE5Cm9B,EAAA33B,OAAA,oBAUA,OAPF03B,EAAY,CACV75B,KAAM,cACNhI,KAAM,CACJikB,QAAS,QAAUA,EACnB8d,UAAW,WACXF,UAAWG,GAAiBJ,EAASj9B,GAAK,YAE5Cm9B,EAAA33B,OAAA,oBAUA,OAPF03B,EAAY,CACV75B,KAAM,cACNhI,KAAM,CACJikB,QAAS,QAAUA,EACnB8d,UAAW,aACXF,UAAWG,GAAiBJ,EAASj9B,GAAK,YAE5Cm9B,EAAA33B,OAAA,oBAUA,OAPF03B,EAAY,CACV75B,KAAM,cACNhI,KAAM,CACJikB,QAAS,QAAUA,EACnB8d,UAAW,YACXF,UAAWG,GAAiBJ,EAASj9B,GAAK,YAE5Cm9B,EAAA33B,OAAA,oBAUA,OAPF03B,EAAY,CACV75B,KAAM,cACNhI,KAAM,CACJikB,QAAS,QAAUA,EACnB8d,UAAW,eACXF,UAAWG,GAAiBJ,EAASj9B,GAAK,YAE5Cm9B,EAAA33B,OAAA,mCAAA23B,EAAA33B,OAAA,oBAAA23B,EAAAr3B,KAAA,iBAcE,OAJQ,OAAdo3B,GACF7d,EAAOhmB,KAAK6jC,GAGd5d,IAAU6d,EAAA33B,OAAA,SACH9J,GAAM,yBAAAyhC,EAAA/0B,OAAA,GAAA20B,EAAA,MACdl+B,MAAA,KAAA8N,UAAA,CAED,SAASonB,EAAWxa,EAAMqL,GAExB,IAAMsC,EAAWhC,GAAkB3L,EAAM,CAAC,WAC1C,MACE,wDACAiX,EAAYtJ,OAAUxsB,OAAWA,GACjC+1B,EAAQvJ,OAAUxsB,OAAWA,GAC7B,uBAEJ,CAEA,SAAS81B,EAAY8M,EAAavV,EAAmBC,GACnD,IAAIuV,EACAvuB,GAAK,EACL4D,GAAK,EAUT,YARoBlY,IAAhB4iC,EACFC,EAAMD,EAAY,SAAgB,WACH5iC,IAAtBqtB,EACTwV,EAAMxV,EAAkB,SAAgB,WACTrtB,IAAtBstB,IACTuV,EAAMvV,EAAkB,SAAgB,YAG9BttB,IAAR6iC,EACK,IAEPvuB,EAA0B,GAArBmP,SAASof,EAAO,GAAW,OAChC3qB,EAA0B,GAArBuL,SAASof,EAAO,GAAW,OACzB12B,MAAMmI,IAAMnI,MAAM+L,GAAK,GAAK,OAASA,EAAI,YAAc5D,EAAI,MAEtE,CAEA,SAASyhB,EAAQ6M,EAAavV,EAAmBC,GAC/C,IAAIkC,EACAN,GAAK,EACLhN,GAAK,EAUT,YARoBliB,IAAhB4iC,EACFpT,EAAMoT,EAAY,SAAgB,WACH5iC,IAAtBqtB,EACTmC,EAAMnC,EAAkB,SAAgB,WACTrtB,IAAtBstB,IACTkC,EAAMlC,EAAkB,SAAgB,YAG9BttB,IAARwvB,EACK,IAEPN,EAA2B,GAAtBzL,SAAS+L,EAAQ,IAAW,OACjCtN,EAA2B,GAAtBuB,SAAS+L,EAAQ,IAAW,OAC1BrjB,MAAM+iB,IAAM/iB,MAAM+V,GACrB,GACA,SAAWgN,EAAI,cAAgBhN,EAAI,MAE3C,CAEA,SAASgY,EACPrb,EACAwO,EACAC,EACA3kB,EACA8gB,GAEA,IAAIqZ,EAAOtY,GAAkB3L,EAAM,CAAC,QAAS,QAAS,SACtD,QAAa7e,IAAT8iC,QAQW9iC,KAPb8iC,EAAOtY,GAAkB6C,EAAmB,CAC1C,WACA,MACA,QACA,QACA,gBAUartB,KAPb8iC,EAAOtY,GAAkB8C,EAAmB,CAC1C,WACA,MACA,QACA,QACA,UAGA,OAAQ3kB,GACN,IAAK,QACL,IAAK,WACL,IAAK,WACHm6B,EAAOtY,GAAkBf,EAAuB,CAC9C,eACA,YACA,QACA,SAEF,MAEF,QACEqZ,EAAOtY,GAAkBf,EAAuB,CAC9C,eACA,YACA,QACA,SAQZ,QAAazpB,IAAT8iC,EAAoB,CACtB,GAAa,UAATn6B,GAA6B,aAATA,GAAgC,aAATA,EAC7C,MAAO,QACF,GAAa,WAATA,EACT,MAAO,SAEX,CACA,MAAgB,QAATm6B,EAAiB,QAAmB,MAATA,EAAe,UAAY,QAC/D,CAEA,SAAStM,EACP3X,EACAwO,EACAC,EACA3kB,EACA8gB,GAGA,IAAIsZ,EAASvY,GAAkB3L,EAAM,CACnC,WACA,WACA,QACA,WAmBF,YAjBe7e,IAAX+iC,QAOa/iC,KANf+iC,EAASvY,GAAkB6C,EAAmB,CAC5C,WACA,WACA,QACA,cAGA0V,EAASvY,GAAkB8C,EAAmB,CAC5C,WACA,WACA,QACA,YAKY,QAAXyV,EAAmB,QAAqB,MAAXA,EAAiB,SAAW,MAClE,CA2CA,SAAStG,EAAa5d,EAAMlW,EAAM8gB,GAChC,IAAMuZ,EAgxDR,SAA0BnkB,EAAMokB,GAC9B,OAAOzY,GAAkB3L,EAAMokB,EAAQjiB,OAAO/G,MAAM,OACtD,CAlxDwBipB,CAAiBrkB,EAAM,qBAEvChF,EAAQ8iB,GAAaqG,GAG3B,YAAiBhjC,IAAV6Z,GAAiC,QAAVA,EAAkB,OAAS,IAAMA,CACjE,CAEA,SAAS6iB,EACP7d,EACAwO,EACAC,EACA3kB,EACA8gB,GAEA,IAAIrQ,EACA+pB,EAqDJ,YApDsBnjC,IAAlB6e,EAAK,WACPzF,EAAWqK,SAAS5E,EAAK,SAAgB,MAAM,IAAK,MAGlD1S,MAAMiN,SAA0BpZ,IAAboZ,KACrB+pB,EAAK3Y,GAAkB6C,EAAmB,CACxC,WACA,aACA,YACA,WACA,QACA,OAEFjU,EAAWqK,SAAS0f,GAAM,MAGxBh3B,MAAMiN,SAA0BpZ,IAAboZ,KACR,UAATzQ,GAA6B,aAATA,GAAgC,aAATA,EAC7Cw6B,EAAK3Y,GAAkBf,EAAuB,CAC5C,eACA,YACA,WACA,QACA,OAEgB,SAAT9gB,EACTw6B,EAAK3Y,GAAkBf,EAAuB,CAC5C,cACA,YACA,WACA,QACA,OAEgB,OAAT9gB,GAA0B,WAATA,EAC1Bw6B,EAAK,YACanjC,IAAT2I,IACTw6B,EAAK3Y,GAAkBf,EAAuB,CAC5C,eACA,YACA,WACA,QACA,QAGJrQ,EAAWqK,SAAS0f,GAAM,UAIXnjC,IADAwqB,GAAkB3L,EAAM,CAAC,QAAS,QAAS,cAC7B1S,MAAMiN,KACnCA,GAAY,IAGPjN,MAAMiN,GAAY,UAAYA,EAAW,IAClD,CA2GA,SAAS6oB,EAAgBpjB,GACvB,IAAI9E,EAAc,GAwClB,YArCyB/Z,IAArB6e,EAAK,cAOP9E,GADUsc,EALJ,CACJ,SAAU,CACR,OAAQxX,EAAK,YAAY,WAGJ,GACFyL,QAAQ,SAAU,uBAErBtqB,IAAlB6e,EAAK,WAOP9E,GADUsc,EALJ,CACJ,SAAU,CACR,OAAQxX,EAAK,SAAS,WAGD,GACFyL,QAAQ,SAAU,oBAEnBtqB,IAApB6e,EAAK,aAOP9E,GADUsc,EALJ,CACJ,SAAU,CACR,OAAQxX,EAAK,WAAW,WAGH,GACFyL,QAAQ,SAAU,sBAEpBtqB,IAAnB6e,EAAK,YAOP9E,GADUsc,EALJ,CACJ,SAAU,CACR,OAAQxX,EAAK,UAAU,WAGF,GACFyL,QAAQ,SAAU,gBAGpCvQ,CACT,CAGA,SAASsc,EAAUxX,EAAMukB,GACvB,IAAI5+B,EAAU,WAGR6+B,EAAWxkB,EAAK,UAAU,QAG1BykB,EACJ7f,SAAS+G,GAAkB6Y,EAAU,CAAC,QAAS,OAAS,MACtDl3B,MAAMm3B,IAAgBA,EAAc,EACtC9+B,GAAW,OAEXA,GAAW8+B,EAAc,MAG3B,IAAMC,EAAa/Y,GAAkB6Y,EAAU,CAC7C,aACA,QACA,QAEE/M,EAAkB,IACtB,OAAQiN,GACN,IAAK,QAkDL,QACE/+B,GAAW,QACX8xB,EAAkB,UA/CpB,IAAK,OACH9xB,GAAW,SACX8xB,EAAkB,IAClB,MAEF,IAAK,UACH9xB,GAAW,SACX8xB,EAAkB,aAClB,MAEF,IAAK,MACH9xB,GAAW,SACX8xB,EAAkB,OAClB,MAEF,IAAK,SACH9xB,GAAW,SACX8xB,EAAkB,QAClB,MAEF,IAAK,eACH9xB,GAAW,SACX8xB,EAAkB,oBAClB,MAEF,IAAK,UACH9xB,GAAW,SACX8xB,EAAkB,OAClB,MAEF,IAAK,aACH9xB,GAAW,SACX8xB,EAAkB,aAClB,MAEF,IAAK,gBACH9xB,GAAW,SACX8xB,EAAkB,mBAClB,MAEF,IAAK,SACH9xB,GAAW,SACX8xB,EAAkB,OAStB,IAAItX,EAAcwL,GAAkB6Y,EAAU,CAC5C,cACA,YACA,QACA,QAEF,QAAoBrjC,IAAhBgf,EAA2B,CAC7B,IAAMwkB,EAAgBhZ,GAAkB6Y,EAAU,CAChD,cACA,gBAEF,QAAsBrjC,IAAlBwjC,EAGFxkB,EAAcykB,GADZ,KAAOjZ,GAAkBgZ,EAAe,CAAC,QAAS,aACHxjC,EAErD,CAGA,QAAoBA,IAAhBgf,EAA2B,CAC7B,IAAMwkB,EAAgBhZ,GAAkB3L,EAAM,CAC5C,UACA,UACA,gBAEF,QAAsB7e,IAAlBwjC,EAGFxkB,EAAcykB,GADZ,KAAOjZ,GAAkBgZ,EAAe,CAAC,QAAS,aACHxjC,GAGnD,QAAoBA,IAAhBgf,EAA2B,CAC7B,IAAI0kB,EAAQlZ,GAAkBgZ,EAAe,CAC3C,UACA,QACA,QAEF,QAAcxjC,IAAV0jC,EAAqB,CACvBA,EAAQjgB,SAASigB,GAAS,IAC1B,IAAM7pB,EAAQ,IAAI2I,GAAM,IAAMxD,GAC9BnF,EAAM8pB,OAAO9pB,EAAMkJ,IAAIZ,EAAIuhB,GAC3B1kB,EAAcnF,EAAMgJ,IAAIyH,QAAQ,IAAK,GACvC,CACF,CACF,CAaA,OAFA9lB,GAAW,KAPPwa,OAFgBhf,IAAhBgf,EACEokB,EACY,OAEA,OAGF,IAAMpkB,GAES,IAE3BokB,EACK,CACLvpB,MAAOmF,EACP1N,MAAOgyB,EACP36B,KAAM46B,EACNjN,gBAAiBA,GAGZ9xB,EAAU,GAErB,CAAC,SAEckmB,EAAsBkZ,EAAAC,EAAAC,EAAAC,GAAA,OAAAC,GAAA7/B,MAAC,KAAD8N,UAAA,UAAA+xB,KAwkBpC,OAxkBoCA,GAAA/f,GAAAnd,KAAA4F,MAArC,SAAAu3B,EACEja,EACAf,EACAO,EACAU,GAAO,IAAAga,EAAAC,EAAAC,EAAAC,EAAAC,EAAAjrB,EAAAkrB,EAAAC,EAAAC,EAAA/U,EAAAgV,EAAAhlC,EAAAilC,EAAAC,EAAAC,EAAAC,EAAA5O,EAAA6O,EAAAC,EAAAC,EAAAC,EAAAC,EAAA7Z,EAAA8Z,EAAAC,EAAAnQ,EAAAC,EAAAmQ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA,OAAAxiC,KAAAc,MAAA,SAAA2hC,GAAA,cAAAA,EAAAh8B,KAAAg8B,EAAAn+B,MAAA,OAeL,GAXE84B,EAAO1Z,GAAkBR,EAAc,CACzC,QACA,SACA,OACA,WAEEma,EAAQ3Z,GAAkBR,EAAc,CAC1C,QACA,SACA,OACA,iBAIWhqB,IAATkkC,EAAkB,CAAAqF,EAAAn+B,KAAA,SAEe,GAEjB,gBAFZi5B,EAAYpO,GAAYiO,IAEA,CAAAqF,EAAAn+B,KAAA,SACtBk5B,EAAUJ,EAAK,eACf7qB,EAAUsjB,GAAa2H,GACvBC,EAAU7G,GAAgB4G,GAChCF,EACE,oBAAsBoF,GAAYnwB,GAAW,IAAMkrB,EAAU,KAAKgF,EAAAn+B,KAAA,oBAC7C,kBAAdi5B,EAA6B,CAAAkF,EAAAn+B,KAAA,SAUtC,IATMo5B,EAAUN,EAAK,cAGfO,EAAQD,EAAQ,WAAW,QAI3B9U,EAAa,GACbgV,EAAY,GACThlC,EAAI,EAAGA,EAAI+kC,EAAMjlC,OAAQE,IAC5BilC,OAAM,EACNC,OAAO,OACmB5kC,IAA1BykC,EAAM/kC,GAAG,cACXklC,EAAUpa,GAAkBia,EAAM/kC,GAAI,CACpC,YACA,QACA,QAEFilC,EAASna,GAAkBia,EAAM/kC,GAAI,CACnC,YACA,SACA,QACA,cAEmCM,IAA5BykC,EAAM/kC,GAAG,iBAEZmlC,EAAYra,GAAkBia,EAAM/kC,GAAI,CAC5C,cACA,QACA,QAEFklC,EAAUnB,GACR,KAAOoB,EACPrb,GAEFmb,EAASna,GAAkBia,EAAM/kC,GAAI,CACnC,cACA,SACA,QACA,SAKJgwB,EAAWhwB,GAAKklC,EAChBF,EAAUhlC,QAAgBM,IAAX2kC,EAAuBlhB,SAASkhB,GAAU,IAAS,EASpE,IANMG,EAAMN,EAAQ,SAChBtO,EAAM,QACEl2B,IAAR8kC,IACF5O,EAAML,GAAeiP,EAAW,MAAO,KAAK,IAE9CV,EAAU,+BAAiClO,EAAM,OACxCx2B,EAAI,EAAGA,EAAI+kC,EAAMjlC,OAAQE,IAC5BA,IAAM+kC,EAAMjlC,OAAS,EACvB4kC,GACE,QACAoF,GAAY9Z,EAAWhwB,IACvB,IACAglC,EAAUhlC,GAHV,MAOF0kC,GACE,QACAoF,GAAY9Z,EAAWhwB,IACvB,IACAglC,EAAUhlC,GAHV,MAOL6pC,EAAAn+B,KAAA,oBACsB,aAAdi5B,EAAwB,CAAAkF,EAAAn+B,KAAA,gBAAAm+B,EAAAn+B,KAAA,GACLq+B,GAC1B,UACAvF,EAAK,cACLha,GACD,QAJK8a,EAAauE,EAAA5+B,KAKbs6B,EAAOf,EAAY,MAAS,MAGlCE,EACE,yBACAY,EACA,gBACAC,EACA,IACF,QAAAsE,EAAAn+B,KAAA,0BAGiBpL,IAAVmkC,EAAmB,CAAAoF,EAAAn+B,KAAA,SAiB5B,QAd2BpL,IAAvBmkC,EAAM,aACRe,EAAQ1a,GAAkB2Z,EAAO,CAAC,YAAa,QAAS,aACtBnkC,IAAzBmkC,EAAM,iBAETU,EAAYra,GAAkB2Z,EAAO,CACzC,cACA,QACA,QAEFe,EAAQzB,GAAwB,KAAOoB,EAAWrb,IAKxC,KAFN8B,EAAMoe,OAAOvF,EAAa,MAAO,OAEd,MAAR7Y,QAEV,GAAIA,EAAM,GAAKA,EAAM,UAIrB,GAAIA,EAAM,IAiCf,GA9BM8Z,EAAU9Z,EAAM,IAChB+Z,EACJxgB,EAAa,WAAW,mBAAmB,eACzC,oBAEEqQ,EAAY,GAClB1vB,OAAOyH,KAAKo4B,GAAW/7B,SAAQ,SAAUhE,GACvC,IAAMqkC,EAAetE,EAAU//B,GAC/B,GAAY,UAARA,EACF,GAAIqkC,EAAan9B,cAAgBsC,MAC/B,IAAK,IAAIpP,EAAI,EAAGA,EAAIiqC,EAAanqC,OAAQE,IAAK,CAC5C,IAAM8B,EAAM,CAAC,EACbA,EAAI8D,GAAOqkC,EAAajqC,GACxB8B,EAAU,KAAImoC,EAAajqC,GAAU,MAAS,MAC9Cw1B,EAAUv2B,KAAK6C,EACjB,KACK,CACL,IAAMA,EAAM,CAAC,EACbA,EAAI8D,GAAOqkC,EACXnoC,EAAU,KAAImoC,EAAoB,MAAS,MAC3CzU,EAAUv2B,KAAK6C,EACjB,CAEJ,KACM2zB,EAAcD,EAAUznB,MAAM,IACxB4pB,MAAK,SAAUjyB,EAAGqc,GAC5B,OAAOrc,EAAEwkC,KAAOnoB,EAAEmoB,IACpB,IACMtE,EAAenQ,EAAYiQ,EAAU,GAEzB,gBADZf,EAAYpO,GAAYqP,IAEtBhB,EAAUgB,EAAa,eAEvBf,EAAU7G,GAAgB4G,GAChCF,EACE,oBAAsBoF,GAAYtE,GAAS,IAAMX,EAAU,UAExD,GAAkB,kBAAdF,EAA+B,CAOxC,IANMG,EAAUc,EAAa,cACvBb,EAAQD,EAAQ,WAAW,QAI3BE,EAAY,GACThlC,EAAI,EAAGA,EAAI+kC,EAAMjlC,OAAQE,IAC1BilC,EAASna,GAAkBia,EAAM/kC,GAAI,CACzC,cACA,SACA,QACA,QAEFglC,EAAUhlC,QAAgBM,IAAX2kC,EAAuBlhB,SAASkhB,GAAU,IAAS,EAUpE,IANMG,EAAMN,EAAQ,SAChBtO,EAAM,QACEl2B,IAAR8kC,IACF5O,EAAML,GAAeiP,EAAW,MAAO,KAAK,IAE9CV,EAAU,+BAAiClO,EAAM,OACxCx2B,EAAI,EAAGA,EAAI+kC,EAAMjlC,OAAQE,IAC5BA,IAAM+kC,EAAMjlC,OAAS,EACvB4kC,GACE,QAAUoF,GAAYtE,GAAS,IAAMR,EAAUhlC,GAA/C,MAEF0kC,GACE,QAAUoF,GAAYtE,GAAS,IAAMR,EAAUhlC,GAA/C,KAGR,CACD6pC,EAAAn+B,KAAA,kBAcD,GAZA84B,EAAO1Z,GAAkBvB,EAAoB,CAC3C,cACA,SACA,OACA,WAEFkb,EAAQ3Z,GAAkBvB,EAAoB,CAC5C,cACA,SACA,OACA,iBAGWjpB,IAATkkC,EAAkB,CAAAqF,EAAAn+B,KAAA,SACe,GACjB,gBADZi5B,EAAYpO,GAAYiO,IACA,CAAAqF,EAAAn+B,KAAA,SACtBk5B,EAAUJ,EAAK,eACf7qB,EAAUsjB,GAAa2H,GACvBC,EAAU7G,GAAgB4G,GAChCF,EACE,oBAAsBoF,GAAYnwB,GAAW,IAAMkrB,EAAU,KAAKgF,EAAAn+B,KAAA,oBAC7C,kBAAdi5B,EAA6B,CAAAkF,EAAAn+B,KAAA,SAUtC,IATMo5B,EAAUN,EAAK,cAGfO,EAAQD,EAAQ,WAAW,QAI3B9U,EAAa,GACbgV,EAAY,GACThlC,EAAI,EAAGA,EAAI+kC,EAAMjlC,OAAQE,IAC5BilC,QAAM,EACNC,QAAO,OACmB5kC,IAA1BykC,EAAM/kC,GAAG,cACXklC,GAAUpa,GAAkBia,EAAM/kC,GAAI,CACpC,YACA,QACA,QAEFilC,GAASna,GAAkBia,EAAM/kC,GAAI,CACnC,YACA,SACA,QACA,cAEmCM,IAA5BykC,EAAM/kC,GAAG,iBAEZmlC,GAAYra,GAAkBia,EAAM/kC,GAAI,CAC5C,cACA,QACA,QAEFklC,GAAUnB,GACR,KAAOoB,GACPrb,GAEFmb,GAASna,GAAkBia,EAAM/kC,GAAI,CACnC,cACA,SACA,QACA,SAKJgwB,EAAWhwB,GAAKklC,GAChBF,EAAUhlC,QAAgBM,IAAX2kC,GAAuBlhB,SAASkhB,IAAU,IAAS,EAWpE,IAPMG,GAAMN,EAAQ,SAChBtO,GAAM,QACEl2B,IAAR8kC,KACF5O,GAAML,GAAeiP,GAAW,MAAO,KAAK,IAG9CV,EAAU,+BAAiClO,GAAM,OACxCx2B,GAAI,EAAGA,GAAI+kC,EAAMjlC,OAAQE,KAC5BA,KAAM+kC,EAAMjlC,OAAS,EACvB4kC,GACE,QACAoF,GAAY9Z,EAAWhwB,KACvB,IACAglC,EAAUhlC,IAHV,MAOF0kC,GACE,QACAoF,GAAY9Z,EAAWhwB,KACvB,IACAglC,EAAUhlC,IAHV,MAOL6pC,EAAAn+B,KAAA,oBACsB,aAAdi5B,EAAwB,CAAAkF,EAAAn+B,KAAA,gBAAAm+B,EAAAn+B,KAAA,GAELq+B,GAC1B,WACAvF,EAAK,cACLha,GACD,QAJK8a,GAAauE,EAAA5+B,KAKbs6B,GAAOf,EAAY,MAAS,MAGlCE,EACE,yBACAY,GACA,gBACAC,GACA,IACF,QAAAsE,EAAAn+B,KAAA,0BAGiBpL,IAAVmkC,EAAmB,CAAAoF,EAAAn+B,KAAA,SAC5Bg5B,EAAU,mBAAmBmF,EAAAn+B,KAAA,kBAe7B,GAbA84B,EAAO1Z,GAAkBhB,EAAoB,CAC3C,cACA,SACA,OACA,WAEF2a,EAAQ3Z,GAAkBhB,EAAoB,CAC5C,cACA,SACA,OACA,iBAIWxpB,IAATkkC,EAAkB,CAAAqF,EAAAn+B,KAAA,UACe,GACjB,gBADZi5B,GAAYpO,GAAYiO,IACA,CAAAqF,EAAAn+B,KAAA,SACtBk5B,GAAUJ,EAAK,eACf7qB,GAAUsjB,GAAa2H,IACvBC,GAAU7G,GAAgB4G,IAChCF,EACE,oBAAsBoF,GAAYnwB,IAAW,IAAMkrB,GAAU,KAAKgF,EAAAn+B,KAAA,qBAC7C,kBAAdi5B,GAA6B,CAAAkF,EAAAn+B,KAAA,SAUtC,IATMo5B,GAAUN,EAAK,cAGfO,GAAQD,GAAQ,WAAW,QAI3B9U,GAAa,GACbgV,GAAY,GACThlC,GAAI,EAAGA,GAAI+kC,GAAMjlC,OAAQE,KAC5BilC,QAAM,EACNC,QAAO,OACmB5kC,IAA1BykC,GAAM/kC,IAAG,cACXklC,GAAUpa,GAAkBia,GAAM/kC,IAAI,CACpC,YACA,QACA,QAEFilC,GAASna,GAAkBia,GAAM/kC,IAAI,CACnC,YACA,SACA,QACA,cAEmCM,IAA5BykC,GAAM/kC,IAAG,iBAEZmlC,GAAYra,GAAkBia,GAAM/kC,IAAI,CAC5C,cACA,QACA,QAEFklC,GAAUnB,GACR,KAAOoB,GACPrb,GAEFmb,GAASna,GAAkBia,GAAM/kC,IAAI,CACnC,cACA,SACA,QACA,SAKJgwB,GAAWhwB,IAAKklC,GAChBF,GAAUhlC,SACGM,IAAX2kC,GAAuBlhB,SAASkhB,IAAU,IAAS,EAWvD,IAPMG,GAAMN,GAAQ,SAChBtO,GAAM,QACEl2B,IAAR8kC,KACF5O,GAAML,GAAeiP,GAAW,MAAO,KAAK,IAG9CV,EAAU,+BAAiClO,GAAM,OACxCx2B,GAAI,EAAGA,GAAI+kC,GAAMjlC,OAAQE,KAC5BA,KAAM+kC,GAAMjlC,OAAS,EACvB4kC,GACE,QACAoF,GAAY9Z,GAAWhwB,KACvB,IACAglC,GAAUhlC,IAHV,MAOF0kC,GACE,QACAoF,GAAY9Z,GAAWhwB,KACvB,IACAglC,GAAUhlC,IAHV,MAOL6pC,EAAAn+B,KAAA,qBACsB,aAAdi5B,GAAwB,CAAAkF,EAAAn+B,KAAA,iBAAAm+B,EAAAn+B,KAAA,IAELq+B,GAC1B,WACAvF,EAAK,cACLha,GACD,SAJK8a,GAAauE,EAAA5+B,KAKbs6B,GAAOf,EAAY,MAAS,MAGlCE,EACE,yBACAY,GACA,gBACAC,GACA,IACF,SAAAsE,EAAAn+B,KAAA,mBAEG,QAAcpL,IAAVmkC,EAyBT,QAnB2BnkC,IAAvBmkC,EAAM,aACRe,GAAQ1a,GAAkB2Z,EAAO,CAAC,YAAa,QAAS,aACtBnkC,IAAzBmkC,EAAM,iBAETU,GAAYra,GAAkB2Z,EAAO,CACzC,cACA,QACA,QAGFe,GAAQzB,GACN,KAAOoB,GACPrb,IAOQ,KAHN8B,GAAMoe,OAAOvF,EAAa,MAAO,OAGd,MAAR7Y,SAEV,GAAIA,GAAM,GAAKA,GAAM,UAIrB,GAAIA,GAAM,IAmCf,GAhCM8Z,GAAU9Z,GAAM,IAChB+Z,GACJxgB,EAAa,WAAW,mBAAmB,eACzC,oBAEEqQ,GAAY,GAClB1vB,OAAOyH,KAAKo4B,IAAW/7B,SAAQ,SAAUhE,GAEvC,IAAMqkC,EAAetE,GAAU//B,GAC/B,GAAY,UAARA,EACF,GAAIqkC,EAAan9B,cAAgBsC,MAC/B,IAAK,IAAIpP,EAAI,EAAGA,EAAIiqC,EAAanqC,OAAQE,IAAK,CAC5C,IAAM8B,EAAM,CAAC,EACbA,EAAI8D,GAAOqkC,EAAajqC,GACxB8B,EAAU,KAAImoC,EAAajqC,GAAU,MAAS,MAC9Cw1B,GAAUv2B,KAAK6C,EACjB,KACK,CACL,IAAMA,EAAM,CAAC,EACbA,EAAI8D,GAAOqkC,EACXnoC,EAAU,KAAImoC,EAAoB,MAAS,MAC3CzU,GAAUv2B,KAAK6C,EACjB,CAEJ,KACM2zB,GAAcD,GAAUznB,MAAM,IACxB4pB,MAAK,SAAUjyB,EAAGqc,GAC5B,OAAOrc,EAAEwkC,KAAOnoB,EAAEmoB,IACpB,IACMtE,GAAenQ,GAAYiQ,GAAU,GAGzB,gBAFZf,GAAYpO,GAAYqP,KAGtBhB,GAAUgB,GAAa,eACvBf,GAAU7G,GAAgB4G,IAChCF,EACE,oBAAsBoF,GAAYtE,IAAS,IAAMX,GAAU,UACxD,GAAkB,kBAAdF,GAA+B,CAOxC,IANMG,GAAUc,GAAa,cACvBb,GAAQD,GAAQ,WAAW,QAI3BE,GAAY,GACThlC,GAAI,EAAGA,GAAI+kC,GAAMjlC,OAAQE,KAC1BilC,GAASna,GAAkBia,GAAM/kC,IAAI,CACzC,cACA,SACA,QACA,QAEFglC,GAAUhlC,SACGM,IAAX2kC,GAAuBlhB,SAASkhB,IAAU,IAAS,EAUvD,IANMG,GAAMN,GAAQ,SAChBtO,GAAM,QACEl2B,IAAR8kC,KACF5O,GAAML,GAAeiP,GAAW,MAAO,KAAK,IAE9CV,EAAU,+BAAiClO,GAAM,OACxCx2B,GAAI,EAAGA,GAAI+kC,GAAMjlC,OAAQE,KAC5BA,KAAM+kC,GAAMjlC,OAAS,EACvB4kC,GACE,QACAoF,GAAYtE,IACZ,IACAR,GAAUhlC,IAHV,MAOF0kC,GACE,QACAoF,GAAYtE,IACZ,IACAR,GAAUhlC,IAHV,KAQR,CAIH,gBAAA6pC,EAAAz+B,OAAA,SAKEs5B,GAAO,0BAAAmF,EAAA77B,OAAA,GAAAu2B,EAAA,MACf9/B,MAAA,KAAA8N,UAAA,CAED,SAASu3B,KAA4B,IAAhB3mB,EAAG5Q,UAAAzS,OAAA,QAAAQ,IAAAiS,UAAA,GAAAA,UAAA,GAAG,SACnB43B,EAAU,IAAIC,YAAY,GACrB,IAAIC,SAASF,GACrBG,UAAU,EAAGvmB,SAASZ,EAAK,KAAK,GACnC,IAAMonB,EAAU,IAAI5lB,WAAWwlB,GAE/B,OAAOI,EAAQ,GAAK,IAAMA,EAAQ,GAAK,IAAMA,EAAQ,EACvD,CAAC,SAEcjU,GAAYkU,EAAAC,EAAAC,GAAA,OAAAC,GAAAlmC,MAAC,KAAD8N,UAAA,CA6E3B,SAAAo4B,KAFC,OAEDA,GAAApmB,GAAAnd,KAAA4F,MA7EA,SAAA49B,EAA4BzrB,EAAMukB,EAAWlZ,GAAO,IAAAqgB,EAAAlb,EAAAmb,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA3U,EAAAkO,EAAA1kC,EAAAma,EAAA,OAAA/S,KAAAc,MAAA,SAAAkjC,GAAA,cAAAA,EAAAv9B,KAAAu9B,EAAA1/B,MAAA,OAMe,GAEhD,aAFXm/B,EAAWtU,GAAYzL,GAAkB3L,EAAM,CAAC,aAE5B,CAAAisB,EAAA1/B,KAAA,eAAA0/B,EAAAhgC,OAAA,SACjBs4B,EAAY,OAAS,8BAA4B,UAClC,eAAbmH,EAAyB,CAAAO,EAAA1/B,KAAA,SAC5Bo/B,EAAU3rB,EAAK,UAAU,eAC/BwQ,EAAYsN,GAAa6N,GAASM,EAAA1/B,KAAA,oBACZ,kBAAbm/B,EAA4B,CAAAO,EAAA1/B,KAAA,SAC/Bo/B,EAAU3rB,EAAK,UAAU,cAE/BwQ,EAAY0b,GAAgBP,GAC5BM,EAAA1/B,KAAA,oBACsB,iBAAbm/B,EAA2B,CAAAO,EAAA1/B,KAAA,SAC9Bo/B,EAAU3rB,EAAK,UAAU,cAC/BwQ,EAAY2b,GAAeR,GAASM,EAAA1/B,KAAA,oBACd,aAAbm/B,EAAuB,CAAAO,EAAA1/B,KAAA,SACY,OAAtCo/B,EAAU3rB,EAAK,UAAU,cAAaisB,EAAA1/B,KAAA,GAC1Bq+B,GAAW,UAAWe,EAAStgB,GAAQ,QAAzDmF,EAASyb,EAAAngC,KAAA,QAOV,QAHiB3K,IAAdqvB,IACIub,EAAUpgB,GAAkB3L,EAAM,CAAC,UAAW,cACpDwQ,EAAYsN,GAAaiO,SAGT5qC,IAAdqvB,EAAuB,CAAAyb,EAAA1/B,KAAA,YACR,kBAAbm/B,EAA4B,CAAAO,EAAA1/B,KAAA,aAC1Bg4B,EAAW,CAAF0H,EAAA1/B,KAAA,gBAAA0/B,EAAAhgC,OAAA,SAEJukB,GAAS,QAMhB,IAJMwb,EAAWxb,EAAUxV,MACrBqc,EAAM7G,EAAU6G,IAElBkO,EAAU,+BAAiClO,EAAM,OAC5Cx2B,EAAI,EAAGA,EAAImrC,EAASrrC,OAAQE,IAC/BA,IAAMmrC,EAASrrC,OAAS,EAC1B4kC,GAAWyG,EAASnrC,GAAK,KAEzB0kC,GAAWyG,EAASnrC,GAAK,KAE5B,OAAAorC,EAAAhgC,OAAA,SACMs5B,GAAO,QAAA0G,EAAA1/B,KAAA,oBAEM,aAAbm/B,EAAuB,CAAAO,EAAA1/B,KAAA,aAC5Bg4B,EAAW,CAAF0H,EAAA1/B,KAAA,gBAAA0/B,EAAAhgC,OAAA,SACJukB,GAAS,eAAAyb,EAAAhgC,OAAA,SAET,wBAA0BukB,EAAY,MAAI,QAAAyb,EAAA1/B,KAAA,qBAG/Cg4B,EAAW,CAAF0H,EAAA1/B,KAAA,SAEsB,OAD3ByO,EAAQ,IAAI2I,GAAM6M,GACxBA,EAAYxV,EAAM8I,IAAI1jB,WAAW6rC,EAAAhgC,OAAA,SAE1BukB,GAAS,eAAAyb,EAAAhgC,OAAA,SAGT,sBAAwBukB,EAAY,KAAG,QAAAyb,EAAA1/B,KAAA,qBAI9Cg4B,EAAW,CAAF0H,EAAA1/B,KAAA,gBAAA0/B,EAAAhgC,OAAA,SACJ,QAAM,eAAAggC,EAAAhgC,OAAA,SAEN,8BAA4B,yBAAAggC,EAAAp9B,OAAA,GAAA48B,EAAA,MAGxCnmC,MAAA,KAAA8N,UAAA,CAGD,SAASgkB,GAAYpX,GAOnB,IAAI0rB,EAAW,GAiBf,YAhByBvqC,IAArB6e,EAAK,cACP0rB,EAAW,gBAEevqC,IAAxB6e,EAAK,iBACP0rB,EAAW,mBAEcvqC,IAAvB6e,EAAK,gBACP0rB,EAAW,sBAEcvqC,IAAvB6e,EAAK,gBACP0rB,EAAW,qBAEcvqC,IAAvB6e,EAAK,gBACP0rB,EAAW,YAGNA,CACT,CAEA,SAASQ,GAAgBlsB,GAKvB,IAJA,IAAM4lB,EAAQ5lB,EAAK,WAAW,QAExB6Q,EAAa,GAEVhwB,EAAI,EAAGA,EAAI+kC,EAAMjlC,OAAQE,IAAK,CAErC,IAAIklC,EAAUjI,GAAa8H,EAAM/kC,IACjC,QAA8BM,IAA1BykC,EAAM/kC,GAAG,aAA4B,CACvC,IAAIurC,EACFxnB,SACE+G,GAAkB3L,EAAM,CAAC,YAAa,WAAY,QAAS,SACzD,IACFqsB,EACFznB,SACE+G,GAAkB3L,EAAM,CAAC,YAAa,WAAY,QAAS,SACzD,IACF1S,MAAM8+B,KACRA,EAAS,GAEP9+B,MAAM++B,KACRA,EAAS,GAGXtG,EAAUuG,GAAevG,EAASqG,EAAQC,EAC5C,MAAO,QAAgClrC,IAA5BykC,EAAM/kC,GAAG,eAA8B,CAEhD,IAAIurC,EACFxnB,SACE+G,GAAkBia,EAAM/kC,GAAI,CAC1B,cACA,WACA,QACA,SAEA,IACFwrC,EACFznB,SACE+G,GAAkBia,EAAM/kC,GAAI,CAC1B,cACA,WACA,QACA,SAEA,IACFyM,MAAM8+B,KACRA,EAAS,GAEP9+B,MAAM++B,KACRA,EAAS,GAGXtG,EAAUuG,GAAevG,EAASqG,EAAQC,EAC5C,CAEAxb,EAAWhwB,GAAKklC,CAClB,CAEA,IAAME,EAAMjmB,EAAK,SACbqX,EAAM,EAIV,YAHYl2B,IAAR8kC,IACF5O,EAAML,GAAeiP,EAAW,MAAO,KAAK,IAEvC,CACLjrB,MAAO6V,EACPwG,IAAKA,EAET,CAAC,SAEcuT,GAAU2B,EAAAC,EAAAC,GAAA,OAAAC,GAAApnC,MAAC,KAAD8N,UAAA,UAAAs5B,KA6BxB,OA7BwBA,GAAAtnB,GAAAnd,KAAA4F,MAAzB,SAAA8+B,EAA0B7iC,EAAMkW,EAAMqL,GAAO,IAAAuhB,EAAAC,EAAArP,EAAAC,EAAAhE,EAAAiE,EAAA,OAAAz1B,KAAAc,MAAA,SAAA+jC,GAAA,cAAAA,EAAAp+B,KAAAo+B,EAAAvgC,MAAA,OAc1C,GARKsgC,EAAM7sB,EAAK,UAAiB,MAAE,WAEvB,YAATlW,EACF0zB,EAAU7R,GAAkBN,EAAS,CAAC,cAAewhB,EAAK,WACxC,aAAT/iC,EACT0zB,EAAU7R,GAAkBN,EAAS,CAAC,eAAgBwhB,EAAK,WACzC,aAAT/iC,IACT0zB,EAAU7R,GAAkBN,EAAS,CAAC,eAAgBwhB,EAAK,iBAE7C1rC,IAAZq8B,EAAqB,CAAAsP,EAAAvgC,KAAA,eAAAugC,EAAA7gC,OAAA,cAChB9K,GAAS,OAEqB,GACxB,SADTs8B,EAASD,EAAQpiB,MAAM,KAAK5M,OACd,CAAAs+B,EAAAvgC,KAAA,eAAAugC,EAAA7gC,OAAA,cACX9K,GAAS,cAAA2rC,EAAAvgC,KAAA,EAEW8e,EAAa,IACvCnE,KAAKsW,GACLvvB,MAAM,eAAc,OAGkD,OALnEwrB,EAAcqT,EAAAhhC,KAGd4xB,EAAc3D,GAAiB0D,GACrCmP,EACE,QAAUlP,EAAc,WAAarY,GAAkBoU,GAAgBqT,EAAA7gC,OAAA,SAClE2gC,GAAG,yBAAAE,EAAAj+B,OAAA,GAAA89B,EAAA,MACXrnC,MAAA,KAAA8N,UAAA,CAED,SAAS+4B,GAAensB,GAGtB,OAAO8d,GADO9d,EAAK,WAErB,CAEA,SAAS8d,GAAa9d,GACpB,QAAa7e,IAAT6e,EAAJ,CAIA,IAAIhF,EAAQ,MAEZ,QAA0B7Z,IAAtB6e,EAAK,aACPhF,EAAQ2Q,GAAkB3L,EAAM,CAAC,YAAa,QAAS,aAClD,QAA4B7e,IAAxB6e,EAAK,eAA8B,CAQ5ChF,EAAQ4pB,GAAwB,KANdjZ,GAAkB3L,EAAM,CACxC,cACA,QACA,aAGgD7e,EACpD,MAAO,QAA2BA,IAAvB6e,EAAK,cAA6B,CAE3C,IAAM+sB,EAAmB/sB,EAAK,cAAqB,MAC7CgtB,GACoC,IAAxCD,EAAoB,EAAE9zB,QAAQ,KAC1B8zB,EAAoB,EAAE3xB,MAAM,KAAK6xB,QACjCF,EAAoB,EACpBG,GACoC,IAAxCH,EAAoB,EAAE9zB,QAAQ,KAC1B8zB,EAAoB,EAAE3xB,MAAM,KAAK6xB,QACjCF,EAAoB,EACpBI,GACoC,IAAxCJ,EAAoB,EAAE9zB,QAAQ,KAC1B8zB,EAAoB,EAAE3xB,MAAM,KAAK6xB,QACjCF,EAAoB,EAE1B/xB,EACEoyB,GAAavC,OAAOmC,GAAO,IAArB,KACNI,GAAavC,OAAOqC,GAAS,IAAvB,KACNE,GAAavC,OAAOsC,GAAQ,IAAtB,IAEV,MAAO,QAA0BhsC,IAAtB6e,EAAK,aAA4B,CAG1ChF,EAiEJ,SAA0BpN,GACxB,IAAIoW,EAuJEqpB,EAAW,CACf,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEIC,EA5SY,CAChB,YACA,eACA,OACA,aACA,QACA,QACA,SACA,QACA,iBACA,OACA,aACA,QACA,YACA,YACA,aACA,YACA,QACA,iBACA,WACA,UACA,OACA,WACA,WACA,gBACA,WACA,WACA,YACA,YACA,cACA,iBACA,aACA,aACA,UACA,aACA,eACA,gBACA,gBACA,gBACA,gBACA,aACA,WACA,cACA,UACA,UACA,aACA,YACA,cACA,cACA,UACA,YACA,aACA,OACA,YACA,OACA,OACA,QACA,cACA,WACA,UACA,YACA,SACA,QACA,QACA,WACA,gBACA,YACA,eACA,YACA,aACA,YACA,uBACA,YACA,YACA,aACA,YACA,cACA,gBACA,eACA,iBACA,iBACA,iBACA,cACA,OACA,YACA,QACA,UACA,SACA,mBACA,aACA,eACA,eACA,iBACA,kBACA,oBACA,kBACA,kBACA,eACA,YACA,YACA,WACA,cACA,OACA,UACA,QACA,YACA,SACA,YACA,SACA,gBACA,YACA,gBACA,gBACA,aACA,YACA,OACA,OACA,OACA,aACA,SACA,gBACA,MACA,YACA,YACA,cACA,SACA,aACA,WACA,WACA,SACA,SACA,UACA,YACA,YACA,YACA,OACA,cACA,YACA,MACA,OACA,UACA,SACA,YACA,SACA,QACA,QACA,aACA,SACA,eAwJyBr0B,QAAQrL,IACjB,IAAd0/B,IACFtpB,EAAMqpB,EAASC,IAEjB,OAAOtpB,CACT,CApXYupB,CADQvtB,EAAK,aAAoB,MAAO,IAGlD,MAAO,QAAyB7e,IAArB6e,EAAK,YAA2B,CAEzC,IAAM+sB,EAAmB/sB,EAAK,YAAmB,MAe3CwtB,EAsBV,SAAkBC,EAAKC,EAAKC,GAC1B,IAAI3lB,EAAI4D,EAAIzkB,EAAGwb,EAAGC,EAClB6qB,GAAY,GAEV7hB,EADE+hB,GAAS,GACNA,GAASD,EAAM,GAEfC,EAAQD,EAAMC,EAAQD,EAM7B,OAHAvmC,EAAgC,IAA5BymC,GADJ5lB,EAAa,EAAR2lB,EAAY/hB,EACAA,EAAI6hB,EAAM,GAC3B9qB,EAA4B,IAAxBirB,GAAS5lB,EAAI4D,EAAI6hB,GACrB7qB,EAAgC,IAA5BgrB,GAAS5lB,EAAI4D,EAAI6hB,EAAM,GACpB,CAAEtmC,EAAGA,EAAGwb,EAAGA,EAAGC,EAAGA,EAC1B,CAnCoB8B,CAdJmmB,OAAOkC,EAAsB,KAAK,IAE5ClC,QAC4C,IAA1CkC,EAAsB,IAAE9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","sources":["webpack://@zoley/react-file-preview/./src/components/loading/style.css","webpack://@zoley/react-file-preview/./src/components/style.css","webpack://@zoley/react-file-preview/./node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/api.js","webpack://@zoley/react-file-preview/./node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://@zoley/react-file-preview/./node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://@zoley/react-file-preview/webpack/bootstrap","webpack://@zoley/react-file-preview/webpack/runtime/compat get default export","webpack://@zoley/react-file-preview/webpack/runtime/define property getters","webpack://@zoley/react-file-preview/webpack/runtime/hasOwnProperty shorthand","webpack://@zoley/react-file-preview/webpack/runtime/make namespace object","webpack://@zoley/react-file-preview/webpack/runtime/nonce","webpack://@zoley/react-file-preview/external commonjs \"pdfjs-dist/legacy/build/pdf\"","webpack://@zoley/react-file-preview/external commonjs \"react\"","webpack://@zoley/react-file-preview/external commonjs \"react-visibility-sensor\"","webpack://@zoley/react-file-preview/external commonjs \"pdfjs-dist/legacy/build/pdf.worker.entry\"","webpack://@zoley/react-file-preview/./src/components/loading/style.css?f408","webpack://@zoley/react-file-preview/external commonjs \"react/jsx-runtime\"","webpack://@zoley/react-file-preview/./src/components/loading/index.jsx","webpack://@zoley/react-file-preview/./src/components/loading/loading.png","webpack://@zoley/react-file-preview/./src/components/drivers/pdf.jsx","webpack://@zoley/react-file-preview/external commonjs \"docx-preview\"","webpack://@zoley/react-file-preview/./src/components/drivers/docx.jsx","webpack://@zoley/react-file-preview/external commonjs \"exceljs\"","webpack://@zoley/react-file-preview/external commonjs \"handsontable\"","webpack://@zoley/react-file-preview/external commonjs \"handsontable/i18n\"","webpack://@zoley/react-file-preview/external commonjs \"handsontable/dist/handsontable.full.min.css\"","webpack://@zoley/react-file-preview/./src/components/drivers/util.js","webpack://@zoley/react-file-preview/./src/components/drivers/xlsx.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/t_xml.js","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/colz/index.js","webpack://@zoley/react-file-preview/external commonjs \"jszip\"","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/process_pptx.js","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/pptx_css.js","webpack://@zoley/react-file-preview/external commonjs \"jquery\"","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/index.js","webpack://@zoley/react-file-preview/./src/components/drivers/pptx.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/image.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/text.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/video.jsx","webpack://@zoley/react-file-preview/./src/components/style.css?f8a0","webpack://@zoley/react-file-preview/./src/components/fileViewer.jsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.loading-box-wrapper .text{\r\n text-align: center;\r\n margin-top:30px;\r\n font-size: 18px;\r\n}\r\n.loading-box{\r\n position:relative;\r\n margin:200px auto 100px;\r\n width:50px;\r\n height:50px;\r\n border-radius:50%;\r\n}\r\n.loading-box img{\r\n width:100%;\r\n height:100%;\r\n animation: rotate 0.8s linear infinite;\r\n}\r\n@keyframes rotate {\r\n 0%{\r\n transform:rotate(0deg);\r\n }\r\n 100%{ \r\n transform:rotate(360deg);\r\n }\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/loading/style.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,eAAe;EACf,eAAe;AACjB;AACA;EACE,iBAAiB;EACjB,uBAAuB;EACvB,UAAU;EACV,WAAW;EACX,iBAAiB;AACnB;AACA;EACE,UAAU;EACV,WAAW;EACX,sCAAsC;AACxC;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,wBAAwB;EAC1B;AACF\",\"sourcesContent\":[\".loading-box-wrapper .text{\\r\\n text-align: center;\\r\\n margin-top:30px;\\r\\n font-size: 18px;\\r\\n}\\r\\n.loading-box{\\r\\n position:relative;\\r\\n margin:200px auto 100px;\\r\\n width:50px;\\r\\n height:50px;\\r\\n border-radius:50%;\\r\\n}\\r\\n.loading-box img{\\r\\n width:100%;\\r\\n height:100%;\\r\\n animation: rotate 0.8s linear infinite;\\r\\n}\\r\\n@keyframes rotate {\\r\\n 0%{\\r\\n transform:rotate(0deg);\\r\\n }\\r\\n 100%{ \\r\\n transform:rotate(360deg);\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.cr-viewer-wrapper{\r\n width:100%;\r\n}\r\n.pdf-viewer-wrapper .pdf-controls{position:fixed;top:70px;right:40px;display:flex;align-items: center;font-size: 20px;cursor: pointer;user-select: none;}\r\n.pdf-viewer-wrapper .pdf-controls .pdf-large{margin-right: 10px;}\r\n.pdf-viewer-wrapper .pdf-viewer{background-color: #f0f2f5;}\r\n.xlsx-viewer .xlsx-btn{padding:0 20px;}\r\n.img-viewer-wrapper img{width:100%;max-width:1000px;margin: 10px auto 0;display: block;}\r\n.text-viewer-wrapper .code-area {\r\n display: block;\r\n margin: 0 auto;\r\n font-size: 12px;\r\n width: 1000px;\r\n padding:10px;\r\n min-height: 500px;\r\n background: #1f1f1f;\r\n word-break: break-word;\r\n white-space: break-spaces;\r\n color: #5af117\r\n}\r\n/* video全屏半屏 ResizeObserver loop limit exceeded报错隐藏 */\r\n#webpack-dev-server-client-overlay {\r\n display: none !important;\r\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/style.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,UAAU;AACZ;AACA,kCAAkC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC,eAAe,CAAC,eAAe,CAAC,iBAAiB,CAAC;AACxJ,6CAA6C,kBAAkB,CAAC;AAChE,gCAAgC,yBAAyB,CAAC;AAC1D,uBAAuB,cAAc,CAAC;AACtC,wBAAwB,UAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,cAAc,CAAC;AACvF;EACE,cAAc;EACd,cAAc;EACd,eAAe;EACf,aAAa;EACb,YAAY;EACZ,iBAAiB;EACjB,mBAAmB;EACnB,sBAAsB;EACtB,yBAAyB;EACzB;AACF;AACA,qDAAqD;AACrD;EACE,wBAAwB;AAC1B\",\"sourcesContent\":[\".cr-viewer-wrapper{\\r\\n width:100%;\\r\\n}\\r\\n.pdf-viewer-wrapper .pdf-controls{position:fixed;top:70px;right:40px;display:flex;align-items: center;font-size: 20px;cursor: pointer;user-select: none;}\\r\\n.pdf-viewer-wrapper .pdf-controls .pdf-large{margin-right: 10px;}\\r\\n.pdf-viewer-wrapper .pdf-viewer{background-color: #f0f2f5;}\\r\\n.xlsx-viewer .xlsx-btn{padding:0 20px;}\\r\\n.img-viewer-wrapper img{width:100%;max-width:1000px;margin: 10px auto 0;display: block;}\\r\\n.text-viewer-wrapper .code-area {\\r\\n display: block;\\r\\n margin: 0 auto;\\r\\n font-size: 12px;\\r\\n width: 1000px;\\r\\n padding:10px;\\r\\n min-height: 500px;\\r\\n background: #1f1f1f;\\r\\n word-break: break-word;\\r\\n white-space: break-spaces;\\r\\n color: #5af117\\r\\n}\\r\\n/* video全屏半屏 ResizeObserver loop limit exceeded报错隐藏 */\\r\\n#webpack-dev-server-client-overlay {\\r\\n display: none !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"pdfjs-dist/legacy/build/pdf\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-visibility-sensor\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"pdfjs-dist/legacy/build/pdf.worker.entry\");","\n import API from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/cjs.js!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/cjs.js!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react/jsx-runtime\");","import './style.css'\r\nimport Img from './loading.png'\r\nexport const Loading=()=>{\r\n return <div className='loading-box-wrapper'>\r\n <div className='loading-box'>\r\n <img src={Img} alt=\"\" />\r\n </div>\r\n <p className='text'>加载中 ,请稍等 · · · </p>\r\n </div>\r\n}","export default \"data:image/png;base64,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\"","\r\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\"\r\nimport React,{ useEffect,useState,useRef } from 'react'\r\nimport VisibilitySensor from 'react-visibility-sensor';\r\nimport pdfjsWorker from \"pdfjs-dist/legacy/build/pdf.worker.entry\"\r\nimport {Loading}from \"../loading\";\r\nPDFJS.GlobalWorkerOptions.workerSrc = pdfjsWorker\r\n\r\n\r\nconst DEFAULT_SCALE=1.4\r\nconst INCREASE_PERCENTAGE = 0.2;\r\nlet timeout;\r\n\r\nconst PDFPage=React.memo(({index,zoom,pdfInstance,containerWidth})=>{\r\n const [visible,setVisible]=useState(false)\r\n const handlePageRender=async()=>{\r\n const page= await pdfInstance.getPage(index);\r\n const calculatedScale = (containerWidth / page.getViewport({scale:DEFAULT_SCALE}).width);\r\n const scale = calculatedScale > DEFAULT_SCALE ? DEFAULT_SCALE : calculatedScale;\r\n const viewport = page.getViewport({scale:scale + zoom});\r\n const { width, height } = viewport;\r\n const canvas = document.getElementById(\"canvasPDF\" + index);\r\n const context = canvas.getContext('2d');\r\n canvas.width = width;\r\n canvas.height = height;\r\n page.render({\r\n canvasContext: context,\r\n viewport,\r\n });\r\n }\r\n const onChange=(visible)=>{\r\n setVisible(visible)\r\n }\r\n useEffect(()=>{\r\n if(visible){\r\n handlePageRender()\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n },[index,zoom,visible])\r\n\r\n return <div key={String(index)+'pdf'} style={{textAlign:'center',display:'flex',justifyContent:'center'}}>\r\n <VisibilitySensor partialVisibility onChange={onChange}>\r\n <canvas id={'canvasPDF'+index}/> \r\n </VisibilitySensor>\r\n </div>\r\n\r\n})\r\n\r\nexport const PDFViewer=(props)=>{\r\n const [pages,setPages]=useState([])\r\n const [loading,setLoading]=useState(true)\r\n const [zoom,setZoom]=useState(0)\r\n const pdfRef=useRef()\r\n const containerRef=useRef()\r\n const handleIncreaseZoom=()=>{\r\n if (timeout) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n }\r\n timeout = setTimeout(()=>{\r\n setZoom(s=>s+1)\r\n }, 200);\r\n \r\n }\r\n\r\n const handleReduceZoom=()=>{\r\n if (zoom <-2) return;\r\n if (timeout) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n }\r\n timeout = setTimeout(()=>{\r\n setZoom(s=>s-1)\r\n }, 200);\r\n }\r\n\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n PDFJS.getDocument(props?.filePath).promise.then((pdf) => {\r\n pdfRef.current=pdf\r\n const random=(Math.random() * 10000000).toFixed(0)\r\n const tempPages = Array.from({ length: pdf.numPages }).fill(random);\r\n setPages(tempPages)\r\n setLoading(false)\r\n });\r\n }\r\n },[props?.filePath])\r\n\r\n return <div className=\"pdf-viewer-wrapper\">\r\n <div className=\"pdf-controls\">\r\n <div className=\"pdf-large\" onClick={handleIncreaseZoom}>➕</div>\r\n <div className=\"pdf-small\" onClick={handleReduceZoom}>➖</div>\r\n </div>\r\n {loading && <Loading/>}\r\n <div ref={containerRef} className=\"pdf-viewer\">\r\n {\r\n !loading && pages?.map((x,i)=>{\r\n return <PDFPage \r\n key={String(i)+'pdfs'+x}\r\n index={i+1} \r\n zoom={zoom * INCREASE_PERCENTAGE} \r\n pdfInstance={pdfRef.current} \r\n containerWidth={containerRef.current?.offsetWidth}\r\n />\r\n })\r\n }\r\n </div>\r\n </div>\r\n}","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"docx-preview\");","\r\n\r\nimport React,{ useEffect,useState } from 'react'\r\nimport {Loading}from \"../loading\";\r\n\r\nimport { defaultOptions, renderAsync } from \"docx-preview\";\r\n\r\n\r\nexport const DocxViewer=(props)=>{\r\n const [loading,setLoading]=useState(true)\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n const docxOptions = Object.assign(defaultOptions, {\r\n debug: false,\r\n experimental: true,\r\n });\r\n const dom=document.getElementById('docx-viewer')\r\n renderAsync(props?.filePath, dom, null, docxOptions).finally(()=>{\r\n setLoading(false)\r\n })\r\n }\r\n },[props?.filePath])\r\n\r\n return <div className=\"docx-viewer-wrapper\">\r\n {loading && <Loading/>}\r\n <div id=\"docx-viewer\" style={{visibility:loading?'hidden':'visible'}}></div>\r\n </div>\r\n}","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"exceljs\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"handsontable\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"handsontable/i18n\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"handsontable/dist/handsontable.full.min.css\");","\n// 深度扁平化routes\nexport function flatten(routes) {\n return routes.flatMap(route => route.children ? [ route, ...flatten(route.children) ] : [ route ]);\n}\n\n// 转化style对象为style字符串\nexport function toStyleString(style) {\n return [...style].map(key => `${key}: ${style[key]}`).join(';')\n}\n\n// 修复矩阵的宽度\nexport function fixMatrix(data, colLen) {\n for (const row of data) {\n for (let j = 0; j < colLen; j++) {\n if (!row[j]) {\n row[j] = '';\n }\n }\n }\n return data;\n}\n\n// 首字母大写\nexport function captain(str) {\n return `${str.charAt(0).toUpperCase()}${str.slice(1)}`;\n}\n\n// 连字符转驼峰\nexport function camelCase(str) {\n return str.split('-').map((part, index) => {\n if (index !== 0) {\n return captain(part);\n } else {\n return part;\n }\n }).join('');\n}\n","\r\n\r\nimport React,{ useEffect,useState,useMemo,useRef } from 'react'\r\nimport ExcelJS from \"exceljs\";\r\nimport Handsontable from \"handsontable\";\r\nimport { registerLanguageDictionary, zhCN } from \"handsontable/i18n\";\r\nimport \"handsontable/dist/handsontable.full.min.css\";\r\nimport { camelCase, captain, fixMatrix } from \"./util\";\r\nimport {Loading}from \"../loading\";\r\n// 注册中文\r\nregisterLanguageDictionary(zhCN);\r\n\r\nconst indexedColors = [\r\n '000000',\r\n 'FFFFFF',\r\n 'FF0000',\r\n '00FF00',\r\n '0000FF',\r\n 'FFFF00',\r\n 'FF00FF',\r\n '00FFFF',\r\n '000000',\r\n 'FFFFFF',\r\n 'FF0000',\r\n '00FF00',\r\n '0000FF',\r\n 'FFFF00',\r\n 'FF00FF',\r\n '00FFFF',\r\n '800000',\r\n '008000',\r\n '000080',\r\n '808000',\r\n '800080',\r\n '008080',\r\n 'C0C0C0',\r\n '808080',\r\n '9999FF',\r\n '993366',\r\n 'FFFFCC',\r\n 'CCFFFF',\r\n '660066',\r\n 'FF8080',\r\n '0066CC',\r\n 'CCCCFF',\r\n '000080',\r\n 'FF00FF',\r\n 'FFFF00',\r\n '00FFFF',\r\n '800080',\r\n '800000',\r\n '008080',\r\n '0000FF',\r\n '00CCFF',\r\n 'CCFFFF',\r\n 'CCFFCC',\r\n 'FFFF99',\r\n '99CCFF',\r\n 'FF99CC',\r\n 'CC99FF',\r\n 'FFCC99',\r\n '3366FF',\r\n '33CCCC',\r\n '99CC00',\r\n 'FFCC00',\r\n 'FF9900',\r\n 'FF6600',\r\n '666699',\r\n '969696',\r\n '003366',\r\n '339966',\r\n '003300',\r\n '333300',\r\n '993300',\r\n '993366',\r\n '333399',\r\n '333333',\r\n 'b7e0ff',\r\n '00CCFF'\r\n];\r\n\r\n\r\n// 边框类型\r\nconst borders = [\"left\", \"right\", \"top\", \"bottom\"];\r\nconst RenderTable=({workbook={},...props})=>{\r\n const [curSheetId,setCurSheetId]=useState(1)\r\n const [loading,setLoading]=useState(true)\r\n const workbookRef=useRef()\r\n const themeColors=useRef()\r\n \r\n const sheets=useMemo(()=>{\r\n if(workbook?.worksheets){\r\n return workbook.worksheets.filter((sheet) => sheet._rows.length);\r\n }\r\n return []\r\n },[workbook])\r\n\r\n\r\n const ws=useMemo(()=>{\r\n const { getWorksheet = {} } = workbook;\r\n if (getWorksheet && curSheetId!==-1) {\r\n const index = curSheetId || sheets[0].id;\r\n if(workbook?.getWorksheet){\r\n return workbook?.getWorksheet(index);\r\n }\r\n }\r\n return null;\r\n },[workbook,curSheetId])\r\n\r\n const parseTheme=()=> {\r\n const theme = workbook?._themes?.theme1;\r\n const parser = new DOMParser();\r\n if (theme) {\r\n const doc = parser.parseFromString(theme, \"text/xml\");\r\n const [{ children = [] } = {}] =\r\n doc.getElementsByTagName(\"a:clrScheme\");\r\n themeColors.current = [...children]\r\n .flatMap((node) => [...node.getElementsByTagName(\"a:srgbClr\")])\r\n .map((node) => node.getAttribute(\"val\"))\r\n .filter((i) => i);\r\n }\r\n }\r\n\r\n const alignToClass=({ horizontal, vertical }) =>{\r\n return [horizontal, vertical]\r\n .filter((i) => i)\r\n .map((key) => `ht${key.charAt(0).toUpperCase()}${key.slice(1)}`)\r\n .join(\" \");\r\n }\r\n\r\n const transferTime=(str)=>{\r\n var date = new Date(str);\r\n var y = date.getFullYear();\r\n var m = date.getMonth() + 1;\r\n m = m < 10 ? ('0' + m) : m;\r\n var d = date.getDate();\r\n d = d < 10 ? ('0' + d) : d;\r\n var h = date.getHours();\r\n var minute = date.getMinutes();\r\n minute = minute < 10 ? ('0' + minute) : minute;\r\n let time = y + '-' + m + '-' + d\r\n return time\r\n }\r\n const renderDefault=()=>{\r\n Handsontable.renderers.registerRenderer(\r\n \"styleRender\",\r\n (hotInstance, TD, row, col, prop, value, cell) => {\r\n Handsontable.renderers.getRenderer(\"text\")(\r\n hotInstance,\r\n TD,\r\n row,\r\n col,\r\n prop,\r\n value,\r\n cell\r\n );\r\n const isTime=(value + '').indexOf('中国标准时间')>-1;\r\n if(isTime){\r\n TD.innerText = transferTime(value)\r\n }\r\n if (ws && cell.style) {\r\n const {\r\n style: { alignment: { wrapText } = {}, border, fill, font },\r\n } = cell;\r\n const style = TD.style;\r\n if (font) {\r\n if (font.bold) style.fontWeight = \"bold\";\r\n if (font.size) style.fontSize = `${font.size}px`;\r\n }\r\n if (fill) {\r\n if (fill.bgColor) {\r\n const { argb, indexed } = fill.bgColor;\r\n style.backgroundColor = `#${argb || indexedColors[indexed]}`;\r\n }\r\n if (fill.fgColor) {\r\n const { theme, indexed } = fill.fgColor;\r\n if (theme && themeColors.current) {\r\n const color = themeColors.current[theme + 1];\r\n if (color) {\r\n style.color = `#${color}`;\r\n }\r\n }\r\n if (indexed) {\r\n style.color = `#${indexedColors[indexed]}`;\r\n }\r\n }\r\n }\r\n if (border) {\r\n borders\r\n .map((key) => ({ key, value: border[key] }))\r\n .filter((v) => v.value)\r\n .forEach((v) => {\r\n const {\r\n key,\r\n value: { style: borderStyle },\r\n } = v;\r\n const prefix = `border${captain(key)}`;\r\n if (borderStyle === \"thin\") {\r\n style[`${prefix}Width`] = \"1px\";\r\n } else {\r\n style[`${prefix}Width`] = \"2px\";\r\n }\r\n style[`${prefix}Style`] = \"solid\";\r\n style[`${prefix}Color`] = \"#000\";\r\n });\r\n }\r\n }\r\n // 启用了内联css,直接赋值\r\n if (cell.css) {\r\n const style = TD.style;\r\n const { css } = cell;\r\n Object.keys(css).forEach((key) => {\r\n const k = camelCase(key);\r\n style[k] = css[key];\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n const merge=useMemo(()=> {\r\n if(ws){\r\n const { _merges={} } = ws;\r\n return Object.values(_merges).map(({ left, top, right, bottom }) => {\r\n // 构建区域\r\n return {\r\n row: top - 1,\r\n col: left - 1,\r\n rowspan: bottom - top + 1,\r\n colspan: right - left + 1,\r\n };\r\n });\r\n }\r\n },[\r\n ws\r\n ])\r\n \r\n const cols=useMemo(() =>{\r\n return ws?.columns.map((item) => item.letter);\r\n },[ws])\r\n const data=useMemo(() =>{\r\n if(ws && cols){\r\n return fixMatrix(\r\n ws?.getRows(1, ws.actualRowCount).map((row) =>\r\n row?._cells.map((item) => {\r\n const value = item.model.value;\r\n if (value) {\r\n if(value.richText){\r\n if(Array.isArray(value.richText)){\r\n return value.richText.map(x=>x.text).join('')\r\n }else{\r\n return value.richText.text\r\n }\r\n }\r\n return value;\r\n }\r\n return \"\";\r\n })\r\n ),\r\n cols?.length\r\n );\r\n }\r\n return []\r\n },[\r\n ws,cols\r\n ])\r\n const columns=useMemo(() =>{\r\n return ws?.columns?.map((item) => ({\r\n ...(item.width\r\n ? { width: item.width*6 < 100 ? 100 : item.width*6 }\r\n : { width: 100 }),\r\n className: alignToClass(item.alignment || {}),\r\n renderer: \"styleRender\",\r\n }));\r\n },[ws])\r\n const cell=useMemo(()=> {\r\n if(ws){\r\n return ws?.getRows(1, ws.actualRowCount).flatMap((row, ri) => {\r\n return row._cells\r\n .map((cell, ci) => {\r\n if (cell.style) {\r\n return {\r\n row: ri,\r\n col: ci,\r\n ...(cell.alignment\r\n ? { className: alignToClass(cell.alignment) }\r\n : {}),\r\n style: cell.style,\r\n };\r\n }\r\n })\r\n .filter((i) => i);\r\n });\r\n }\r\n return []\r\n \r\n },[ws])\r\n const border=useMemo(()=> {\r\n if(ws){\r\n return ws?.getRows(1, ws.actualRowCount).flatMap((row, ri) => {\r\n return row._cells\r\n .map((cell, ci) => {\r\n if (cell.style && cell.style.border) {\r\n const border = cell.style.border;\r\n const keys = Object.keys(border);\r\n if (keys.length) {\r\n return {\r\n row: ri,\r\n col: ci,\r\n ...keys.reduce((result, key) => {\r\n result[key] = {\r\n width: 1,\r\n color: `#${\r\n (border.color && indexedColors[border.color.indexed]) ||\r\n border.argb ||\r\n \"000000\"\r\n }`,\r\n };\r\n return result;\r\n }, {}),\r\n };\r\n }\r\n }\r\n })\r\n .filter((i) => i);\r\n });\r\n }\r\n return []\r\n },[ws])\r\n const updateTable=()=>{\r\n workbookRef.current.updateSettings({\r\n mergeCells: merge,\r\n data: data,\r\n colHeaders: cols,\r\n columns: columns,\r\n cell: cell,\r\n autoColumnSize : true,\r\n stretchH: 'all',\r\n // customBorders: this.border,\r\n });\r\n setTimeout(()=>{\r\n setLoading(false)\r\n },200)\r\n }\r\n useEffect(()=>{\r\n const dom=document.getElementById('xlsx-handsontable')\r\n const setting={\r\n outsideClickDeselects: false,\r\n // 表格总宽度 默认undefined\r\n width: '100%',\r\n // 表格总高度 默认undefined\r\n height: \"calc(100vh - 112px)\",\r\n // 水平垂直居中\r\n className: 'htCenter htMiddle',\r\n // 当值为true且列宽未设置时,自适应列大小\r\n autoColumnSize: true,\r\n // 列标题高度\r\n columnHeaderHeight: 24,\r\n // 是否允许列表行排序\r\n columnSorting: false,\r\n // 是否可以多列排序\r\n multiColumnSorting: false,\r\n // 列表头字段\r\n colHeaders: null,\r\n // 是否展示行表头\r\n rowHeaders: true,\r\n // 行表头宽度\r\n rowHeaderWidth: 30,\r\n // 行高\r\n rowHeights: 30,\r\n // 列宽--可以数字 100、字符串'100px'、数组[10,20,30]或者函数 (index)=>{return index*10}\r\n colWidths: 150,\r\n // 行拖动\r\n manualRowMove: false,\r\n // 列拖动\r\n manualColumnMove: false,\r\n // 手动调整行大小\r\n manualRowResize: false,\r\n // 手动调整列大小\r\n manualColumnResize: false,\r\n // 是否开启固定列\r\n manualColumnFreeze: true,\r\n // 列对应属性\r\n columns: undefined,\r\n // 只读属性,不可编辑\r\n readOnly: true,\r\n copyable: true,\r\n // 可粘贴 ctrl+ V\r\n copyPaste: true,\r\n // 禁用或启用拖动滚动功能\r\n dragToScroll: true,\r\n // 允许将可配置的下拉菜单添加到表的列标题中\r\n dropdownMenu: false,\r\n // 过滤\r\n filters: true,\r\n // 表格左侧指定固定(或冻结)列的数量\r\n fixedColumnsLeft: 0,\r\n // 表格底部指定固定(或冻结)行的数量\r\n fixedRowsBottom: 0,\r\n // 表格顶部指定固定(或冻结)行的数量\r\n fixedRowsTop: 0,\r\n // 合并单元格\r\n mergeCells: true,\r\n // 表宽度不同于所有列宽度的计算得出的总和时列的反应 'none' |'last'|'all'\r\n stretchH: 'none',\r\n // 对单元值进行预定义的计算\r\n columnSummary: undefined,\r\n // 最少空列\r\n minSpareCols: 0,\r\n // 最少空行\r\n minSpareRows: 0,\r\n // 禁用公式计算\r\n formulas: false,\r\n viewportColumnRenderingOffset: 50,\r\n viewportRowRenderingOffset: 50,\r\n // 渲染全部行\r\n renderAllRows: true,\r\n language: 'zh-CN',\r\n licenseKey: \"non-commercial-and-evaluation\",\r\n }\r\n if(dom && ws){\r\n workbookRef.current = new Handsontable(dom, setting)\r\n parseTheme()\r\n renderDefault()\r\n updateTable()\r\n }\r\n },[ws,data])\r\n\r\n\r\n const handleTabSheet=(id)=>{\r\n if(id===curSheetId)return\r\n setLoading(true)\r\n setCurSheetId(-1)\r\n setTimeout(()=>{\r\n setCurSheetId(id)\r\n updateTable();\r\n },0)\r\n }\r\n \r\n renderDefault()\r\n return <div className='xlsx-viewer'>\r\n {\r\n ws && data?.length>0 && (<div style={{display:loading?'none':'block'}} id=\"xlsx-handsontable\"/>)\r\n }\r\n {loading && <Loading/>}\r\n <div className='xlsx-bottom-btns'>\r\n {\r\n !loading && sheets?.map((x,i)=><button \r\n className='xlsx-btn' \r\n key={String(i)+'xlsxbtn'} \r\n onClick={()=>{\r\n handleTabSheet(x?.id)\r\n }}\r\n style={curSheetId===x?.id?{color:'#fff',backgroundColor:'#52c41a',borderColor:'#52c41a'}:{}}\r\n >{x?.name}</button>)\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n\r\n\r\nexport const XlsxViewer=(props)=>{\r\n const [workbook,setWorkbook]=useState({})\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n new ExcelJS.Workbook().xlsx.load(props?.filePath).then(workbook=>{\r\n setWorkbook(workbook)\r\n })\r\n }\r\n },[props?.filePath])\r\n\r\n return <div className=\"xlsx-viewer-wrapper\">\r\n <RenderTable workbook={workbook}/>\r\n </div>\r\n}","'use strict'\n\nlet _order = 1\n\nexport default function t_xml (S) {\n const openBracket = '<'\n const openBracketCC = '<'.charCodeAt(0)\n const closeBracket = '>'\n const closeBracketCC = '>'.charCodeAt(0)\n const minusCC = '-'.charCodeAt(0)\n const slashCC = '/'.charCodeAt(0)\n const exclamationCC = '!'.charCodeAt(0)\n const singleQuoteCC = '\\''.charCodeAt(0)\n const doubleQuoteCC = '\"'.charCodeAt(0)\n const questionMarkCC = '?'.charCodeAt(0)\n\n /**\n * returns text until the first nonAlphebetic letter\n */\n const nameSpacer = '\\r\\n\\t>/= '\n\n let pos = 0\n\n /**\n * Parsing a list of entries\n */\n function parseChildren () {\n const children = []\n while (S[pos]) {\n if (S.charCodeAt(pos) === openBracketCC) {\n if (S.charCodeAt(pos + 1) === slashCC) { // </\n // while (S[pos]!=='>') { pos++; }\n pos = S.indexOf(closeBracket, pos)\n return children\n } else if (S.charCodeAt(pos + 1) === exclamationCC) { // <! or <!--\n if (S.charCodeAt(pos + 2) === minusCC) {\n // comment support\n while (!(S.charCodeAt(pos) === closeBracketCC && S.charCodeAt(pos - 1) === minusCC &&\n S.charCodeAt(pos - 2) === minusCC && pos !== -1)) {\n pos = S.indexOf(closeBracket, pos + 1)\n }\n if (pos === -1) {\n pos = S.length\n }\n } else {\n // doctype support\n pos += 2\n for (; S.charCodeAt(pos) !== closeBracketCC; pos++) {}\n }\n pos++\n continue\n } else if (S.charCodeAt(pos + 1) === questionMarkCC) { // <?\n // XML header support\n pos = S.indexOf(closeBracket, pos)\n pos++\n continue\n }\n pos++\n let startNamePos = pos\n for (; nameSpacer.indexOf(S[pos]) === -1; pos++) {}\n const nodeTagName = S.slice(startNamePos, pos)\n\n // Parsing attributes\n let attrFound = false\n let nodeAttributes = {}\n for (; S.charCodeAt(pos) !== closeBracketCC; pos++) {\n const c = S.charCodeAt(pos)\n if ((c > 64 && c < 91) || (c > 96 && c < 123)) {\n startNamePos = pos\n for (; nameSpacer.indexOf(S[pos]) === -1; pos++) {}\n const name = S.slice(startNamePos, pos)\n // search beginning of the string\n let code = S.charCodeAt(pos)\n while (code !== singleQuoteCC && code !== doubleQuoteCC) {\n pos++\n code = S.charCodeAt(pos)\n }\n\n const startChar = S[pos]\n const startStringPos = ++pos\n pos = S.indexOf(startChar, startStringPos)\n const value = S.slice(startStringPos, pos)\n if (!attrFound) {\n nodeAttributes = {}\n attrFound = true\n }\n nodeAttributes[name] = value\n }\n }\n\n // Optional parsing of children\n let nodeChildren\n if (S.charCodeAt(pos - 1) !== slashCC) {\n pos++\n nodeChildren = parseChildren()\n }\n\n children.push({\n 'children': nodeChildren,\n 'tagName': nodeTagName,\n 'attrs': nodeAttributes\n })\n } else {\n const startTextPos = pos\n pos = S.indexOf(openBracket, pos) - 1 // Skip characters until '<'\n if (pos === -2) {\n pos = S.length\n }\n const text = S.slice(startTextPos, pos + 1)\n if (text.trim().length > 0) {\n children.push(text)\n }\n }\n pos++\n }\n return children\n }\n\n _order = 1\n return simplefy(parseChildren())\n}\n\nfunction simplefy (children) {\n const node = {}\n\n if (children === undefined) {\n return {}\n }\n\n // Text node (e.g. <t>This is text.</t>)\n if (children.length === 1 && (typeof children[0] === 'string' || children[0] instanceof String)) {\n // eslint-disable-next-line no-new-wrappers\n return new String(children[0])\n }\n\n // map each object\n children.forEach(function (child) {\n if (!node[child.tagName]) {\n node[child.tagName] = []\n }\n\n if (typeof child === 'object') {\n const kids = simplefy(child.children)\n if (child.attrs) {\n kids.attrs = child.attrs\n }\n\n if (kids['attrs'] === undefined) {\n kids['attrs'] = {'order': _order}\n } else {\n kids['attrs']['order'] = _order\n }\n _order++\n node[child.tagName].push(kids)\n }\n })\n\n for (let i in node) {\n if (node[i].length === 1) {\n node[i] = node[i][0]\n }\n }\n\n return node\n}\n","/**\n * Colorz (or Colz) is a Javascript \"library\" to help\n * in color conversion between the usual color-spaces\n * Hex - Rgb - Hsl / Hsv - Hsb\n *\n * It provides some helpers to output Canvas / CSS\n * color strings.\n *\n * by Carlos Cabo 2013\n * http://carloscabo.com\n *\n * Some formulas borrowed from Wikipedia or other authors.\n */\n\nconst round = Math.round\n\n/*\n ==================================\n Color constructors\n ==================================\n*/\n\nexport class Rgb {\n constructor (col) {\n this.r = col[0]\n this.g = col[1]\n this.b = col[2]\n }\n\n toString () {\n return `rgb(${this.r},${this.g},${this.b})`\n }\n}\n\nexport class Rgba extends Rgb {\n constructor (col) {\n super(col)\n this.a = col[3]\n }\n\n toString () {\n return `rgba(${this.r},${this.g},${this.b},${this.a})`\n }\n}\n\nexport class Hsl {\n constructor (col) {\n this.h = col[0]\n this.s = col[1]\n this.l = col[2]\n }\n\n toString () {\n return `hsl(${this.h},${this.s}%,${this.l}%)`\n }\n}\n\nexport class Hsla extends Hsl {\n constructor (col) {\n super(col)\n this.a = col[3]\n }\n\n toString () {\n return `hsla(${this.h},${this.s}%,${this.l}%,${this.a})`\n }\n}\n\n/*\n ==================================\n Main Colz color object\n ==================================\n*/\nexport class Color {\n constructor (r, g, b, a = 1.0) {\n // If args are not given in (r, g, b, [a]) format, convert\n if (typeof r === 'string') {\n let str = r\n // Add initial '#' if missing\n if (str.charAt(0) !== '#') { str = '#' + str }\n // If Hex in #fff format convert to #ffffff\n if (str.length < 7) {\n str = '#' + str[1] + str[1] + str[2] + str[2] + str[3] + str[3]\n }\n ([r, g, b] = hexToRgb(str))\n } else if (r instanceof Array) {\n a = r[3] || a\n b = r[2]\n g = r[1]\n r = r[0]\n }\n\n this.r = r\n this.g = g\n this.b = b\n this.a = a\n\n this.rgb = new Rgb([this.r, this.g, this.b])\n this.rgba = new Rgba([this.r, this.g, this.b, this.a])\n this.hex = rgbToHex(this.r, this.g, this.b)\n\n this.hsl = new Hsl(rgbToHsl(this.r, this.g, this.b))\n this.h = this.hsl.h\n this.s = this.hsl.s\n this.l = this.hsl.l\n this.hsla = new Hsla([this.h, this.s, this.l, this.a])\n }\n\n setHue (newHue) {\n this.h = newHue\n this.hsl.h = newHue\n this.hsla.h = newHue\n this.updateFromHsl()\n }\n\n setSat (newSat) {\n this.s = newSat\n this.hsl.s = newSat\n this.hsla.s = newSat\n this.updateFromHsl()\n }\n\n setLum (newLum) {\n this.l = newLum\n this.hsl.l = newLum\n this.hsla.l = newLum\n this.updateFromHsl()\n }\n\n setAlpha (newAlpha) {\n this.a = newAlpha\n this.hsla.a = newAlpha\n this.rgba.a = newAlpha\n }\n\n updateFromHsl () {\n // Updates Rgb\n this.rgb = null\n this.rgb = new Rgb(hslToRgb(this.h, this.s, this.l))\n\n this.r = this.rgb.r\n this.g = this.rgb.g\n this.b = this.rgb.b\n this.rgba.r = this.rgb.r\n this.rgba.g = this.rgb.g\n this.rgba.b = this.rgb.b\n\n // Updates Hex\n this.hex = null\n this.hex = rgbToHex([this.r, this.g, this.b])\n }\n}\n\n/*\n ==================================\n Public Methods\n ==================================\n*/\n\nexport const randomColor = function () {\n const r = '#' + Math.random().toString(16).slice(2, 8)\n return new Color(r)\n}\n\nexport const hexToRgb = function (hex) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n return result ? [\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16)\n ] : null\n}\n\nexport const componentToHex = function (c) {\n const hex = c.toString(16)\n return hex.length === 1 ? '0' + hex : hex\n}\n\n// You can pass 3 numeric values or 1 Array\nexport const rgbToHex = function (r, g, b) {\n if (r instanceof Array) {\n b = r[2]\n g = r[1]\n r = r[0]\n }\n return '#' + componentToHex(r) + componentToHex(g) + componentToHex(b)\n}\n\n/**\n * Converts an RGB color value to HSL. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n *\n * @param {Number} r The red color value\n * @param {Number} g The green color value\n * @param {Number} b The blue color value\n * @return {Array} The HSL representation\n */\nexport const rgbToHsl = function (r, g, b) {\n if (r instanceof Array) {\n b = r[2]\n g = r[1]\n r = r[0]\n }\n\n let h, s, l, d, max, min\n\n r /= 255\n g /= 255\n b /= 255\n\n max = Math.max(r, g, b)\n min = Math.min(r, g, b)\n l = (max + min) / 2\n\n if (max === min) {\n h = s = 0 // achromatic\n } else {\n d = max - min\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0)\n break\n case g:\n h = (b - r) / d + 2\n break\n case b:\n h = (r - g) / d + 4\n break\n }\n\n h /= 6\n }\n\n // CARLOS\n h = round(h * 360)\n s = round(s * 100)\n l = round(l * 100)\n\n return [h, s, l]\n}\n\nexport const hue2rgb = function (p, q, t) {\n if (t < 0) { t += 1 }\n if (t > 1) { t -= 1 }\n if (t < 1 / 6) { return p + (q - p) * 6 * t }\n if (t < 1 / 2) { return q }\n if (t < 2 / 3) { return p + (q - p) * (2 / 3 - t) * 6 }\n return p\n}\n\n/**\n * Converts an HSL color value to RGB. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n *\n * @param {Number} h The hue\n * @param {Number} s The saturation\n * @param {Number} l The lightness\n * @return {Array} The RGB representation\n */\n\nexport const hslToRgb = function (h, s, l) {\n if (h instanceof Array) {\n l = h[2]\n s = h[1]\n h = h[0]\n }\n h = h / 360\n s = s / 100\n l = l / 100\n\n let r, g, b, q, p\n\n if (s === 0) {\n r = g = b = l // achromatic\n } else {\n q = l < 0.5 ? l * (1 + s) : l + s - l * s\n p = 2 * l - q\n r = hue2rgb(p, q, h + 1 / 3)\n g = hue2rgb(p, q, h)\n b = hue2rgb(p, q, h - 1 / 3)\n }\n return [round(r * 255), round(g * 255), round(b * 255)]\n}\n\n/**\n * Converts an RGB color value to HSB / HSV. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSV_color_space.\n *\n * @param {Number} r The red color value\n * @param {Number} g The green color value\n * @param {Number} b The blue color value\n * @return {Array} The HSB representation\n */\nexport const rgbToHsb = function (r, g, b) {\n let max, min, h, s, v, d\n\n r = r / 255\n g = g / 255\n b = b / 255\n\n max = Math.max(r, g, b)\n min = Math.min(r, g, b)\n v = max\n\n d = max - min\n s = max === 0 ? 0 : d / max\n\n if (max === min) {\n h = 0 // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0)\n break\n case g:\n h = (b - r) / d + 2\n break\n case b:\n h = (r - g) / d + 4\n break\n }\n h /= 6\n }\n\n // map top 360,100,100\n h = round(h * 360)\n s = round(s * 100)\n v = round(v * 100)\n\n return [h, s, v]\n}\n\n/**\n * Converts an HSB / HSV color value to RGB. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSV_color_space.\n *\n * @param {Number} h The hue\n * @param {Number} s The saturation\n * @param {Number} v The value\n * @return {Array} The RGB representation\n */\nexport const hsbToRgb = function (h, s, v) {\n let r, g, b, i, f, p, q, t\n\n // h = h / 360;\n if (v === 0) { return [0, 0, 0] }\n\n s = s / 100\n v = v / 100\n h = h / 60\n\n i = Math.floor(h)\n f = h - i\n p = v * (1 - s)\n q = v * (1 - (s * f))\n t = v * (1 - (s * (1 - f)))\n\n if (i === 0) {\n r = v\n g = t\n b = p\n } else if (i === 1) {\n r = q\n g = v\n b = p\n } else if (i === 2) {\n r = p\n g = v\n b = t\n } else if (i === 3) {\n r = p\n g = q\n b = v\n } else if (i === 4) {\n r = t\n g = p\n b = v\n } else if (i === 5) {\n r = v\n g = p\n b = q\n }\n\n r = Math.floor(r * 255)\n g = Math.floor(g * 255)\n b = Math.floor(b * 255)\n\n return [r, g, b]\n}\n\nexport const hsvToRgb = hsbToRgb // alias\n\n/* Convert from Hsv */\nexport const hsbToHsl = function (h, s, b) {\n return rgbToHsl(hsbToRgb(h, s, b))\n}\n\nexport const hsvToHsl = hsbToHsl // alias\n\n/*\n ==================================\n Color Scheme Builder\n ==================================\n*/\nexport class ColorScheme {\n constructor (colorVal, angleArray) {\n this.palette = []\n\n if (angleArray === undefined && colorVal instanceof Array) {\n // Asume you passing a color array ['#f00','#0f0'...]\n this.createFromColors(colorVal)\n } else {\n // Create scheme from color + hue angles\n this.createFromAngles(colorVal, angleArray)\n }\n }\n\n createFromColors (colorVal) {\n for (let i in colorVal) {\n if (colorVal.hasOwn(i)) {\n // console.log(colorVal[i]);\n this.palette.push(new Color(colorVal[i]))\n }\n }\n return this.palette\n }\n\n createFromAngles (colorVal, angleArray) {\n this.palette.push(new Color(colorVal))\n\n for (let i in angleArray) {\n if (angleArray.hasOwn(i)) {\n const tempHue = (this.palette[0].h + angleArray[i]) % 360\n this.palette.push(new Color(hslToRgb(tempHue, this.palette[0].s, this.palette[0].l)))\n }\n }\n return this.palette\n }\n\n /* Complementary colors constructors */\n static Compl (colorVal) {\n return new this(colorVal, [180])\n }\n\n /* Triad */\n static Triad (colorVal) {\n return new this(colorVal, [120, 240])\n }\n\n /* Tetrad */\n static Tetrad (colorVal) {\n return new this(colorVal, [60, 180, 240])\n }\n\n /* Analogous */\n static Analog (colorVal) {\n return new this(colorVal, [-45, 45])\n }\n\n /* Split complementary */\n static Split (colorVal) {\n return new this(colorVal, [150, 210])\n }\n\n /* Accented Analogous */\n static Accent (colorVal) {\n return new this(colorVal, [-45, 45, 180])\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"jszip\");","\"use strict\";\n\nimport t_xml from \"./t_xml\";\nimport { Color } from \"./colz\";\nimport JSZip from \"jszip\";\n\nfunction base64ArrayBuffer(arrayBuff) {\n const buff = new Uint8Array(arrayBuff);\n let text = \"\";\n for (let i = 0; i < buff.byteLength; i++) {\n text += String.fromCharCode(buff[i]);\n }\n return btoa(text);\n}\n\nfunction extractFileExtension(filename) {\n const dot = filename.lastIndexOf(\".\");\n if (dot === 0 || dot === -1) return \"\";\n return filename.substr(filename.lastIndexOf(\".\") + 1);\n}\n\n/*\nfunction escapeHtml (text) {\n const map = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n '\\'': '&#039;'\n }\n return text.replace(/[&<>\"']/g, m => map[m])\n}\n*/\nexport default function processPptx(setOnMessage = () => {}, postMessage) {\n const charts = [];\n let chartID = 0;\n\n let themeContent = null;\n\n let slideLayoutClrOvride = \"\";\n\n const styleTable = {};\n\n let tableStyles;\n // 设置postMessage方法\n setOnMessage(async (e) => {\n switch (e.type) {\n case \"processPPTX\": {\n try {\n await processPPTX(e.data);\n } catch (e) {\n console.error(\"AN ERROR HAPPENED DURING processPPTX\", e);\n postMessage({\n type: \"ERROR\",\n data: e.toString(),\n });\n }\n break;\n }\n default:\n }\n });\n\n async function processPPTX(data) {\n const zip = await JSZip.loadAsync(data);\n const dateBefore = new Date();\n\n if (zip.file(\"docProps/thumbnail.jpeg\") !== null) {\n const pptxThumbImg = await zip\n .file(\"docProps/thumbnail.jpeg\")\n .async(\"base64\");\n postMessage({\n type: \"pptx-thumb\",\n data: pptxThumbImg,\n });\n }\n\n const filesInfo = await getContentTypes(zip);\n const slideSize = await getSlideSize(zip);\n themeContent = await loadTheme(zip);\n\n tableStyles = await readXmlFile(zip, \"ppt/tableStyles.xml\");\n\n postMessage({\n type: \"slideSize\",\n data: slideSize,\n });\n\n const numOfSlides = filesInfo[\"slides\"].length;\n for (let i = 0; i < numOfSlides; i++) {\n const filename = filesInfo[\"slides\"][i];\n const slideHtml = await processSingleSlide(zip, filename, i, slideSize);\n postMessage({\n type: \"slide\",\n data: slideHtml,\n });\n postMessage({\n type: \"progress-update\",\n data: ((i + 1) * 100) / numOfSlides,\n });\n }\n\n postMessage({\n type: \"globalCSS\",\n data: genGlobalCSS(),\n });\n\n const dateAfter = new Date();\n postMessage({\n type: \"Done\",\n data: {\n time: dateAfter - dateBefore,\n charts,\n },\n });\n }\n\n async function readXmlFile(zip, filename) {\n return t_xml(await zip.file(filename).async(\"text\"));\n }\n\n async function getContentTypes(zip) {\n const ContentTypesJson = await readXmlFile(zip, \"[Content_Types].xml\");\n // console.log('CONTENT TYPES JSON', ContentTypesJson)\n const subObj = ContentTypesJson[\"Types\"][\"Override\"];\n const slidesLocArray = [];\n const slideLayoutsLocArray = [];\n for (let i = 0; i < subObj.length; i++) {\n switch (subObj[i][\"attrs\"][\"ContentType\"]) {\n case \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\":\n slidesLocArray.push(subObj[i][\"attrs\"][\"PartName\"].substr(1));\n break;\n case \"application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml\":\n slideLayoutsLocArray.push(subObj[i][\"attrs\"][\"PartName\"].substr(1));\n break;\n default:\n }\n }\n return {\n slides: slidesLocArray,\n slideLayouts: slideLayoutsLocArray,\n };\n }\n\n async function getSlideSize(zip) {\n // Pixel = EMUs * Resolution / 914400; (Resolution = 96)\n const content = await readXmlFile(zip, \"ppt/presentation.xml\");\n const sldSzAttrs = content[\"p:presentation\"][\"p:sldSz\"][\"attrs\"];\n return {\n width: (parseInt(sldSzAttrs[\"cx\"]) * 96) / 914400,\n height: (parseInt(sldSzAttrs[\"cy\"]) * 96) / 914400,\n };\n }\n\n async function loadTheme(zip) {\n const preResContent = await readXmlFile(\n zip,\n \"ppt/_rels/presentation.xml.rels\"\n );\n const relationshipArray = preResContent[\"Relationships\"][\"Relationship\"];\n let themeURI;\n if (relationshipArray.constructor === Array) {\n for (let i = 0; i < relationshipArray.length; i++) {\n if (\n relationshipArray[i][\"attrs\"][\"Type\"] ===\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\"\n ) {\n themeURI = relationshipArray[i][\"attrs\"][\"Target\"];\n break;\n }\n }\n } else if (\n relationshipArray[\"attrs\"][\"Type\"] ===\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\"\n ) {\n themeURI = relationshipArray[\"attrs\"][\"Target\"];\n }\n\n if (themeURI === undefined) {\n throw Error(\"Can't open theme file.\");\n }\n\n return readXmlFile(zip, \"ppt/\" + themeURI);\n }\n\n async function processSingleSlide(zip, sldFileName, index, slideSize) {\n postMessage({\n type: \"INFO\",\n data: \"Processing slide\" + (index + 1),\n });\n\n // =====< Step 1 >=====\n // Read relationship filename of the slide (Get slideLayoutXX.xml)\n // @sldFileName: ppt/slides/slide1.xml\n // @resName: ppt/slides/_rels/slide1.xml.rels\n const resName =\n sldFileName.replace(\"slides/slide\", \"slides/_rels/slide\") + \".rels\";\n const resContent = await readXmlFile(zip, resName);\n let RelationshipArray = resContent[\"Relationships\"][\"Relationship\"];\n let layoutFilename = \"\";\n const slideResObj = {};\n if (RelationshipArray.constructor === Array) {\n for (let i = 0; i < RelationshipArray.length; i++) {\n switch (RelationshipArray[i][\"attrs\"][\"Type\"]) {\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout\":\n layoutFilename = RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n break;\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide\":\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\":\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\":\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\":\n default: {\n slideResObj[RelationshipArray[i][\"attrs\"][\"Id\"]] = {\n type: RelationshipArray[i][\"attrs\"][\"Type\"].replace(\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/\",\n \"\"\n ),\n target: RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n ),\n };\n }\n }\n }\n } else {\n layoutFilename = RelationshipArray[\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n }\n // console.log(slideResObj);\n // Open slideLayoutXX.xml\n const slideLayoutContent = await readXmlFile(zip, layoutFilename);\n const slideLayoutTables = indexNodes(slideLayoutContent);\n const sldLayoutClrOvr =\n slideLayoutContent[\"p:sldLayout\"][\"p:clrMapOvr\"][\"a:overrideClrMapping\"];\n\n // console.log(slideLayoutClrOvride);\n if (sldLayoutClrOvr !== undefined) {\n slideLayoutClrOvride = sldLayoutClrOvr[\"attrs\"];\n }\n // =====< Step 2 >=====\n // Read slide master filename of the slidelayout (Get slideMasterXX.xml)\n // @resName: ppt/slideLayouts/slideLayout1.xml\n // @masterName: ppt/slideLayouts/_rels/slideLayout1.xml.rels\n const slideLayoutResFilename =\n layoutFilename.replace(\n \"slideLayouts/slideLayout\",\n \"slideLayouts/_rels/slideLayout\"\n ) + \".rels\";\n const slideLayoutResContent = await readXmlFile(\n zip,\n slideLayoutResFilename\n );\n RelationshipArray = slideLayoutResContent[\"Relationships\"][\"Relationship\"];\n let masterFilename = \"\";\n const layoutResObj = {};\n if (RelationshipArray.constructor === Array) {\n for (let i = 0; i < RelationshipArray.length; i++) {\n switch (RelationshipArray[i][\"attrs\"][\"Type\"]) {\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster\":\n masterFilename = RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n break;\n default:\n layoutResObj[RelationshipArray[i][\"attrs\"][\"Id\"]] = {\n type: RelationshipArray[i][\"attrs\"][\"Type\"].replace(\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/\",\n \"\"\n ),\n target: RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n ),\n };\n }\n }\n } else {\n masterFilename = RelationshipArray[\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n }\n // Open slideMasterXX.xml\n const slideMasterContent = await readXmlFile(zip, masterFilename);\n const slideMasterTextStyles = getTextByPathList(slideMasterContent, [\n \"p:sldMaster\",\n \"p:txStyles\",\n ]);\n const slideMasterTables = indexNodes(slideMasterContent);\n\n // ///////////////Amir/////////////\n // Open slideMasterXX.xml.rels\n const slideMasterResFilename =\n masterFilename.replace(\n \"slideMasters/slideMaster\",\n \"slideMasters/_rels/slideMaster\"\n ) + \".rels\";\n const slideMasterResContent = await readXmlFile(\n zip,\n slideMasterResFilename\n );\n RelationshipArray = slideMasterResContent[\"Relationships\"][\"Relationship\"];\n let themeFilename = \"\";\n const masterResObj = {};\n if (RelationshipArray.constructor === Array) {\n for (let i = 0; i < RelationshipArray.length; i++) {\n switch (RelationshipArray[i][\"attrs\"][\"Type\"]) {\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\":\n themeFilename = RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n break;\n default:\n masterResObj[RelationshipArray[i][\"attrs\"][\"Id\"]] = {\n type: RelationshipArray[i][\"attrs\"][\"Type\"].replace(\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/\",\n \"\"\n ),\n target: RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n ),\n };\n }\n }\n } else {\n themeFilename = RelationshipArray[\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n }\n // console.log(themeFilename)\n // Load Theme file\n if (themeFilename !== undefined) {\n themeContent = await readXmlFile(zip, themeFilename);\n }\n // =====< Step 3 >=====\n const slideContent = await readXmlFile(zip, sldFileName);\n const nodes = slideContent[\"p:sld\"][\"p:cSld\"][\"p:spTree\"];\n const warpObj = {\n zip: zip,\n slideLayoutTables: slideLayoutTables,\n slideMasterTables: slideMasterTables,\n slideResObj: slideResObj,\n slideMasterTextStyles: slideMasterTextStyles,\n layoutResObj: layoutResObj,\n masterResObj: masterResObj,\n };\n\n const bgColor = await getSlideBackgroundFill(\n slideContent,\n slideLayoutContent,\n slideMasterContent,\n warpObj\n );\n\n let result =\n \"<section style='width:\" +\n slideSize.width +\n \"px; height:\" +\n slideSize.height +\n \"px;\" +\n bgColor +\n \"'>\";\n\n for (let nodeKey in nodes) {\n if (nodes[nodeKey].constructor === Array) {\n for (let i = 0; i < nodes[nodeKey].length; i++) {\n result += await processNodesInSlide(\n nodeKey,\n nodes[nodeKey][i],\n warpObj\n );\n }\n } else {\n result += await processNodesInSlide(nodeKey, nodes[nodeKey], warpObj);\n }\n }\n\n return result + \"</section>\";\n }\n\n function indexNodes(content) {\n const keys = Object.keys(content);\n const spTreeNode = content[keys[0]][\"p:cSld\"][\"p:spTree\"];\n\n const idTable = {};\n const idxTable = {};\n const typeTable = {};\n\n for (let key in spTreeNode) {\n if (key === \"p:nvGrpSpPr\" || key === \"p:grpSpPr\") {\n continue;\n }\n\n const targetNode = spTreeNode[key];\n\n if (targetNode.constructor === Array) {\n for (let i = 0; i < targetNode.length; i++) {\n const nvSpPrNode = targetNode[i][\"p:nvSpPr\"];\n const id = getTextByPathList(nvSpPrNode, [\"p:cNvPr\", \"attrs\", \"id\"]);\n const idx = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"idx\",\n ]);\n const type = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n\n if (id !== undefined) {\n idTable[id] = targetNode[i];\n }\n if (idx !== undefined) {\n idxTable[idx] = targetNode[i];\n }\n if (type !== undefined) {\n typeTable[type] = targetNode[i];\n }\n }\n } else {\n const nvSpPrNode = targetNode[\"p:nvSpPr\"];\n const id = getTextByPathList(nvSpPrNode, [\"p:cNvPr\", \"attrs\", \"id\"]);\n const idx = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"idx\",\n ]);\n const type = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n\n if (id !== undefined) {\n idTable[id] = targetNode;\n }\n if (idx !== undefined) {\n idxTable[idx] = targetNode;\n }\n if (type !== undefined) {\n typeTable[type] = targetNode;\n }\n }\n }\n\n return { idTable: idTable, idxTable: idxTable, typeTable: typeTable };\n }\n\n async function processNodesInSlide(nodeKey, nodeValue, warpObj) {\n let result = \"\";\n\n switch (nodeKey) {\n case \"p:sp\": // Shape, Text\n result = await processSpNode(nodeValue, warpObj);\n break;\n case \"p:cxnSp\": // Shape, Text (with connection)\n result = await processCxnSpNode(nodeValue, warpObj);\n break;\n case \"p:pic\": // Picture\n result = await processPicNode(nodeValue, warpObj);\n break;\n case \"p:graphicFrame\": // Chart, Diagram, Table\n result = await processGraphicFrameNode(nodeValue, warpObj);\n break;\n case \"p:grpSp\": // 群組\n result = await processGroupSpNode(nodeValue, warpObj);\n break;\n default:\n }\n\n return result;\n }\n\n async function processGroupSpNode(node, warpObj) {\n const factor = 96 / 914400;\n\n const xfrmNode = node[\"p:grpSpPr\"][\"a:xfrm\"];\n const x = parseInt(xfrmNode[\"a:off\"][\"attrs\"][\"x\"]) * factor;\n const y = parseInt(xfrmNode[\"a:off\"][\"attrs\"][\"y\"]) * factor;\n const chx = parseInt(xfrmNode[\"a:chOff\"][\"attrs\"][\"x\"]) * factor;\n const chy = parseInt(xfrmNode[\"a:chOff\"][\"attrs\"][\"y\"]) * factor;\n const cx = parseInt(xfrmNode[\"a:ext\"][\"attrs\"][\"cx\"]) * factor;\n const cy = parseInt(xfrmNode[\"a:ext\"][\"attrs\"][\"cy\"]) * factor;\n const chcx = parseInt(xfrmNode[\"a:chExt\"][\"attrs\"][\"cx\"]) * factor;\n const chcy = parseInt(xfrmNode[\"a:chExt\"][\"attrs\"][\"cy\"]) * factor;\n\n const order = node[\"attrs\"][\"order\"];\n\n let result =\n \"<div class='block group' style='z-index: \" +\n order +\n \"; top: \" +\n (y - chy) +\n \"px; left: \" +\n (x - chx) +\n \"px; width: \" +\n (cx - chcx) +\n \"px; height: \" +\n (cy - chcy) +\n \"px;'>\";\n\n // Procsee all child nodes\n for (let nodeKey in node) {\n if (node[nodeKey].constructor === Array) {\n for (let i = 0; i < node[nodeKey].length; i++) {\n result += await processNodesInSlide(\n nodeKey,\n node[nodeKey][i],\n warpObj\n );\n }\n } else {\n result += await processNodesInSlide(nodeKey, node[nodeKey], warpObj);\n }\n }\n\n result += \"</div>\";\n\n return result;\n }\n\n async function processSpNode(node, warpObj) {\n /*\n * 958 <xsd:complexType name=\"CT_GvmlShape\">\n * 959 <xsd:sequence>\n * 960 <xsd:element name=\"nvSpPr\" type=\"CT_GvmlShapeNonVisual\" minOccurs=\"1\" maxOccurs=\"1\"/>\n * 961 <xsd:element name=\"spPr\" type=\"CT_ShapeProperties\" minOccurs=\"1\" maxOccurs=\"1\"/>\n * 962 <xsd:element name=\"txSp\" type=\"CT_GvmlTextShape\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 963 <xsd:element name=\"style\" type=\"CT_ShapeStyle\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 964 <xsd:element name=\"extLst\" type=\"CT_OfficeArtExtensionList\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 965 </xsd:sequence>\n * 966 </xsd:complexType>\n */\n\n const id = node[\"p:nvSpPr\"][\"p:cNvPr\"][\"attrs\"][\"id\"];\n const name = node[\"p:nvSpPr\"][\"p:cNvPr\"][\"attrs\"][\"name\"];\n const idx =\n node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined\n ? undefined\n : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"idx\"];\n let type =\n node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined\n ? undefined\n : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"type\"];\n const order = node[\"attrs\"][\"order\"];\n\n let slideLayoutSpNode;\n let slideMasterSpNode;\n\n if (type !== undefined) {\n if (idx !== undefined) {\n slideLayoutSpNode = warpObj[\"slideLayoutTables\"][\"typeTable\"][type];\n slideMasterSpNode = warpObj[\"slideMasterTables\"][\"typeTable\"][type];\n } else {\n slideLayoutSpNode = warpObj[\"slideLayoutTables\"][\"typeTable\"][type];\n slideMasterSpNode = warpObj[\"slideMasterTables\"][\"typeTable\"][type];\n }\n } else {\n if (idx !== undefined) {\n slideLayoutSpNode = warpObj[\"slideLayoutTables\"][\"idxTable\"][idx];\n slideMasterSpNode = warpObj[\"slideMasterTables\"][\"idxTable\"][idx];\n } else {\n // Nothing\n }\n }\n\n if (type === undefined) {\n type = getTextByPathList(slideLayoutSpNode, [\n \"p:nvSpPr\",\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n if (type === undefined) {\n type = getTextByPathList(slideMasterSpNode, [\n \"p:nvSpPr\",\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n }\n }\n\n return await genShape(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n id,\n name,\n idx,\n type,\n order,\n warpObj\n );\n }\n\n async function processCxnSpNode(node, warpObj) {\n const id = node[\"p:nvCxnSpPr\"][\"p:cNvPr\"][\"attrs\"][\"id\"];\n const name = node[\"p:nvCxnSpPr\"][\"p:cNvPr\"][\"attrs\"][\"name\"];\n // const idx = (node[\"p:nvCxnSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined) ? undefined : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"idx\"];\n // const type = (node[\"p:nvCxnSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined) ? undefined : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"type\"];\n // <p:cNvCxnSpPr>(<p:cNvCxnSpPr>, <a:endCxn>)\n const order = node[\"attrs\"][\"order\"];\n\n return await genShape(\n node,\n undefined,\n undefined,\n id,\n name,\n undefined,\n undefined,\n order,\n warpObj\n );\n }\n\n async function genShape(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n id,\n name,\n idx,\n type,\n order,\n warpObj\n ) {\n const xfrmList = [\"p:spPr\", \"a:xfrm\"];\n const slideXfrmNode = getTextByPathList(node, xfrmList);\n const slideLayoutXfrmNode = getTextByPathList(slideLayoutSpNode, xfrmList);\n const slideMasterXfrmNode = getTextByPathList(slideMasterSpNode, xfrmList);\n\n let result = \"\";\n const shpId = getTextByPathList(node, [\"attrs\", \"order\"]);\n // console.log(\"shpId: \",shpId)\n const shapType = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"attrs\",\n \"prst\",\n ]);\n\n // custGeom - Amir\n const custShapType = getTextByPathList(node, [\"p:spPr\", \"a:custGeom\"]);\n\n let isFlipV = false;\n if (\n getTextByPathList(slideXfrmNode, [\"attrs\", \"flipV\"]) === \"1\" ||\n getTextByPathList(slideXfrmNode, [\"attrs\", \"flipH\"]) === \"1\"\n ) {\n isFlipV = true;\n }\n // ///////////////////////Amir////////////////////////\n // rotate\n const rotate = angleToDegrees(\n getTextByPathList(slideXfrmNode, [\"attrs\", \"rot\"])\n );\n // console.log(\"rotate: \"+rotate);\n // ////////////////////////////////////////////////\n let w;\n let h;\n let border;\n let headEndNodeAttrs;\n let tailEndNodeAttrs;\n let fillColor;\n let grndFillFlg = false;\n let imgFillFlg = false;\n if (shapType !== undefined || custShapType !== undefined) {\n // const off = getTextByPathList(slideXfrmNode, ['a:off', 'attrs'])\n // const x = parseInt(off['x']) * 96 / 914400\n // const y = parseInt(off['y']) * 96 / 914400\n\n const ext = getTextByPathList(slideXfrmNode, [\"a:ext\", \"attrs\"]);\n w = (parseInt(ext[\"cx\"]) * 96) / 914400;\n h = (parseInt(ext[\"cy\"]) * 96) / 914400;\n\n result +=\n \"<svg class='drawing' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, undefined, undefined) +\n getSize(slideXfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n result += \"<defs>\";\n // Fill Color\n fillColor = await getShapeFill(node, true, warpObj);\n const clrFillType = getFillType(getTextByPathList(node, [\"p:spPr\"]));\n // ///////////////////////////////////////\n if (clrFillType === \"GRADIENT_FILL\") {\n grndFillFlg = true;\n const colorArray = fillColor.color;\n const angl = fillColor.rot;\n const svgGrdnt = getSvgGradient(w, h, angl, colorArray, shpId);\n // fill=\"url(#linGrd)\"\n result += svgGrdnt;\n } else if (clrFillType === \"PIC_FILL\") {\n imgFillFlg = true;\n const svgBgImg = getSvgImagePattern(fillColor, shpId);\n // fill=\"url(#imgPtrn)\"\n // console.log(svgBgImg)\n result += svgBgImg;\n }\n // Border Color\n border = getBorder(node, true);\n\n headEndNodeAttrs = getTextByPathList(node, [\n \"p:spPr\",\n \"a:ln\",\n \"a:headEnd\",\n \"attrs\",\n ]);\n tailEndNodeAttrs = getTextByPathList(node, [\n \"p:spPr\",\n \"a:ln\",\n \"a:tailEnd\",\n \"attrs\",\n ]);\n // type: none, triangle, stealth, diamond, oval, arrow\n\n if (\n (headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")) ||\n (tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\"))\n ) {\n const triangleMarker =\n \"<marker id='markerTriangle_\" +\n shpId +\n \"' viewBox='0 0 10 10' refX='1' refY='5' markerWidth='5' markerHeight='5' stroke='\" +\n border.color +\n \"' fill='\" +\n border.color +\n \"' orient='auto-start-reverse' markerUnits='strokeWidth'><path d='M 0 0 L 10 5 L 0 10 z' /></marker>\";\n result += triangleMarker;\n }\n result += \"</defs>\";\n }\n if (shapType !== undefined && custShapType === undefined) {\n switch (shapType) {\n case \"accentBorderCallout1\":\n case \"accentBorderCallout2\":\n case \"accentBorderCallout3\":\n case \"accentCallout1\":\n case \"accentCallout2\":\n case \"accentCallout3\":\n case \"actionButtonBackPrevious\":\n case \"actionButtonBeginning\":\n case \"actionButtonBlank\":\n case \"actionButtonDocument\":\n case \"actionButtonEnd\":\n case \"actionButtonForwardNext\":\n case \"actionButtonHelp\":\n case \"actionButtonHome\":\n case \"actionButtonInformation\":\n case \"actionButtonMovie\":\n case \"actionButtonReturn\":\n case \"actionButtonSound\":\n case \"arc\":\n case \"bevel\":\n case \"blockArc\":\n case \"borderCallout1\":\n case \"borderCallout2\":\n case \"borderCallout3\":\n case \"bracePair\":\n case \"bracketPair\":\n case \"callout1\":\n case \"callout2\":\n case \"callout3\":\n case \"can\":\n case \"chartPlus\":\n case \"chartStar\":\n case \"chartX\":\n case \"chevron\":\n case \"chord\":\n case \"cloud\":\n case \"cloudCallout\":\n case \"corner\":\n case \"cornerTabs\":\n case \"cube\":\n case \"diagStripe\":\n case \"donut\":\n case \"doubleWave\":\n case \"downArrowCallout\":\n case \"ellipseRibbon\":\n case \"ellipseRibbon2\":\n case \"flowChartAlternateProcess\":\n case \"flowChartCollate\":\n case \"flowChartConnector\":\n case \"flowChartDecision\":\n case \"flowChartDelay\":\n case \"flowChartDisplay\":\n case \"flowChartDocument\":\n case \"flowChartExtract\":\n case \"flowChartInputOutput\":\n case \"flowChartInternalStorage\":\n case \"flowChartMagneticDisk\":\n case \"flowChartMagneticDrum\":\n case \"flowChartMagneticTape\":\n case \"flowChartManualInput\":\n case \"flowChartManualOperation\":\n case \"flowChartMerge\":\n case \"flowChartMultidocument\":\n case \"flowChartOfflineStorage\":\n case \"flowChartOffpageConnector\":\n case \"flowChartOnlineStorage\":\n case \"flowChartOr\":\n case \"flowChartPredefinedProcess\":\n case \"flowChartPreparation\":\n case \"flowChartProcess\":\n case \"flowChartPunchedCard\":\n case \"flowChartPunchedTape\":\n case \"flowChartSort\":\n case \"flowChartSummingJunction\":\n case \"flowChartTerminator\":\n case \"folderCorner\":\n case \"frame\":\n case \"funnel\":\n case \"gear6\":\n case \"gear9\":\n case \"halfFrame\":\n case \"heart\":\n case \"homePlate\":\n case \"horizontalScroll\":\n case \"irregularSeal1\":\n case \"irregularSeal2\":\n case \"leftArrowCallout\":\n case \"leftBrace\":\n case \"leftBracket\":\n case \"leftRightArrowCallout\":\n case \"leftRightRibbon\":\n case \"lightningBolt\":\n case \"lineInv\":\n case \"mathDivide\":\n case \"mathEqual\":\n case \"mathMinus\":\n case \"mathMultiply\":\n case \"mathNotEqual\":\n case \"mathPlus\":\n case \"moon\":\n case \"nonIsoscelesTrapezoid\":\n case \"noSmoking\":\n case \"pie\":\n case \"pieWedge\":\n case \"plaque\":\n case \"plaqueTabs\":\n case \"quadArrowCallout\":\n case \"rect\":\n case \"ribbon\":\n case \"ribbon2\":\n case \"rightArrowCallout\":\n case \"rightBrace\":\n case \"rightBracket\":\n case \"round1Rect\":\n case \"round2DiagRect\":\n case \"round2SameRect\":\n case \"smileyFace\":\n case \"snip1Rect\":\n case \"snip2DiagRect\":\n case \"snip2SameRect\":\n case \"snipRoundRect\":\n case \"squareTabs\":\n case \"star10\":\n case \"star12\":\n case \"star16\":\n case \"star24\":\n case \"star32\":\n case \"star4\":\n case \"star5\":\n case \"star6\":\n case \"star7\":\n case \"star8\":\n case \"sun\":\n case \"teardrop\":\n case \"upArrowCallout\":\n case \"upDownArrowCallout\":\n case \"verticalScroll\":\n case \"wave\":\n case \"wedgeEllipseCallout\":\n case \"wedgeRectCallout\":\n case \"wedgeRoundRectCallout\": {\n result +=\n \"<rect x='0' y='0' width='\" +\n w +\n \"' height='\" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"ellipse\": {\n result +=\n \"<ellipse cx='\" +\n w / 2 +\n \"' cy='\" +\n h / 2 +\n \"' rx='\" +\n w / 2 +\n \"' ry='\" +\n h / 2 +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"roundRect\": {\n result +=\n \"<rect x='0' y='0' width='\" +\n w +\n \"' height='\" +\n h +\n \"' rx='7' ry='7' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"bentConnector2\": {\n // 直角 (path)\n let d;\n if (isFlipV) {\n d = \"M 0 \" + w + \" L \" + h + \" \" + w + \" L \" + h + \" 0\";\n } else {\n d = \"M \" + w + \" 0 L \" + w + \" \" + h + \" L 0 \" + h;\n }\n result +=\n \"<path d='\" +\n d +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' fill='none' \";\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n break;\n }\n case \"rtTriangle\": {\n result +=\n \" <polygon points='0 0,0 \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"triangle\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let shapAdjstVal = 0.5;\n if (shapAdjst !== undefined) {\n shapAdjstVal = (parseInt(shapAdjst.substr(4)) * 96) / 9144000;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nshapAdjst: \"+shapAdjst+\"\\nshapAdjstVal: \"+shapAdjstVal);\n }\n result +=\n \" <polygon points='\" +\n w * shapAdjstVal +\n \" 0,0 \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"diamond\": {\n result +=\n \" <polygon points='\" +\n w / 2 +\n \" 0,0 \" +\n h / 2 +\n \",\" +\n w / 2 +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"trapezoid\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adjstVal = 0.25;\n const maxAdjConst = 0.7407;\n if (shapAdjst !== undefined) {\n const adjst = (parseInt(shapAdjst.substr(4)) * 96) / 9144000;\n adjstVal = (adjst * 0.5) / maxAdjConst;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nshapAdjst: \"+shapAdjst+\"\\nadjstVal: \"+adjstVal);\n }\n result +=\n \" <polygon points='\" +\n w * adjstVal +\n \" 0,0 \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \",\" +\n (1 - adjstVal) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"parallelogram\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adjstVal = 0.25;\n let maxAdjConst;\n if (w > h) {\n maxAdjConst = w / h;\n } else {\n maxAdjConst = h / w;\n }\n if (shapAdjst !== undefined) {\n const adjst = parseInt(shapAdjst.substr(4)) / 100000;\n adjstVal = adjst / maxAdjConst;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nadjst: \"+adjstVal+\"\\nmaxAdjConst: \"+maxAdjConst);\n }\n result +=\n \" <polygon points='\" +\n adjstVal * w +\n \" 0,0 \" +\n h +\n \",\" +\n (1 - adjstVal) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"pentagon\": {\n result +=\n \" <polygon points='\" +\n 0.5 * w +\n \" 0,0 \" +\n 0.375 * h +\n \",\" +\n 0.15 * w +\n \" \" +\n h +\n \",\" +\n 0.85 * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n 0.375 * h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"hexagon\": {\n const shapAdjstArray =\n getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]) || [];\n let shapAdjst;\n for (let i = 0; i < shapAdjstArray.length; i++) {\n if (\n getTextByPathList(shapAdjstArray[i], [\"attrs\", \"name\"]) === \"adj\"\n ) {\n shapAdjst = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"fmla\",\n ]);\n }\n }\n let adjstVal = 0.25;\n const maxAdjConst = 0.62211;\n\n if (shapAdjst !== undefined) {\n const adjst = (parseInt(shapAdjst.substr(4)) * 96) / 9144000;\n adjstVal = (adjst * 0.5) / maxAdjConst;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nadjst: \"+adjstVal);\n }\n result +=\n \" <polygon points='\" +\n w * adjstVal +\n \" 0,0 \" +\n h / 2 +\n \",\" +\n w * adjstVal +\n \" \" +\n h +\n \",\" +\n (1 - adjstVal) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \",\" +\n (1 - adjstVal) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"heptagon\": {\n result +=\n \" <polygon points='\" +\n 0.5 * w +\n \" 0,\" +\n w / 8 +\n \" \" +\n h / 4 +\n \",0 \" +\n (5 / 8) * h +\n \",\" +\n w / 4 +\n \" \" +\n h +\n \",\" +\n (3 / 4) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n (5 / 8) * h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n h / 4 +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"octagon\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adj1 = 0.25;\n if (shapAdjst !== undefined) {\n adj1 = parseInt(shapAdjst.substr(4)) / 100000;\n }\n const adj2 = 1 - adj1;\n // console.log(\"adj1: \"+adj1+\"\\nadj2: \"+adj2);\n result +=\n \" <polygon points='\" +\n adj1 * w +\n \" 0,0 \" +\n adj1 * h +\n \",0 \" +\n adj2 * h +\n \",\" +\n adj1 * w +\n \" \" +\n h +\n \",\" +\n adj2 * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n adj2 * h +\n \",\" +\n w +\n \" \" +\n adj1 * h +\n \",\" +\n adj2 * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n\n break;\n }\n case \"decagon\": {\n result +=\n \" <polygon points='\" +\n (3 / 8) * w +\n \" 0,\" +\n w / 8 +\n \" \" +\n h / 8 +\n \",0 \" +\n h / 2 +\n \",\" +\n w / 8 +\n \" \" +\n (7 / 8) * h +\n \",\" +\n (3 / 8) * w +\n \" \" +\n h +\n \",\" +\n (5 / 8) * w +\n \" \" +\n h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n (7 / 8) * h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \",\" +\n (7 / 8) * w +\n \" \" +\n h / 8 +\n \",\" +\n (5 / 8) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"dodecagon\": {\n result +=\n \" <polygon points='\" +\n (3 / 8) * w +\n \" 0,\" +\n w / 8 +\n \" \" +\n h / 8 +\n \",0 \" +\n (3 / 8) * h +\n \",0 \" +\n (5 / 8) * h +\n \",\" +\n w / 8 +\n \" \" +\n (7 / 8) * h +\n \",\" +\n (3 / 8) * w +\n \" \" +\n h +\n \",\" +\n (5 / 8) * w +\n \" \" +\n h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n (7 / 8) * h +\n \",\" +\n w +\n \" \" +\n (5 / 8) * h +\n \",\" +\n w +\n \" \" +\n (3 / 8) * h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n h / 8 +\n \",\" +\n (5 / 8) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"bentConnector3\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n // console.log(\"isFlipV: \"+String(isFlipV)+\"\\nshapAdjst: \"+shapAdjst)\n let shapAdjstVal = 0.5;\n if (shapAdjst !== undefined) {\n shapAdjstVal = parseInt(shapAdjst.substr(4)) / 100000;\n // console.log(\"isFlipV: \"+String(isFlipV)+\"\\nshapAdjst: \"+shapAdjst+\"\\nshapAdjstVal: \"+shapAdjstVal);\n if (isFlipV) {\n result +=\n \" <polyline points='\" +\n w +\n \" 0,\" +\n (1 - shapAdjstVal) * w +\n \" 0,\" +\n (1 - shapAdjstVal) * w +\n \" \" +\n h +\n \",0 \" +\n h +\n \"' fill='transparent'\" +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n } else {\n result +=\n \" <polyline points='0 0,\" +\n shapAdjstVal * w +\n \" 0,\" +\n shapAdjstVal * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \"' fill='transparent'\" +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n }\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n }\n break;\n }\n case \"plus\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adj1 = 0.25;\n if (shapAdjst !== undefined) {\n adj1 = parseInt(shapAdjst.substr(4)) / 100000;\n }\n const adj2 = 1 - adj1;\n result +=\n \" <polygon points='\" +\n adj1 * w +\n \" 0,\" +\n adj1 * w +\n \" \" +\n adj1 * h +\n \",0 \" +\n adj1 * h +\n \",0 \" +\n adj2 * h +\n \",\" +\n adj1 * w +\n \" \" +\n adj2 * h +\n \",\" +\n adj1 * w +\n \" \" +\n h +\n \",\" +\n adj2 * w +\n \" \" +\n h +\n \",\" +\n adj2 * w +\n \" \" +\n adj2 * h +\n \",\" +\n w +\n \" \" +\n adj2 * h +\n \",\" +\n +w +\n \" \" +\n adj1 * h +\n \",\" +\n adj2 * w +\n \" \" +\n adj1 * h +\n \",\" +\n adj2 * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n // console.log((!imgFillFlg?(grndFillFlg?\"url(#linGrd_\"+shpId+\")\":fillColor):\"url(#imgPtrn_\"+shpId+\")\"))\n break;\n }\n case \"line\":\n case \"straightConnector1\":\n case \"bentConnector4\":\n case \"bentConnector5\":\n case \"curvedConnector2\":\n case \"curvedConnector3\":\n case \"curvedConnector4\":\n case \"curvedConnector5\": {\n if (isFlipV) {\n result +=\n \"<line x1='\" +\n w +\n \"' y1='0' x2='0' y2='\" +\n h +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n } else {\n result +=\n \"<line x1='0' y1='0' x2='\" +\n w +\n \"' y2='\" +\n h +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n }\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n break;\n }\n case \"rightArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = w / h;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = 1 - sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='\" +\n w +\n \" \" +\n h / 2 +\n \",\" +\n sAdj2Val * w +\n \" 0,\" +\n sAdj2Val * w +\n \" \" +\n sAdj1Val * h +\n \",0 \" +\n sAdj1Val * h +\n \",0 \" +\n (1 - sAdj1Val) * h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \", \" +\n sAdj2Val * w +\n \" \" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"leftArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = w / h;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='0 \" +\n h / 2 +\n \",\" +\n sAdj2Val * w +\n \" \" +\n h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n w +\n \" \" +\n sAdj1Val * h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n sAdj1Val * h +\n \", \" +\n sAdj2Val * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"downArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = h / w;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='\" +\n (0.5 - sAdj1Val) * w +\n \" 0,\" +\n (0.5 - sAdj1Val) * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",0 \" +\n (1 - sAdj2Val) * h +\n \",\" +\n w / 2 +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",\" +\n (0.5 + sAdj1Val) * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \", \" +\n (0.5 + sAdj1Val) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"upArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = h / w;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n result +=\n \" <polygon points='\" +\n w / 2 +\n \" 0,0 \" +\n sAdj2Val * h +\n \",\" +\n (0.5 - sAdj1Val) * w +\n \" \" +\n sAdj2Val * h +\n \",\" +\n (0.5 - sAdj1Val) * w +\n \" \" +\n h +\n \",\" +\n (0.5 + sAdj1Val) * w +\n \" \" +\n h +\n \",\" +\n (0.5 + sAdj1Val) * w +\n \" \" +\n sAdj2Val * h +\n \", \" +\n w +\n \" \" +\n sAdj2Val * h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"leftRightArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = w / h;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='0 \" +\n h / 2 +\n \",\" +\n sAdj2Val * w +\n \" \" +\n h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n (1 - sAdj2Val) * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n (1 - sAdj2Val) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \", \" +\n (1 - sAdj2Val) * w +\n \" 0,\" +\n (1 - sAdj2Val) * w +\n \" \" +\n sAdj1Val * h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n sAdj1Val * h +\n \",\" +\n sAdj2Val * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"upDownArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = h / w;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='\" +\n w / 2 +\n \" 0,0 \" +\n sAdj2Val * h +\n \",\" +\n sAdj1Val * w +\n \" \" +\n sAdj2Val * h +\n \",\" +\n sAdj1Val * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",0 \" +\n (1 - sAdj2Val) * h +\n \",\" +\n w / 2 +\n \" \" +\n h +\n \", \" +\n w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",\" +\n (1 - sAdj1Val) * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",\" +\n (1 - sAdj1Val) * w +\n \" \" +\n sAdj2Val * h +\n \",\" +\n w +\n \" \" +\n sAdj2Val * h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"bentArrow\":\n case \"bentUpArrow\":\n case \"stripedRightArrow\":\n case \"quadArrow\":\n case \"circularArrow\":\n case \"swooshArrow\":\n case \"leftRightUpArrow\":\n case \"leftUpArrow\":\n case \"leftCircularArrow\":\n case \"notchedRightArrow\":\n case \"curvedDownArrow\":\n case \"curvedLeftArrow\":\n case \"curvedRightArrow\":\n case \"curvedUpArrow\":\n case \"uturnArrow\":\n case \"leftRightCircularArrow\":\n break;\n case undefined:\n default:\n console.warn(\"Undefine shape type.\");\n }\n\n result += \"</svg>\";\n\n result +=\n \"<div class='block content \" +\n getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) +\n \"' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n\n // TextBody\n if (node[\"p:txBody\"] !== undefined) {\n result += await genTextBody(\n node[\"p:txBody\"],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n result += \"</div>\";\n } else if (custShapType !== undefined) {\n // custGeom here - Amir ///////////////////////////////////////////////////////\n // http://officeopenxml.com/drwSp-custGeom.php\n const pathLstNode = getTextByPathList(custShapType, [\"a:pathLst\"]);\n // const pathNode = getTextByPathList(pathLstNode, ['a:path', 'attrs'])\n // const maxX = parseInt(pathNode['w']) * 96 / 914400\n // const maxY = parseInt(pathNode['h']) * 96 / 914400\n // console.log(\"w = \"+w+\"\\nh = \"+h+\"\\nmaxX = \"+maxX +\"\\nmaxY = \" + maxY);\n // cheke if it is close shape\n const closeNode = getTextByPathList(pathLstNode, [\"a:path\", \"a:close\"]);\n const startPoint = getTextByPathList(pathLstNode, [\n \"a:path\",\n \"a:moveTo\",\n \"a:pt\",\n \"attrs\",\n ]) || { x: \"0\", y: \"0\" };\n const spX = (parseInt(startPoint[\"x\"]) * 96) / 914400;\n const spY = (parseInt(startPoint[\"y\"]) * 96) / 914400;\n let d = \"M\" + spX + \",\" + spY;\n const pathNodes = getTextByPathList(pathLstNode, [\"a:path\"]);\n const lnToNodes = pathNodes[\"a:lnTo\"];\n const cubicBezToNodes = pathNodes[\"a:cubicBezTo\"];\n const sortblAry = [];\n if (lnToNodes !== undefined) {\n Object.keys(lnToNodes).forEach(function (key) {\n const lnToPtNode = lnToNodes[key][\"a:pt\"];\n if (lnToPtNode !== undefined) {\n Object.keys(lnToPtNode).forEach(function (key2) {\n const ptObj = {};\n const lnToNoPt = lnToPtNode[key2];\n const ptX = lnToNoPt[\"x\"];\n const ptY = lnToNoPt[\"y\"];\n const ptOrdr = lnToNoPt[\"order\"];\n ptObj.type = \"lnto\";\n ptObj.order = ptOrdr;\n ptObj.x = ptX;\n ptObj.y = ptY;\n sortblAry.push(ptObj);\n // console.log(key2, lnToNoPt);\n });\n }\n });\n }\n if (cubicBezToNodes !== undefined) {\n Object.keys(cubicBezToNodes).forEach(function (key) {\n // console.log(\"cubicBezTo[\"+key+\"]:\");\n const cubicBezToPtNodes = cubicBezToNodes[key][\"a:pt\"];\n if (cubicBezToPtNodes !== undefined) {\n Object.keys(cubicBezToPtNodes).forEach(function (key2) {\n // console.log(\"cubicBezTo[\"+key+\"]pt[\"+key2+\"]:\");\n const cubBzPts = cubicBezToPtNodes[key2];\n Object.keys(cubBzPts).forEach(function (key3) {\n // console.log(key3, cubBzPts[key3]);\n const ptObj = {};\n const cubBzPt = cubBzPts[key3];\n const ptX = cubBzPt[\"x\"];\n const ptY = cubBzPt[\"y\"];\n const ptOrdr = cubBzPt[\"order\"];\n ptObj.type = \"cubicBezTo\";\n ptObj.order = ptOrdr;\n ptObj.x = ptX;\n ptObj.y = ptY;\n sortblAry.push(ptObj);\n });\n });\n }\n });\n }\n const sortByOrder = sortblAry.slice(0);\n sortByOrder.sort(function (a, b) {\n return a.order - b.order;\n });\n // console.log(sortByOrder);\n let k = 0;\n while (k < sortByOrder.length) {\n if (sortByOrder[k].type === \"lnto\") {\n const Lx = (parseInt(sortByOrder[k].x) * 96) / 914400;\n const Ly = (parseInt(sortByOrder[k].y) * 96) / 914400;\n d += \"L\" + Lx + \",\" + Ly;\n k++;\n } else {\n // \"cubicBezTo\"\n const Cx1 = (parseInt(sortByOrder[k].x) * 96) / 914400;\n const Cy1 = (parseInt(sortByOrder[k].y) * 96) / 914400;\n const Cx2 = (parseInt(sortByOrder[k + 1].x) * 96) / 914400;\n const Cy2 = (parseInt(sortByOrder[k + 1].y) * 96) / 914400;\n const Cx3 = (parseInt(sortByOrder[k + 2].x) * 96) / 914400;\n const Cy3 = (parseInt(sortByOrder[k + 2].y) * 96) / 914400;\n\n d +=\n \"C\" +\n Cx1 +\n \",\" +\n Cy1 +\n \" \" +\n Cx2 +\n \",\" +\n Cy2 +\n \" \" +\n Cx3 +\n \",\" +\n Cy3;\n k += 3;\n }\n }\n result +=\n \"<path d='\" +\n d +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n if (closeNode !== undefined) {\n // console.log(\"Close shape\");\n result += \"/>\";\n } else {\n // console.log(\"Open shape\");\n // check and add \"marker-start\" and \"marker-end\"\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n }\n\n result += \"</svg>\";\n\n result +=\n \"<div class='block content \" +\n getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) +\n \"' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n\n // TextBody\n if (node[\"p:txBody\"] !== undefined) {\n result += await genTextBody(\n node[\"p:txBody\"],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n result += \"</div>\";\n\n // result = \"\";\n } else {\n result +=\n \"<div class='block content \" +\n getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) +\n \"' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getBorder(node, false) +\n (await getShapeFill(node, false, warpObj)) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n\n // TextBody\n if (node[\"p:txBody\"] !== undefined) {\n result += await genTextBody(\n node[\"p:txBody\"],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n result += \"</div>\";\n }\n\n return result;\n }\n\n async function processPicNode(node, warpObj) {\n const order = node[\"attrs\"][\"order\"];\n\n const rid = node[\"p:blipFill\"][\"a:blip\"][\"attrs\"][\"r:embed\"];\n const imgName = warpObj[\"slideResObj\"][rid][\"target\"];\n const imgFileExt = extractFileExtension(imgName).toLowerCase();\n const zip = warpObj[\"zip\"];\n const imgArrayBuffer = await zip.file(imgName).async(\"arraybuffer\");\n let mimeType = \"\";\n const xfrmNode = node[\"p:spPr\"][\"a:xfrm\"];\n // /////////////////////////////////////Amir//////////////////////////////\n const rotate = angleToDegrees(node[\"p:spPr\"][\"a:xfrm\"][\"attrs\"][\"rot\"]);\n // ////////////////////////////////////////////////////////////////////////\n mimeType = getImageMimeType(imgFileExt);\n return (\n \"<div class='block content' style='\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'><img src='data:\" +\n mimeType +\n \";base64,\" +\n base64ArrayBuffer(imgArrayBuffer) +\n \"' style='width: 100%; height: 100%'/></div>\"\n );\n }\n\n async function processGraphicFrameNode(node, warpObj) {\n let result = \"\";\n const graphicTypeUri = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"attrs\",\n \"uri\",\n ]);\n\n switch (graphicTypeUri) {\n case \"http://schemas.openxmlformats.org/drawingml/2006/table\":\n result = await genTable(node, warpObj);\n break;\n case \"http://schemas.openxmlformats.org/drawingml/2006/chart\":\n result = await genChart(node, warpObj);\n break;\n case \"http://schemas.openxmlformats.org/drawingml/2006/diagram\":\n result = genDiagram(node, warpObj);\n break;\n default:\n }\n\n return result;\n }\n\n /*\nfunction processSpPrNode (node, warpObj) {\n /!*\n * 2241 <xsd:complexType name=\"CT_ShapeProperties\">\n * 2242 <xsd:sequence>\n * 2243 <xsd:element name=\"xfrm\" type=\"CT_Transform2D\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2244 <xsd:group ref=\"EG_Geometry\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2245 <xsd:group ref=\"EG_FillProperties\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2246 <xsd:element name=\"ln\" type=\"CT_LineProperties\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2247 <xsd:group ref=\"EG_EffectProperties\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2248 <xsd:element name=\"scene3d\" type=\"CT_Scene3D\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2249 <xsd:element name=\"sp3d\" type=\"CT_Shape3D\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2250 <xsd:element name=\"extLst\" type=\"CT_OfficeArtExtensionList\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2251 </xsd:sequence>\n * 2252 <xsd:attribute name=\"bwMode\" type=\"ST_BlackWhiteMode\" use=\"optional\"/>\n * 2253 </xsd:complexType>\n *!/\n\n // TODO:\n}\n*/\n\n async function genTextBody(\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n ) {\n let text = \"\";\n const slideMasterTextStyles = warpObj[\"slideMasterTextStyles\"];\n\n if (textBodyNode === undefined) {\n return text;\n }\n // rtl : <p:txBody>\n // <a:bodyPr wrap=\"square\" rtlCol=\"1\">\n\n // const rtlStr = \"\";\n let pNode;\n let rNode;\n if (textBodyNode[\"a:p\"].constructor === Array) {\n // multi p\n for (let i = 0; i < textBodyNode[\"a:p\"].length; i++) {\n pNode = textBodyNode[\"a:p\"][i];\n rNode = pNode[\"a:r\"];\n\n // const isRTL = getTextDirection(pNode, type, slideMasterTextStyles);\n // rtlStr = \"\";//\"dir='\"+isRTL+\"'\";\n\n text +=\n \"<div class='\" +\n getHorizontalAlign(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) +\n \"'>\";\n text += await genBuChar(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n\n if (rNode === undefined) {\n // without r\n text += genSpanElement(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n } else if (rNode.constructor === Array) {\n // with multi r\n for (let j = 0; j < rNode.length; j++) {\n text += genSpanElement(\n rNode[j],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n // ////////////////Amir////////////\n if (pNode[\"a:br\"] !== undefined) {\n text += \"<br>\";\n }\n // ////////////////////////////////\n }\n } else {\n // with one r\n text += genSpanElement(\n rNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n text += \"</div>\";\n }\n } else {\n // one p\n pNode = textBodyNode[\"a:p\"];\n rNode = pNode[\"a:r\"];\n\n // const isRTL = getTextDirection(pNode, type, slideMasterTextStyles);\n // rtlStr = \"\";//\"dir='\"+isRTL+\"'\";\n\n text +=\n \"<div class='slide-prgrph \" +\n getHorizontalAlign(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) +\n \"'>\";\n text += await genBuChar(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n if (rNode === undefined) {\n // without r\n text += genSpanElement(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n } else if (rNode.constructor === Array) {\n // with multi r\n for (let j = 0; j < rNode.length; j++) {\n text += genSpanElement(\n rNode[j],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n // ////////////////Amir////////////\n if (pNode[\"a:br\"] !== undefined) {\n text += \"<br>\";\n }\n // ////////////////////////////////\n }\n } else {\n // with one r\n text += genSpanElement(\n rNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n text += \"</div>\";\n }\n\n return text;\n }\n\n async function genBuChar(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n ) {\n // /////////////////////////////////////Amir///////////////////////////////\n const sldMstrTxtStyles = warpObj[\"slideMasterTextStyles\"];\n\n const rNode = node[\"a:r\"];\n let dfltBultColor, dfltBultSize, bultColor, bultSize;\n if (rNode !== undefined) {\n dfltBultColor = getFontColor(rNode, type, sldMstrTxtStyles);\n dfltBultSize = getFontSize(\n rNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n sldMstrTxtStyles\n );\n } else {\n dfltBultColor = getFontColor(node, type, sldMstrTxtStyles);\n dfltBultSize = getFontSize(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n sldMstrTxtStyles\n );\n }\n // console.log(\"Bullet Size: \" + bultSize);\n\n let bullet = \"\";\n // ///////////////////////////////////////////////////////////////\n\n const pPrNode = node[\"a:pPr\"];\n\n // ////////////////cheke if is rtl ///Amir ////////////////////////////////////\n const getRtlVal = getTextByPathList(pPrNode, [\"attrs\", \"rtl\"]);\n let isRTL = false;\n if (getRtlVal !== undefined && getRtlVal === \"1\") {\n isRTL = true;\n }\n // //////////////////////////////////////////////////////////\n\n let lvl = parseInt(getTextByPathList(pPrNode, [\"attrs\", \"lvl\"]));\n if (isNaN(lvl)) {\n lvl = 0;\n }\n\n const buChar = getTextByPathList(pPrNode, [\"a:buChar\", \"attrs\", \"char\"]);\n // ///////////////////////////////Amir///////////////////////////////////\n let buType = \"TYPE_NONE\";\n const buNum = getTextByPathList(pPrNode, [\"a:buAutoNum\", \"attrs\", \"type\"]);\n const buPic = getTextByPathList(pPrNode, [\"a:buBlip\"]);\n if (buChar !== undefined) {\n buType = \"TYPE_BULLET\";\n // console.log(\"Bullet Chr to code: \" + buChar.charCodeAt(0));\n }\n if (buNum !== undefined) {\n buType = \"TYPE_NUMERIC\";\n }\n if (buPic !== undefined) {\n buType = \"TYPE_BULPIC\";\n }\n\n let buFontAttrs;\n if (buType !== \"TYPE_NONE\") {\n buFontAttrs = getTextByPathList(pPrNode, [\"a:buFont\", \"attrs\"]);\n }\n // console.log(\"Bullet Type: \" + buType);\n // console.log(\"NumericTypr: \" + buNum);\n // console.log(\"buChar: \" + (buChar === undefined?'':buChar.charCodeAt(0)));\n // get definde bullet COLOR\n let defBultColor = \"NoNe\";\n\n if (pPrNode) {\n const buClrNode = pPrNode[\"a:buClr\"];\n if (buClrNode !== undefined) {\n defBultColor = getSolidFill(buClrNode);\n } else {\n // console.log(\"buClrNode: \" + buClrNode);\n }\n }\n\n if (defBultColor === \"NoNe\") {\n bultColor = dfltBultColor;\n } else {\n bultColor = \"#\" + defBultColor;\n }\n // get definde bullet SIZE\n let buFontSize;\n buFontSize = getTextByPathList(pPrNode, [\"a:buSzPts\", \"attrs\", \"val\"]); // pt\n if (buFontSize !== undefined) {\n bultSize = parseInt(buFontSize) / 100 + \"pt\";\n } else {\n buFontSize = getTextByPathList(pPrNode, [\"a:buSzPct\", \"attrs\", \"val\"]);\n if (buFontSize !== undefined) {\n const prcnt = parseInt(buFontSize) / 100000;\n // dfltBultSize = XXpt\n const dfltBultSizeNoPt = dfltBultSize.substr(\n 0,\n dfltBultSize.length - 2\n );\n bultSize = prcnt * parseInt(dfltBultSizeNoPt) + \"pt\";\n } else {\n bultSize = dfltBultSize;\n }\n }\n // //////////////////////////////////////////////////////////////////////\n let marginLeft;\n let marginRight;\n if (buType === \"TYPE_BULLET\") {\n // const buFontAttrs = getTextByPathList(pPrNode, [\"a:buFont\", \"attrs\"]);\n if (buFontAttrs !== undefined) {\n marginLeft =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marL\"])) * 96) /\n 914400;\n marginRight = parseInt(buFontAttrs[\"pitchFamily\"]);\n if (isNaN(marginLeft)) {\n marginLeft = (328600 * 96) / 914400;\n }\n if (isNaN(marginRight)) {\n marginRight = 0;\n }\n const typeface = buFontAttrs[\"typeface\"];\n\n bullet =\n \"<span style='font-family: \" +\n typeface +\n \"; margin-left: \" +\n marginLeft * lvl +\n \"px\" +\n \"; margin-right: \" +\n marginRight +\n \"px\" +\n \";color:\" +\n bultColor +\n \";font-size:\" +\n bultSize +\n \";\";\n if (isRTL) {\n bullet += \" float: right; direction:rtl\";\n }\n bullet += \"'>\" + buChar + \"</span>\";\n } else {\n marginLeft = ((328600 * 96) / 914400) * lvl;\n\n bullet =\n \"<span style='margin-left: \" +\n marginLeft +\n \"px;'>\" +\n buChar +\n \"</span>\";\n }\n } else if (buType === \"TYPE_NUMERIC\") {\n // /////////Amir///////////////////////////////\n if (buFontAttrs !== undefined) {\n marginLeft =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marL\"])) * 96) /\n 914400;\n marginRight = parseInt(buFontAttrs[\"pitchFamily\"]);\n\n if (isNaN(marginLeft)) {\n marginLeft = (328600 * 96) / 914400;\n }\n if (isNaN(marginRight)) {\n marginRight = 0;\n }\n // const typeface = buFontAttrs[\"typeface\"];\n\n bullet =\n \"<span style='margin-left: \" +\n marginLeft * lvl +\n \"px\" +\n \"; margin-right: \" +\n marginRight +\n \"px\" +\n \";color:\" +\n bultColor +\n \";font-size:\" +\n bultSize +\n \";\";\n if (isRTL) {\n bullet += \" float: right; direction:rtl;\";\n } else {\n bullet += \" float: left; direction:ltr;\";\n }\n bullet +=\n \"' data-bulltname = '\" +\n buNum +\n \"' data-bulltlvl = '\" +\n lvl +\n \"' class='numeric-bullet-style'></span>\";\n } else {\n marginLeft = ((328600 * 96) / 914400) * lvl;\n bullet = \"<span style='margin-left: \" + marginLeft + \"px;\";\n if (isRTL) {\n bullet += \" float: right; direction:rtl;\";\n } else {\n bullet += \" float: left; direction:ltr;\";\n }\n bullet +=\n \"' data-bulltname = '\" +\n buNum +\n \"' data-bulltlvl = '\" +\n lvl +\n \"' class='numeric-bullet-style'></span>\";\n }\n } else if (buType === \"TYPE_BULPIC\") {\n // PIC BULLET\n marginLeft =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marL\"])) * 96) / 914400;\n marginRight =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marR\"])) * 96) / 914400;\n\n if (isNaN(marginRight)) {\n marginRight = 0;\n }\n // console.log(\"marginRight: \"+marginRight)\n // buPic\n if (isNaN(marginLeft)) {\n marginLeft = (328600 * 96) / 914400;\n } else {\n marginLeft = 0;\n }\n // const buPicId = getTextByPathList(buPic, [\"a:blip\",\"a:extLst\",\"a:ext\",\"asvg:svgBlip\" , \"attrs\", \"r:embed\"]);\n const buPicId = getTextByPathList(buPic, [\"a:blip\", \"attrs\", \"r:embed\"]);\n // const svgPicPath = ''\n let buImg;\n if (buPicId !== undefined) {\n // svgPicPath = warpObj[\"slideResObj\"][buPicId][\"target\"];\n // buImg = warpObj[\"zip\"].file(svgPicPath).asText();\n // }else{\n // buPicId = getTextByPathList(buPic, [\"a:blip\", \"attrs\", \"r:embed\"]);\n const imgPath = warpObj[\"slideResObj\"][buPicId][\"target\"];\n const imgArrayBuffer = await warpObj[\"zip\"]\n .file(imgPath)\n .async(\"arraybuffer\");\n const imgExt = imgPath.split(\".\").pop();\n const imgMimeType = getImageMimeType(imgExt);\n buImg =\n \"<img src='data:\" +\n imgMimeType +\n \";base64,\" +\n base64ArrayBuffer(imgArrayBuffer) +\n \"' style='width: 100%; height: 100%'/>\";\n // console.log(\"imgPath: \"+imgPath+\"\\nimgMimeType: \"+imgMimeType)\n }\n if (buPicId === undefined) {\n buImg = \"&#8227;\";\n }\n bullet =\n \"<span style='margin-left: \" +\n marginLeft * lvl +\n \"px\" +\n \"; margin-right: \" +\n marginRight +\n \"px\" +\n \";width:\" +\n bultSize +\n \";display: inline-block; \";\n if (isRTL) {\n bullet += \" float: right;direction:rtl\";\n }\n bullet += \"'>\" + buImg + \" </span>\";\n // ////////////////////////////////////////////////////////////////////////////////////\n } else {\n bullet =\n \"<span style='margin-left: \" +\n ((328600 * 96) / 914400) * lvl +\n \"px\" +\n \"; margin-right: \" +\n 0 +\n \"px;'></span>\";\n }\n\n return bullet;\n }\n\n function genSpanElement(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n ) {\n const slideMasterTextStyles = warpObj[\"slideMasterTextStyles\"];\n\n let text = node[\"a:t\"];\n if (typeof text !== \"string\" && !(text instanceof String)) {\n text = getTextByPathList(node, [\"a:fld\", \"a:t\"]);\n if (typeof text !== \"string\" && !(text instanceof String)) {\n text = \"&nbsp;\";\n }\n }\n\n let styleText =\n \"color:\" +\n getFontColor(node, type, slideMasterTextStyles) +\n \";font-size:\" +\n getFontSize(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) +\n \";font-family:\" +\n getFontType(node, type, slideMasterTextStyles) +\n \";font-weight:\" +\n getFontBold(node, type, slideMasterTextStyles) +\n \";font-style:\" +\n getFontItalic(node, type, slideMasterTextStyles) +\n \";text-decoration:\" +\n getFontDecoration(node, type, slideMasterTextStyles) +\n \";text-align:\" +\n getTextHorizontalAlign(node, type, slideMasterTextStyles) +\n \";vertical-align:\" +\n getTextVerticalAlign(node, type, slideMasterTextStyles) +\n \";\";\n // ////////////////Amir///////////////\n const highlight = getTextByPathList(node, [\"a:rPr\", \"a:highlight\"]);\n if (highlight !== undefined) {\n styleText += \"background-color:#\" + getSolidFill(highlight) + \";\";\n styleText += \"Opacity:\" + getColorOpacity(highlight) + \";\";\n }\n // /////////////////////////////////////////\n let cssName = \"\";\n\n if (styleText in styleTable) {\n cssName = styleTable[styleText][\"name\"];\n } else {\n cssName = \"_css_\" + (Object.keys(styleTable).length + 1);\n styleTable[styleText] = {\n name: cssName,\n text: styleText,\n };\n }\n\n const linkID = getTextByPathList(node, [\n \"a:rPr\",\n \"a:hlinkClick\",\n \"attrs\",\n \"r:id\",\n ]);\n // get link colors : TODO\n if (linkID !== undefined) {\n const linkURL = warpObj[\"slideResObj\"][linkID][\"target\"];\n return (\n \"<span class='text-block \" +\n cssName +\n \"'><a href='\" +\n linkURL +\n \"' target='_blank'>\" +\n text.replace(/\\s/i, \"&nbsp;\") +\n \"</a></span>\"\n );\n } else {\n return (\n \"<span class='text-block \" +\n cssName +\n \"'>\" +\n text.replace(/\\s/i, \"&nbsp;\") +\n \"</span>\"\n );\n }\n }\n\n function genGlobalCSS() {\n let cssText = \"\";\n for (let key in styleTable) {\n cssText +=\n \"section .\" +\n styleTable[key][\"name\"] +\n \"{\" +\n styleTable[key][\"text\"] +\n \"}\\n\";\n }\n return cssText;\n }\n\n async function genTable(node, warpObj) {\n const order = node[\"attrs\"][\"order\"];\n const tableNode = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"a:tbl\",\n ]);\n const xfrmNode = getTextByPathList(node, [\"p:xfrm\"]);\n // ///////////////////////////////////////Amir////////////////////////////////////////////////\n const getTblPr = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"a:tbl\",\n \"a:tblPr\",\n ]);\n const getColsGrid = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"a:tbl\",\n \"a:tblGrid\",\n \"a:gridCol\",\n ]);\n let tblDir = \"\";\n if (getTblPr !== undefined) {\n const isRTL = getTblPr[\"attrs\"][\"rtl\"];\n tblDir = isRTL === 1 ? \"dir=rtl\" : \"dir=ltr\";\n }\n const firstRowAttr = getTblPr[\"attrs\"][\"firstRow\"]; // associated element <a:firstRow> in the table styles\n // const firstColAttr = getTblPr['attrs']['firstCol'] // associated element <a:firstCol> in the table styles\n // const lastRowAttr = getTblPr['attrs']['lastRow'] // associated element <a:lastRow> in the table styles\n // const lastColAttr = getTblPr['attrs']['lastCol'] // associated element <a:lastCol> in the table styles\n const bandRowAttr = getTblPr[\"attrs\"][\"bandRow\"]; // associated element <a:band1H>, <a:band2H> in the table styles\n // const bandColAttr = getTblPr['attrs']['bandCol'] // associated element <a:band1V>, <a:band2V> in the table styles\n // console.log(firstColAttr);\n // //////////////////////////////////////////////////////////////////////////////////////////\n let tableHtml =\n \"<table \" +\n tblDir +\n \" style='border-collapse: collapse;\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";'>\";\n\n const trNodes = tableNode[\"a:tr\"];\n if (trNodes.constructor === Array) {\n for (let i = 0; i < trNodes.length; i++) {\n // ////////////rows Style ////////////Amir\n const rowHeightParam = trNodes[i][\"attrs\"][\"h\"];\n let rowHeight = 0;\n let rowsStyl = \"\";\n if (rowHeightParam !== undefined) {\n rowHeight = (parseInt(rowHeightParam) * 96) / 914400;\n rowsStyl += \"height:\" + rowHeight + \"px;\";\n // tableHtml += \"<tr style='height:\"+rowHeight+\"px;'>\";\n }\n\n // get from Theme (tableStyles.xml) TODO\n // get tableStyleId = a:tbl => a:tblPr => a:tableStyleId\n let thisTblStyle = {};\n const tbleStyleId = getTblPr[\"a:tableStyleId\"];\n if (tbleStyleId !== undefined) {\n // get Style from tableStyles.xml by {const tbleStyleId}\n // table style object : tableStyles\n const tbleStylList = tableStyles[\"a:tblStyleLst\"][\"a:tblStyle\"] || [];\n\n for (let k = 0; k < tbleStylList.length; k++) {\n if (tbleStylList[k][\"attrs\"][\"styleId\"] === tbleStyleId) {\n thisTblStyle = tbleStylList[k];\n }\n }\n }\n // console.log(thisTblStyle);\n if (i === 0 && firstRowAttr !== undefined) {\n let fillColor = \"fff\";\n let colorOpacity = 1;\n if (thisTblStyle[\"a:firstRow\"] !== undefined) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, [\n \"a:firstRow\",\n \"a:tcStyle\",\n \"a:fill\",\n \"a:solidFill\",\n ]);\n if (bgFillschemeClr !== undefined) {\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n // console.log(thisTblStyle[\"a:firstRow\"])\n\n // borders color\n // borders Width\n const borderStyl = getTextByPathList(thisTblStyle, [\n \"a:firstRow\",\n \"a:tcStyle\",\n \"a:tcBdr\",\n ]);\n if (borderStyl !== undefined) {\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n // console.log(thisTblStyle[\"a:firstRow\"])\n\n // Text Style - TODO\n const rowTxtStyl = getTextByPathList(thisTblStyle, [\n \"a:firstRow\",\n \"a:tcTxStyle\",\n ]);\n if (rowTxtStyl !== undefined) {\n /*\n const styleText =\n \"color:\" + getFontColor(node, type, slideMasterTextStyles) +\n \";font-size:\" + getFontSize(node, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles) +\n \";font-family:\" + getFontType(node, type, slideMasterTextStyles) +\n \";font-weight:\" + getFontBold(node, type, slideMasterTextStyles) +\n \";font-style:\" + getFontItalic(node, type, slideMasterTextStyles) +\n \";text-decoration:\" + getFontDecoration(node, type, slideMasterTextStyles) +\n \";text-align:\" + getTextHorizontalAlign(node, type, slideMasterTextStyles) +\n \";vertical-align:\" + getTextVerticalAlign(node, type, slideMasterTextStyles) +\n \";\";\n */\n }\n }\n rowsStyl +=\n \" background-color:#\" +\n fillColor +\n \";\" +\n \" opacity:\" +\n colorOpacity +\n \";\";\n } else if (i > 0 && bandRowAttr !== undefined) {\n let fillColor = \"fff\";\n let colorOpacity = 1;\n if (i % 2 === 0) {\n if (thisTblStyle[\"a:band2H\"] !== undefined) {\n // console.log(thisTblStyle[\"a:band2H\"]);\n const bgFillschemeClr = getTextByPathList(thisTblStyle, [\n \"a:band2H\",\n \"a:tcStyle\",\n \"a:fill\",\n \"a:solidFill\",\n ]);\n if (bgFillschemeClr !== undefined) {\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n // borders color\n // borders Width\n const borderStyl = getTextByPathList(thisTblStyle, [\n \"a:band2H\",\n \"a:tcStyle\",\n \"a:tcBdr\",\n ]);\n if (borderStyl !== undefined) {\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n // console.log(thisTblStyle[\"a:band2H\"])\n\n // Text Style - TODO\n const rowTxtStyl = getTextByPathList(thisTblStyle, [\n \"a:band2H\",\n \"a:tcTxStyle\",\n ]);\n if (rowTxtStyl !== undefined) {\n }\n // console.log(i,thisTblStyle)\n }\n /* else{\n const bgFillschemeClr = thisTblStyle[\"a:wholeTbl\"][\"a:tcStyle\"][\"a:fill\"][\"a:solidFill\"];\n if(bgFillschemeClr !==undefined){\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n //borders color\n //borders Width\n const borderStyl = thisTblStyle[\"a:wholeTbl\"][\"a:tcStyle\"][\"a:tcBdr\"];\n if(borderStyl !== undefined){\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n //console.log(thisTblStyle[\"a:wholeTbl\"])\n\n //Text Style - TODO\n const rowTxtStyl = thisTblStyle[\"a:wholeTbl\"][\"a:tcTxStyle\"];\n if(rowTxtStyl !== undefined){\n }\n } */\n } else {\n if (thisTblStyle[\"a:band1H\"] !== undefined) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, [\n \"a:band1H\",\n \"a:tcStyle\",\n \"a:fill\",\n \"a:solidFill\",\n ]);\n if (bgFillschemeClr !== undefined) {\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n // borders color\n // borders Width\n const borderStyl = getTextByPathList(thisTblStyle, [\n \"a:band1H\",\n \"a:tcStyle\",\n \"a:tcBdr\",\n ]);\n if (borderStyl !== undefined) {\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n // console.log(thisTblStyle[\"a:band1H\"])\n\n // Text Style - TODO\n const rowTxtStyl = getTextByPathList(thisTblStyle, [\n \"a:band1H\",\n \"a:tcTxStyle\",\n ]);\n if (rowTxtStyl !== undefined) {\n }\n }\n }\n rowsStyl +=\n \" background-color:#\" +\n fillColor +\n \";\" +\n \" opacity:\" +\n colorOpacity +\n \";\";\n }\n tableHtml += \"<tr style='\" + rowsStyl + \"'>\";\n // //////////////////////////////////////////////\n\n const tcNodes = trNodes[i][\"a:tc\"];\n\n if (tcNodes.constructor === Array) {\n for (let j = 0; j < tcNodes.length; j++) {\n const text = await genTextBody(\n tcNodes[j][\"a:txBody\"],\n undefined,\n undefined,\n undefined,\n warpObj\n );\n const rowSpan = getTextByPathList(tcNodes[j], [\"attrs\", \"rowSpan\"]);\n const colSpan = getTextByPathList(tcNodes[j], [\n \"attrs\",\n \"gridSpan\",\n ]);\n const vMerge = getTextByPathList(tcNodes[j], [\"attrs\", \"vMerge\"]);\n const hMerge = getTextByPathList(tcNodes[j], [\"attrs\", \"hMerge\"]);\n // Cells Style : TODO /////////////Amir\n // console.log(tcNodes[j]);\n // if(j==0 && ())\n const colWidthParam = getColsGrid[j][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[j][\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n // console.log(getFill);\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme (tableStyles.xml) TODO\n // get tableStyleId = a:tbl => a:tblPr => a:tableStyleId\n const tbleStyleId = getTblPr[\"a:tableStyleId\"];\n if (tbleStyleId !== undefined) {\n // get Style from tableStyles.xml by {const tbleStyleId}\n // table style object : tableStyles\n const tbleStylList =\n tableStyles[\"a:tblStyleLst\"][\"a:tblStyle\"] || [];\n\n for (let k = 0; k < tbleStylList.length; k++) {\n if (tbleStylList[k][\"attrs\"][\"styleId\"] === tbleStyleId) {\n // console.log(tbleStylList[k]);\n }\n }\n }\n // console.log(tbleStyleId);\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // console.log(fillColor);\n // //////////////////////////////////\n\n if (rowSpan !== undefined) {\n tableHtml +=\n \"<td rowspan='\" +\n parseInt(rowSpan) +\n \"' style='\" +\n colStyl +\n \"'>\" +\n text +\n \"</td>\";\n } else if (colSpan !== undefined) {\n tableHtml +=\n \"<td colspan='\" +\n parseInt(colSpan) +\n \"' style='\" +\n colStyl +\n \"'>\" +\n text +\n \"</td>\";\n } else if (vMerge === undefined && hMerge === undefined) {\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n }\n } else {\n const text = await genTextBody(tcNodes[\"a:txBody\"]);\n // Cells Style : TODO /////////////Amir\n const colWidthParam = getColsGrid[0][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n // console.log(getFill);\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme TODO\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // //////////////////////////////////\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n tableHtml += \"</tr>\";\n }\n } else {\n // ////////////row height ////////////Amir\n const rowHeightParam = trNodes[\"attrs\"][\"h\"];\n let rowHeight = 0;\n if (rowHeightParam !== undefined) {\n rowHeight = (parseInt(rowHeightParam) * 96) / 914400;\n tableHtml += \"<tr style='height:\" + rowHeight + \"px;'>\";\n } else {\n tableHtml += \"<tr>\";\n }\n // //////////////////////////////////////////////\n const tcNodes = trNodes[\"a:tc\"];\n if (tcNodes.constructor === Array) {\n for (let j = 0; j < tcNodes.length; j++) {\n const text = await genTextBody(tcNodes[j][\"a:txBody\"]);\n // Cells Style : TODO /////////////Amir\n const colWidthParam = getColsGrid[j][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[j][\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme TODO\n // get tableStyleId\n // a:tbl => a:tblPr => a:tableStyleId\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // //////////////////////////////////\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n } else {\n const text = await genTextBody(tcNodes[\"a:txBody\"]);\n // Cells Style : TODO /////////////Amir\n const colWidthParam = getColsGrid[0][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n // console.log(getFill);\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme TODO\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // //////////////////////////////////\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n tableHtml += \"</tr>\";\n }\n\n return tableHtml;\n }\n\n async function genChart(node, warpObj) {\n const order = node[\"attrs\"][\"order\"];\n const xfrmNode = getTextByPathList(node, [\"p:xfrm\"]);\n const result =\n \"<div id='chart\" +\n chartID +\n \"' class='block content' style='\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";'></div>\";\n\n const rid = node[\"a:graphic\"][\"a:graphicData\"][\"c:chart\"][\"attrs\"][\"r:id\"];\n const refName = warpObj[\"slideResObj\"][rid][\"target\"];\n const content = await readXmlFile(warpObj[\"zip\"], refName);\n const plotArea = getTextByPathList(content, [\n \"c:chartSpace\",\n \"c:chart\",\n \"c:plotArea\",\n ]);\n\n let chartData = null;\n for (let key in plotArea) {\n switch (key) {\n case \"c:lineChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"lineChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:barChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"barChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:pieChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"pieChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:pie3DChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"pie3DChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:areaChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"areaChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:scatterChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"scatterChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:catAx\":\n break;\n case \"c:valAx\":\n break;\n default:\n }\n }\n\n if (chartData !== null) {\n charts.push(chartData);\n }\n\n chartID++;\n return result;\n }\n\n function genDiagram(node, warpObj) {\n // const order = node['attrs']['order']\n const xfrmNode = getTextByPathList(node, [\"p:xfrm\"]);\n return (\n \"<div class='block content' style='border: 1px dotted;\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \"'>TODO: diagram</div>\"\n );\n }\n\n function getPosition(slideSpNode, slideLayoutSpNode, slideMasterSpNode) {\n let off;\n let x = -1;\n let y = -1;\n\n if (slideSpNode !== undefined) {\n off = slideSpNode[\"a:off\"][\"attrs\"];\n } else if (slideLayoutSpNode !== undefined) {\n off = slideLayoutSpNode[\"a:off\"][\"attrs\"];\n } else if (slideMasterSpNode !== undefined) {\n off = slideMasterSpNode[\"a:off\"][\"attrs\"];\n }\n\n if (off === undefined) {\n return \"\";\n } else {\n x = (parseInt(off[\"x\"]) * 96) / 914400;\n y = (parseInt(off[\"y\"]) * 96) / 914400;\n return isNaN(x) || isNaN(y) ? \"\" : \"top:\" + y + \"px; left:\" + x + \"px;\";\n }\n }\n\n function getSize(slideSpNode, slideLayoutSpNode, slideMasterSpNode) {\n let ext;\n let w = -1;\n let h = -1;\n\n if (slideSpNode !== undefined) {\n ext = slideSpNode[\"a:ext\"][\"attrs\"];\n } else if (slideLayoutSpNode !== undefined) {\n ext = slideLayoutSpNode[\"a:ext\"][\"attrs\"];\n } else if (slideMasterSpNode !== undefined) {\n ext = slideMasterSpNode[\"a:ext\"][\"attrs\"];\n }\n\n if (ext === undefined) {\n return \"\";\n } else {\n w = (parseInt(ext[\"cx\"]) * 96) / 914400;\n h = (parseInt(ext[\"cy\"]) * 96) / 914400;\n return isNaN(w) || isNaN(h)\n ? \"\"\n : \"width:\" + w + \"px; height:\" + h + \"px;\";\n }\n }\n\n function getHorizontalAlign(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) {\n let algn = getTextByPathList(node, [\"a:pPr\", \"attrs\", \"algn\"]);\n if (algn === undefined) {\n algn = getTextByPathList(slideLayoutSpNode, [\n \"p:txBody\",\n \"a:p\",\n \"a:pPr\",\n \"attrs\",\n \"algn\",\n ]);\n if (algn === undefined) {\n algn = getTextByPathList(slideMasterSpNode, [\n \"p:txBody\",\n \"a:p\",\n \"a:pPr\",\n \"attrs\",\n \"algn\",\n ]);\n if (algn === undefined) {\n switch (type) {\n case \"title\":\n case \"subTitle\":\n case \"ctrTitle\": {\n algn = getTextByPathList(slideMasterTextStyles, [\n \"p:titleStyle\",\n \"a:lvl1pPr\",\n \"attrs\",\n \"alng\",\n ]);\n break;\n }\n default: {\n algn = getTextByPathList(slideMasterTextStyles, [\n \"p:otherStyle\",\n \"a:lvl1pPr\",\n \"attrs\",\n \"alng\",\n ]);\n }\n }\n }\n }\n }\n // TODO:\n if (algn === undefined) {\n if (type === \"title\" || type === \"subTitle\" || type === \"ctrTitle\") {\n return \"h-mid\";\n } else if (type === \"sldNum\") {\n return \"h-right\";\n }\n }\n return algn === \"ctr\" ? \"h-mid\" : algn === \"r\" ? \"h-right\" : \"h-left\";\n }\n\n function getVerticalAlign(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) {\n // 上中下對齊: X, <a:bodyPr anchor=\"ctr\">, <a:bodyPr anchor=\"b\">\n let anchor = getTextByPathList(node, [\n \"p:txBody\",\n \"a:bodyPr\",\n \"attrs\",\n \"anchor\",\n ]);\n if (anchor === undefined) {\n anchor = getTextByPathList(slideLayoutSpNode, [\n \"p:txBody\",\n \"a:bodyPr\",\n \"attrs\",\n \"anchor\",\n ]);\n if (anchor === undefined) {\n anchor = getTextByPathList(slideMasterSpNode, [\n \"p:txBody\",\n \"a:bodyPr\",\n \"attrs\",\n \"anchor\",\n ]);\n }\n }\n\n return anchor === \"ctr\" ? \"v-mid\" : anchor === \"b\" ? \"v-down\" : \"v-up\";\n }\n\n function getFontType(node, type, slideMasterTextStyles) {\n let typeface = getTextByPathList(node, [\n \"a:rPr\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n\n if (typeface === undefined) {\n const fontSchemeNode = getTextByPathList(themeContent, [\n \"a:theme\",\n \"a:themeElements\",\n \"a:fontScheme\",\n ]);\n if (type === \"title\" || type === \"subTitle\" || type === \"ctrTitle\") {\n typeface = getTextByPathList(fontSchemeNode, [\n \"a:majorFont\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n } else if (type === \"body\") {\n typeface = getTextByPathList(fontSchemeNode, [\n \"a:minorFont\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n } else {\n typeface = getTextByPathList(fontSchemeNode, [\n \"a:minorFont\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n }\n }\n\n return typeface === undefined ? \"inherit\" : typeface;\n }\n\n function getFontColor(node, type, slideMasterTextStyles) {\n const solidFillNode = getTextByPathStr(node, \"a:rPr a:solidFill\");\n\n const color = getSolidFill(solidFillNode);\n // console.log(themeContent)\n // const schemeClr = getTextByPathList(buClrNode ,[\"a:schemeClr\", \"attrs\",\"val\"]);\n return color === undefined || color === \"FFF\" ? \"#000\" : \"#\" + color;\n }\n\n function getFontSize(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) {\n let fontSize;\n let sz;\n if (node[\"a:rPr\"] !== undefined) {\n fontSize = parseInt(node[\"a:rPr\"][\"attrs\"][\"sz\"]) / 100;\n }\n\n if (isNaN(fontSize) || fontSize === undefined) {\n sz = getTextByPathList(slideLayoutSpNode, [\n \"p:txBody\",\n \"a:lstStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n fontSize = parseInt(sz) / 100;\n }\n\n if (isNaN(fontSize) || fontSize === undefined) {\n if (type === \"title\" || type === \"subTitle\" || type === \"ctrTitle\") {\n sz = getTextByPathList(slideMasterTextStyles, [\n \"p:titleStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n } else if (type === \"body\") {\n sz = getTextByPathList(slideMasterTextStyles, [\n \"p:bodyStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n } else if (type === \"dt\" || type === \"sldNum\") {\n sz = \"1200\";\n } else if (type === undefined) {\n sz = getTextByPathList(slideMasterTextStyles, [\n \"p:otherStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n }\n fontSize = parseInt(sz) / 100;\n }\n\n const baseline = getTextByPathList(node, [\"a:rPr\", \"attrs\", \"baseline\"]);\n if (baseline !== undefined && !isNaN(fontSize)) {\n fontSize -= 10;\n }\n\n return isNaN(fontSize) ? \"inherit\" : fontSize + \"pt\";\n }\n\n function getFontBold(node, type, slideMasterTextStyles) {\n return node[\"a:rPr\"] !== undefined && node[\"a:rPr\"][\"attrs\"][\"b\"] === \"1\"\n ? \"bold\"\n : \"initial\";\n }\n\n function getFontItalic(node, type, slideMasterTextStyles) {\n return node[\"a:rPr\"] !== undefined && node[\"a:rPr\"][\"attrs\"][\"i\"] === \"1\"\n ? \"italic\"\n : \"normal\";\n }\n\n function getFontDecoration(node, type, slideMasterTextStyles) {\n // /////////////////////////////Amir///////////////////////////////\n if (node[\"a:rPr\"] !== undefined) {\n const underLine =\n node[\"a:rPr\"][\"attrs\"][\"u\"] !== undefined\n ? node[\"a:rPr\"][\"attrs\"][\"u\"]\n : \"none\";\n const strikethrough =\n node[\"a:rPr\"][\"attrs\"][\"strike\"] !== undefined\n ? node[\"a:rPr\"][\"attrs\"][\"strike\"]\n : \"noStrike\";\n // console.log(\"strikethrough: \"+strikethrough);\n\n if (underLine !== \"none\" && strikethrough === \"noStrike\") {\n return \"underline\";\n } else if (underLine === \"none\" && strikethrough !== \"noStrike\") {\n return \"line-through\";\n } else if (underLine !== \"none\" && strikethrough !== \"noStrike\") {\n return \"underline line-through\";\n } else {\n return \"initial\";\n }\n } else {\n return \"initial\";\n }\n // ///////////////////////////////////////////////////////////////\n // return (node[\"a:rPr\"] !== undefined && node[\"a:rPr\"][\"attrs\"][\"u\"] === \"sng\") ? \"underline\" : \"initial\";\n }\n\n // //////////////////////////////////Amir/////////////////////////////////////\n function getTextHorizontalAlign(node, type, slideMasterTextStyles) {\n const getAlgn = getTextByPathList(node, [\"a:pPr\", \"attrs\", \"algn\"]);\n let align = \"initial\";\n if (getAlgn !== undefined) {\n switch (getAlgn) {\n case \"l\": {\n align = \"left\";\n break;\n }\n case \"r\": {\n align = \"right\";\n break;\n }\n case \"ctr\": {\n align = \"center\";\n break;\n }\n case \"just\": {\n align = \"justify\";\n break;\n }\n case \"dist\": {\n align = \"justify\";\n break;\n }\n default:\n align = \"initial\";\n }\n }\n return align;\n }\n\n // ///////////////////////////////////////////////////////////////////\n function getTextVerticalAlign(node, type, slideMasterTextStyles) {\n const baseline = getTextByPathList(node, [\"a:rPr\", \"attrs\", \"baseline\"]);\n return baseline === undefined\n ? \"baseline\"\n : parseInt(baseline) / 1000 + \"%\";\n }\n\n // /////////////////////////////////Amir/////////////////////////////\n /*\nfunction getTextDirection (node, type, slideMasterTextStyles) {\n // get lvl\n const pprLvl = getTextByPathList(node, ['a:pPr', 'attrs', 'lvl'])\n const pprLvlNum = pprLvl === undefined ? 1 : Number(pprLvl) + 1\n const lvlNode = 'a:lvl' + pprLvlNum + 'pPr'\n const pprAlgn = getTextByPathList(node, ['a:pPr', 'attrs', 'algn'])\n const isDir = getTextByPathList(slideMasterTextStyles, ['p:bodyStyle', lvlNode, 'attrs', 'rtl'])\n // const tmp = getTextByPathList(node, [\"a:r\", \"a:t\"]);\n let dir = ''\n if (isDir !== undefined) {\n if (isDir === '1' && (pprAlgn === undefined || pprAlgn === 'r')) {\n dir = 'rtl'\n } else { // isDir ==\"0\"\n dir = 'ltr'\n }\n }\n // console.log(tmp,isDir,pprAlgn,dir)\n return dir\n}\n*/\n\n function getTableBorders(node) {\n let borderStyle = \"\";\n let obj;\n let borders;\n if (node[\"a:bottom\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:bottom\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-bottom\");\n }\n if (node[\"a:top\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:top\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-top\");\n }\n if (node[\"a:right\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:right\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-right\");\n }\n if (node[\"a:left\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:left\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-left\");\n }\n\n return borderStyle;\n }\n\n // ////////////////////////////////////////////////////////////////\n function getBorder(node, isSvgMode) {\n let cssText = \"border: \";\n\n // 1. presentationML\n const lineNode = node[\"p:spPr\"][\"a:ln\"];\n\n // Border width: 1pt = 12700, default = 0.75pt\n const borderWidth =\n parseInt(getTextByPathList(lineNode, [\"attrs\", \"w\"])) / 12700;\n if (isNaN(borderWidth) || borderWidth < 1) {\n cssText += \"1pt \";\n } else {\n cssText += borderWidth + \"pt \";\n }\n // Border type\n const borderType = getTextByPathList(lineNode, [\n \"a:prstDash\",\n \"attrs\",\n \"val\",\n ]);\n let strokeDasharray = \"0\";\n switch (borderType) {\n case \"solid\": {\n cssText += \"solid\";\n strokeDasharray = \"0\";\n break;\n }\n case \"dash\": {\n cssText += \"dashed\";\n strokeDasharray = \"5\";\n break;\n }\n case \"dashDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 5, 1, 5\";\n break;\n }\n case \"dot\": {\n cssText += \"dotted\";\n strokeDasharray = \"1, 5\";\n break;\n }\n case \"lgDash\": {\n cssText += \"dashed\";\n strokeDasharray = \"10, 5\";\n break;\n }\n case \"lgDashDotDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"10, 5, 1, 5, 1, 5\";\n break;\n }\n case \"sysDash\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 2\";\n break;\n }\n case \"sysDashDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 2, 1, 5\";\n break;\n }\n case \"sysDashDotDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 2, 1, 5, 1, 5\";\n break;\n }\n case \"sysDot\": {\n cssText += \"dotted\";\n strokeDasharray = \"2, 5\";\n break;\n }\n default: {\n cssText += \"solid\";\n strokeDasharray = \"0\";\n }\n }\n // Border color\n let borderColor = getTextByPathList(lineNode, [\n \"a:solidFill\",\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]);\n if (borderColor === undefined) {\n const schemeClrNode = getTextByPathList(lineNode, [\n \"a:solidFill\",\n \"a:schemeClr\",\n ]);\n if (schemeClrNode !== undefined) {\n const schemeClr =\n \"a:\" + getTextByPathList(schemeClrNode, [\"attrs\", \"val\"]);\n borderColor = getSchemeColorFromTheme(schemeClr, undefined);\n }\n }\n\n // 2. drawingML namespace\n if (borderColor === undefined) {\n const schemeClrNode = getTextByPathList(node, [\n \"p:style\",\n \"a:lnRef\",\n \"a:schemeClr\",\n ]);\n if (schemeClrNode !== undefined) {\n const schemeClr =\n \"a:\" + getTextByPathList(schemeClrNode, [\"attrs\", \"val\"]);\n borderColor = getSchemeColorFromTheme(schemeClr, undefined);\n }\n\n if (borderColor !== undefined) {\n let shade = getTextByPathList(schemeClrNode, [\n \"a:shade\",\n \"attrs\",\n \"val\",\n ]);\n if (shade !== undefined) {\n shade = parseInt(shade) / 100000;\n const color = new Color(\"#\" + borderColor);\n color.setLum(color.hsl.l * shade);\n borderColor = color.hex.replace(\"#\", \"\");\n }\n }\n }\n\n if (borderColor === undefined) {\n if (isSvgMode) {\n borderColor = \"none\";\n } else {\n borderColor = \"#000\";\n }\n } else {\n borderColor = \"#\" + borderColor;\n }\n cssText += \" \" + borderColor + \" \";\n\n if (isSvgMode) {\n return {\n color: borderColor,\n width: borderWidth,\n type: borderType,\n strokeDasharray: strokeDasharray,\n };\n } else {\n return cssText + \";\";\n }\n }\n\n async function getSlideBackgroundFill(\n slideContent,\n slideLayoutContent,\n slideMasterContent,\n warpObj\n ) {\n // console.log(slideContent)\n // getFillType(node)\n let bgPr = getTextByPathList(slideContent, [\n \"p:sld\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgPr\",\n ]);\n let bgRef = getTextByPathList(slideContent, [\n \"p:sld\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgRef\",\n ]);\n let bgcolor;\n\n if (bgPr !== undefined) {\n // bgcolor = \"background-color: blue;\";\n const bgFillTyp = getFillType(bgPr);\n\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgPr[\"a:solidFill\"];\n const bgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(bgColor) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgPr[\"a:gradFill\"];\n // const grdFillVals = getGradientFill(grdFill);\n // console.log(\"grdFillVals\",grdFillVals)\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const colorArray = [];\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n let loTint;\n let loColor;\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n loColor = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n loColor = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(\"schemeClr\",schemeClr,slideMasterContent)\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n tintArray[i] = loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else if (bgFillTyp === \"PIC_FILL\") {\n const picFillBase64 = await getPicFill(\n \"slideBg\",\n bgPr[\"a:blipFill\"],\n warpObj\n );\n const ordr = bgPr[\"attrs\"][\"order\"];\n // a:srcRect\n // a:stretch => a:fillRect =>attrs (l:-17000, r:-17000)\n bgcolor =\n \"background-image: url(\" +\n picFillBase64 +\n \"); z-index: \" +\n ordr +\n \";\";\n // console.log(picFillBase64);\n }\n // console.log(slideContent,slideMasterContent,colorArray,tintArray,rot,bgcolor)\n } else if (bgRef !== undefined) {\n // console.log(\"slideContent\",bgRef)\n let phClr;\n if (bgRef[\"a:srgbClr\"] !== undefined) {\n phClr = getTextByPathList(bgRef, [\"a:srgbClr\", \"attrs\", \"val\"]); // #...\n } else if (bgRef[\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(bgRef, [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n phClr = getSchemeColorFromTheme(\"a:\" + schemeClr, slideMasterContent); // #...\n // console.log(\"schemeClr\",schemeClr,\"phClr=\",phClr)\n }\n const idx = Number(bgRef[\"attrs\"][\"idx\"]);\n\n if (idx === 0 || idx === 1000) {\n // no background\n } else if (idx > 0 && idx < 1000) {\n // fillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:fillStyleLst\"]\n // bgcolor = \"background: red;\";\n } else if (idx > 1000) {\n // bgFillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:bgFillStyleLst\"]\n const trueIdx = idx - 1000;\n const bgFillLst =\n themeContent[\"a:theme\"][\"a:themeElements\"][\"a:fmtScheme\"][\n \"a:bgFillStyleLst\"\n ];\n const sortblAry = [];\n Object.keys(bgFillLst).forEach(function (key) {\n const bgFillLstTyp = bgFillLst[key];\n if (key !== \"attrs\") {\n if (bgFillLstTyp.constructor === Array) {\n for (let i = 0; i < bgFillLstTyp.length; i++) {\n const obj = {};\n obj[key] = bgFillLstTyp[i];\n obj[\"idex\"] = bgFillLstTyp[i][\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n } else {\n const obj = {};\n obj[key] = bgFillLstTyp;\n obj[\"idex\"] = bgFillLstTyp[\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n }\n });\n const sortByOrder = sortblAry.slice(0);\n sortByOrder.sort(function (a, b) {\n return a.idex - b.idex;\n });\n const bgFillLstIdx = sortByOrder[trueIdx - 1];\n const bgFillTyp = getFillType(bgFillLstIdx);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgFillLstIdx[\"a:solidFill\"];\n // const sldBgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(phClr) + \",\" + sldTint + \");\";\n // console.log(\"slideMasterContent - sldFill\",sldFill)\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgFillLstIdx[\"a:gradFill\"];\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n const loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n tintArray[i] = loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // console.log(\"gsLst\",gsLst)\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" + hexToRgbNew(phClr) + \",\" + tintArray[i] + \")\" + \");\";\n } else {\n bgcolor +=\n \"rgba(\" + hexToRgbNew(phClr) + \",\" + tintArray[i] + \")\" + \", \";\n }\n }\n }\n }\n } else {\n bgPr = getTextByPathList(slideLayoutContent, [\n \"p:sldLayout\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgPr\",\n ]);\n bgRef = getTextByPathList(slideLayoutContent, [\n \"p:sldLayout\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgRef\",\n ]);\n // console.log(\"slideLayoutContent\",bgPr,bgRef)\n if (bgPr !== undefined) {\n const bgFillTyp = getFillType(bgPr);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgPr[\"a:solidFill\"];\n const bgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(bgColor) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgPr[\"a:gradFill\"];\n // const grdFillVals = getGradientFill(grdFill);\n // console.log(\"grdFillVals\",grdFillVals)\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const colorArray = [];\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n let loTint;\n let loColor;\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n loColor = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n loColor = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(\"schemeClr\",schemeClr,slideMasterContent)\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n tintArray[i] = loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // console.log(\"colorArray\",colorArray,\"tintArray\",tintArray)\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else if (bgFillTyp === \"PIC_FILL\") {\n // console.log(\"bgPr\",bgPr,\"bgFillTyp\",bgFillTyp)\n const picFillBase64 = await getPicFill(\n \"layoutBg\",\n bgPr[\"a:blipFill\"],\n warpObj\n );\n const ordr = bgPr[\"attrs\"][\"order\"];\n // a:srcRect\n // a:stretch => a:fillRect =>attrs (l:-17000, r:-17000)\n bgcolor =\n \"background-image: url(\" +\n picFillBase64 +\n \"); z-index: \" +\n ordr +\n \";\";\n // console.log(warpObj)\n }\n // console.log(\"slideLayoutContent\",bgcolor)\n } else if (bgRef !== undefined) {\n bgcolor = \"background: red;\";\n } else {\n bgPr = getTextByPathList(slideMasterContent, [\n \"p:sldMaster\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgPr\",\n ]);\n bgRef = getTextByPathList(slideMasterContent, [\n \"p:sldMaster\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgRef\",\n ]);\n\n // console.log(\"bgRef\",bgRef[\"a:schemeClr\"][\"attrs\"][\"val\"])\n if (bgPr !== undefined) {\n const bgFillTyp = getFillType(bgPr);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgPr[\"a:solidFill\"];\n const bgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(bgColor) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgPr[\"a:gradFill\"];\n // const grdFillVals = getGradientFill(grdFill);\n // console.log(\"grdFillVals\",grdFillVals)\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const colorArray = [];\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n let loTint;\n let loColor;\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n loColor = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n loColor = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(\"schemeClr\",schemeClr,slideMasterContent)\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n tintArray[i] =\n loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // console.log(\"colorArray\",colorArray,\"tintArray\",tintArray)\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else if (bgFillTyp === \"PIC_FILL\") {\n // console.log(\"bgPr\",bgPr,\"bgFillTyp\",bgFillTyp)\n const picFillBase64 = await getPicFill(\n \"masterBg\",\n bgPr[\"a:blipFill\"],\n warpObj\n );\n const ordr = bgPr[\"attrs\"][\"order\"];\n // a:srcRect\n // a:stretch => a:fillRect =>attrs (l:-17000, r:-17000)\n bgcolor =\n \"background-image: url(\" +\n picFillBase64 +\n \"); z-index: \" +\n ordr +\n \";\";\n // console.log(warpObj);\n }\n } else if (bgRef !== undefined) {\n // const obj={\n // \"a:solidFill\": bgRef\n // }\n // const phClr = getSolidFill(bgRef);\n let phClr;\n if (bgRef[\"a:srgbClr\"] !== undefined) {\n phClr = getTextByPathList(bgRef, [\"a:srgbClr\", \"attrs\", \"val\"]); // #...\n } else if (bgRef[\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(bgRef, [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n\n phClr = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n // console.log(\"phClr\",phClr)\n }\n const idx = Number(bgRef[\"attrs\"][\"idx\"]);\n // console.log(\"phClr=\",phClr,\"idx=\",idx)\n\n if (idx === 0 || idx === 1000) {\n // no background\n } else if (idx > 0 && idx < 1000) {\n // fillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:fillStyleLst\"]\n // bgcolor = \"background: red;\";\n } else if (idx > 1000) {\n // bgFillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:bgFillStyleLst\"]\n const trueIdx = idx - 1000;\n const bgFillLst =\n themeContent[\"a:theme\"][\"a:themeElements\"][\"a:fmtScheme\"][\n \"a:bgFillStyleLst\"\n ];\n const sortblAry = [];\n Object.keys(bgFillLst).forEach(function (key) {\n // console.log(\"cubicBezTo[\"+key+\"]:\");\n const bgFillLstTyp = bgFillLst[key];\n if (key !== \"attrs\") {\n if (bgFillLstTyp.constructor === Array) {\n for (let i = 0; i < bgFillLstTyp.length; i++) {\n const obj = {};\n obj[key] = bgFillLstTyp[i];\n obj[\"idex\"] = bgFillLstTyp[i][\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n } else {\n const obj = {};\n obj[key] = bgFillLstTyp;\n obj[\"idex\"] = bgFillLstTyp[\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n }\n });\n const sortByOrder = sortblAry.slice(0);\n sortByOrder.sort(function (a, b) {\n return a.idex - b.idex;\n });\n const bgFillLstIdx = sortByOrder[trueIdx - 1];\n const bgFillTyp = getFillType(bgFillLstIdx);\n // console.log(\"bgFillLstIdx\",bgFillLstIdx);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgFillLstIdx[\"a:solidFill\"];\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(phClr) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgFillLstIdx[\"a:gradFill\"];\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n const loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n tintArray[i] =\n loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(phClr) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(phClr) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else {\n // console.log(bgFillTyp) // TODO\n }\n }\n }\n }\n }\n\n // console.log(\"bgcolor: \",bgcolor)\n return bgcolor;\n }\n\n function hexToRgbNew(hex = \"FFFFFF\") {\n const arrBuff = new ArrayBuffer(4);\n const vw = new DataView(arrBuff);\n vw.setUint32(0, parseInt(hex, 16), false);\n const arrByte = new Uint8Array(arrBuff);\n\n return arrByte[1] + \",\" + arrByte[2] + \",\" + arrByte[3];\n }\n\n async function getShapeFill(node, isSvgMode, warpObj) {\n // 1. presentationML\n // p:spPr [a:noFill, solidFill, gradFill, blipFill, pattFill, grpFill]\n // From slide\n // Fill Type:\n // console.log(\"ShapeFill: \", node)\n const fillType = getFillType(getTextByPathList(node, [\"p:spPr\"]));\n let fillColor;\n if (fillType === \"NO_FILL\") {\n return isSvgMode ? \"none\" : \"background-color: initial;\";\n } else if (fillType === \"SOLID_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:solidFill\"];\n fillColor = getSolidFill(shpFill);\n } else if (fillType === \"GRADIENT_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:gradFill\"];\n // fillColor = getSolidFill(shpFill);\n fillColor = getGradientFill(shpFill);\n // console.log(\"shpFill\",shpFill,grndColor.color)\n } else if (fillType === \"PATTERN_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:pattFill\"];\n fillColor = getPatternFill(shpFill);\n } else if (fillType === \"PIC_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:blipFill\"];\n fillColor = await getPicFill(\"slideBg\", shpFill, warpObj);\n }\n\n // 2. drawingML namespace\n if (fillColor === undefined) {\n const clrName = getTextByPathList(node, [\"p:style\", \"a:fillRef\"]);\n fillColor = getSolidFill(clrName);\n }\n\n if (fillColor !== undefined) {\n if (fillType === \"GRADIENT_FILL\") {\n if (isSvgMode) {\n // console.log(\"GRADIENT_FILL color\", fillColor.color[0])\n return fillColor;\n } else {\n const colorAry = fillColor.color;\n const rot = fillColor.rot;\n\n let bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < colorAry.length; i++) {\n if (i === colorAry.length - 1) {\n bgcolor += colorAry[i] + \");\";\n } else {\n bgcolor += colorAry[i] + \", \";\n }\n }\n return bgcolor;\n }\n } else if (fillType === \"PIC_FILL\") {\n if (isSvgMode) {\n return fillColor;\n } else {\n return \"background-image:url(\" + fillColor + \");\";\n }\n } else {\n if (isSvgMode) {\n const color = new Color(fillColor);\n fillColor = color.rgb.toString();\n\n return fillColor;\n } else {\n // console.log(node,\"fillColor: \",fillColor,\"fillType: \",fillType,\"isSvgMode: \",isSvgMode)\n return \"background-color: #\" + fillColor + \";\";\n }\n }\n } else {\n if (isSvgMode) {\n return \"none\";\n } else {\n return \"background-color: initial;\";\n }\n }\n }\n\n // /////////////////////Amir//////////////////////////////\n function getFillType(node) {\n // Need to test/////////////////////////////////////////////\n // SOLID_FILL\n // PIC_FILL\n // GRADIENT_FILL\n // PATTERN_FILL\n // NO_FILL\n let fillType = \"\";\n if (node[\"a:noFill\"] !== undefined) {\n fillType = \"NO_FILL\";\n }\n if (node[\"a:solidFill\"] !== undefined) {\n fillType = \"SOLID_FILL\";\n }\n if (node[\"a:gradFill\"] !== undefined) {\n fillType = \"GRADIENT_FILL\";\n }\n if (node[\"a:pattFill\"] !== undefined) {\n fillType = \"PATTERN_FILL\";\n }\n if (node[\"a:blipFill\"] !== undefined) {\n fillType = \"PIC_FILL\";\n }\n\n return fillType;\n }\n\n function getGradientFill(node) {\n const gsLst = node[\"a:gsLst\"][\"a:gs\"];\n // get start color\n const colorArray = [];\n // const tintArray = []\n for (let i = 0; i < gsLst.length; i++) {\n // let loTint\n let loColor = getSolidFill(gsLst[i]);\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n let lumMod =\n parseInt(\n getTextByPathList(node, [\"a:srgbClr\", \"a:lumMod\", \"attrs\", \"val\"])\n ) / 100000;\n let lumOff =\n parseInt(\n getTextByPathList(node, [\"a:srgbClr\", \"a:lumOff\", \"attrs\", \"val\"])\n ) / 100000;\n if (isNaN(lumMod)) {\n lumMod = 1.0;\n }\n if (isNaN(lumOff)) {\n lumOff = 0;\n }\n // console.log([lumMod, lumOff]);\n loColor = applyLumModify(loColor, lumMod, lumOff);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n let lumMod =\n parseInt(\n getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:lumMod\",\n \"attrs\",\n \"val\",\n ])\n ) / 100000;\n let lumOff =\n parseInt(\n getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:lumOff\",\n \"attrs\",\n \"val\",\n ])\n ) / 100000;\n if (isNaN(lumMod)) {\n lumMod = 1.0;\n }\n if (isNaN(lumOff)) {\n lumOff = 0;\n }\n // console.log([lumMod, lumOff]);\n loColor = applyLumModify(loColor, lumMod, lumOff);\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n }\n // get rot\n const lin = node[\"a:lin\"];\n let rot = 0;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n return {\n color: colorArray,\n rot: rot,\n };\n }\n\n async function getPicFill(type, node, warpObj) {\n // Need to test/////////////////////////////////////////////\n // rId\n // TODO - Image Properties - Tile, Stretch, or Display Portion of Image\n // (http://officeopenxml.com/drwPic-tile.php)\n let img;\n const rId = node[\"a:blip\"][\"attrs\"][\"r:embed\"];\n let imgPath;\n if (type === \"slideBg\") {\n imgPath = getTextByPathList(warpObj, [\"slideResObj\", rId, \"target\"]);\n } else if (type === \"layoutBg\") {\n imgPath = getTextByPathList(warpObj, [\"layoutResObj\", rId, \"target\"]);\n } else if (type === \"masterBg\") {\n imgPath = getTextByPathList(warpObj, [\"masterResObj\", rId, \"target\"]);\n }\n if (imgPath === undefined) {\n return undefined;\n }\n const imgExt = imgPath.split(\".\").pop();\n if (imgExt === \"xml\") {\n return undefined;\n }\n const imgArrayBuffer = await warpObj[\"zip\"]\n .file(imgPath)\n .async(\"arraybuffer\");\n const imgMimeType = getImageMimeType(imgExt);\n img =\n \"data:\" + imgMimeType + \";base64,\" + base64ArrayBuffer(imgArrayBuffer);\n return img;\n }\n\n function getPatternFill(node) {\n // Need to test/////////////////////////////////////////////\n const bgClr = node[\"a:bgClr\"];\n return getSolidFill(bgClr);\n }\n\n function getSolidFill(node) {\n if (node === undefined) {\n return undefined;\n }\n\n let color = \"FFF\";\n\n if (node[\"a:srgbClr\"] !== undefined) {\n color = getTextByPathList(node, [\"a:srgbClr\", \"attrs\", \"val\"]); // #...\n } else if (node[\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(node, [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(schemeClr)\n color = getSchemeColorFromTheme(\"a:\" + schemeClr, undefined); // #...\n } else if (node[\"a:scrgbClr\"] !== undefined) {\n // <a:scrgbClr r=\"50%\" g=\"50%\" b=\"50%\"/> //Need to test/////////////////////////////////////////////\n const defBultColorVals = node[\"a:scrgbClr\"][\"attrs\"];\n const red =\n defBultColorVals[\"r\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"r\"].split(\"%\").shift()\n : defBultColorVals[\"r\"];\n const green =\n defBultColorVals[\"g\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"g\"].split(\"%\").shift()\n : defBultColorVals[\"g\"];\n const blue =\n defBultColorVals[\"b\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"b\"].split(\"%\").shift()\n : defBultColorVals[\"b\"];\n // const scrgbClr = red + ',' + green + ',' + blue\n color =\n toHex(255 * (Number(red) / 100)) +\n toHex(255 * (Number(green) / 100)) +\n toHex(255 * (Number(blue) / 100));\n // console.log(\"scrgbClr: \" + scrgbClr);\n } else if (node[\"a:prstClr\"] !== undefined) {\n // <a:prstClr val=\"black\"/> //Need to test/////////////////////////////////////////////\n const prstClr = node[\"a:prstClr\"][\"attrs\"][\"val\"];\n color = getColorName2Hex(prstClr);\n // console.log(\"prstClr: \" + prstClr+\" => hexClr: \"+color);\n } else if (node[\"a:hslClr\"] !== undefined) {\n // <a:hslClr hue=\"14400000\" sat=\"100%\" lum=\"50%\"/> //Need to test/////////////////////////////////////////////\n const defBultColorVals = node[\"a:hslClr\"][\"attrs\"];\n const hue = Number(defBultColorVals[\"hue\"]) / 100000;\n const sat =\n Number(\n defBultColorVals[\"sat\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"sat\"].split(\"%\").shift()\n : defBultColorVals[\"sat\"]\n ) / 100;\n const lum =\n Number(\n defBultColorVals[\"lum\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"lum\"].split(\"%\").shift()\n : defBultColorVals[\"lum\"]\n ) / 100;\n // const hslClr = defBultColorVals['hue'] + ',' + defBultColorVals['sat'] + ',' + defBultColorVals['lum']\n const hsl2rgb = hslToRgb(hue, sat, lum);\n color = toHex(hsl2rgb.r) + toHex(hsl2rgb.g) + toHex(hsl2rgb.b);\n // defBultColor = cnvrtHslColor2Hex(hslClr); //TODO\n // console.log(\"hslClr: \" + hslClr);\n } else if (node[\"a:sysClr\"] !== undefined) {\n // <a:sysClr val=\"windowText\" lastClr=\"000000\"/> //Need to test/////////////////////////////////////////////\n const sysClr = getTextByPathList(node, [\"a:sysClr\", \"attrs\", \"lastClr\"]);\n if (sysClr !== undefined) {\n color = sysClr;\n }\n }\n return color;\n }\n\n function toHex(n) {\n let hex = n.toString(16);\n while (hex.length < 2) {\n hex = \"0\" + hex;\n }\n return hex;\n }\n\n function hslToRgb(hue, sat, light) {\n let t1, t2, r, g, b;\n hue = hue / 60;\n if (light <= 0.5) {\n t2 = light * (sat + 1);\n } else {\n t2 = light + sat - light * sat;\n }\n t1 = light * 2 - t2;\n r = hueToRgb(t1, t2, hue + 2) * 255;\n g = hueToRgb(t1, t2, hue) * 255;\n b = hueToRgb(t1, t2, hue - 2) * 255;\n return { r: r, g: g, b: b };\n }\n\n function hueToRgb(t1, t2, hue) {\n if (hue < 0) hue += 6;\n if (hue >= 6) hue -= 6;\n if (hue < 1) return (t2 - t1) * hue + t1;\n else if (hue < 3) return t2;\n else if (hue < 4) return (t2 - t1) * (4 - hue) + t1;\n else return t1;\n }\n\n function getColorName2Hex(name) {\n let hex;\n const colorName = [\n \"AliceBlue\",\n \"AntiqueWhite\",\n \"Aqua\",\n \"Aquamarine\",\n \"Azure\",\n \"Beige\",\n \"Bisque\",\n \"Black\",\n \"BlanchedAlmond\",\n \"Blue\",\n \"BlueViolet\",\n \"Brown\",\n \"BurlyWood\",\n \"CadetBlue\",\n \"Chartreuse\",\n \"Chocolate\",\n \"Coral\",\n \"CornflowerBlue\",\n \"Cornsilk\",\n \"Crimson\",\n \"Cyan\",\n \"DarkBlue\",\n \"DarkCyan\",\n \"DarkGoldenRod\",\n \"DarkGray\",\n \"DarkGrey\",\n \"DarkGreen\",\n \"DarkKhaki\",\n \"DarkMagenta\",\n \"DarkOliveGreen\",\n \"DarkOrange\",\n \"DarkOrchid\",\n \"DarkRed\",\n \"DarkSalmon\",\n \"DarkSeaGreen\",\n \"DarkSlateBlue\",\n \"DarkSlateGray\",\n \"DarkSlateGrey\",\n \"DarkTurquoise\",\n \"DarkViolet\",\n \"DeepPink\",\n \"DeepSkyBlue\",\n \"DimGray\",\n \"DimGrey\",\n \"DodgerBlue\",\n \"FireBrick\",\n \"FloralWhite\",\n \"ForestGreen\",\n \"Fuchsia\",\n \"Gainsboro\",\n \"GhostWhite\",\n \"Gold\",\n \"GoldenRod\",\n \"Gray\",\n \"Grey\",\n \"Green\",\n \"GreenYellow\",\n \"HoneyDew\",\n \"HotPink\",\n \"IndianRed\",\n \"Indigo\",\n \"Ivory\",\n \"Khaki\",\n \"Lavender\",\n \"LavenderBlush\",\n \"LawnGreen\",\n \"LemonChiffon\",\n \"LightBlue\",\n \"LightCoral\",\n \"LightCyan\",\n \"LightGoldenRodYellow\",\n \"LightGray\",\n \"LightGrey\",\n \"LightGreen\",\n \"LightPink\",\n \"LightSalmon\",\n \"LightSeaGreen\",\n \"LightSkyBlue\",\n \"LightSlateGray\",\n \"LightSlateGrey\",\n \"LightSteelBlue\",\n \"LightYellow\",\n \"Lime\",\n \"LimeGreen\",\n \"Linen\",\n \"Magenta\",\n \"Maroon\",\n \"MediumAquaMarine\",\n \"MediumBlue\",\n \"MediumOrchid\",\n \"MediumPurple\",\n \"MediumSeaGreen\",\n \"MediumSlateBlue\",\n \"MediumSpringGreen\",\n \"MediumTurquoise\",\n \"MediumVioletRed\",\n \"MidnightBlue\",\n \"MintCream\",\n \"MistyRose\",\n \"Moccasin\",\n \"NavajoWhite\",\n \"Navy\",\n \"OldLace\",\n \"Olive\",\n \"OliveDrab\",\n \"Orange\",\n \"OrangeRed\",\n \"Orchid\",\n \"PaleGoldenRod\",\n \"PaleGreen\",\n \"PaleTurquoise\",\n \"PaleVioletRed\",\n \"PapayaWhip\",\n \"PeachPuff\",\n \"Peru\",\n \"Pink\",\n \"Plum\",\n \"PowderBlue\",\n \"Purple\",\n \"RebeccaPurple\",\n \"Red\",\n \"RosyBrown\",\n \"RoyalBlue\",\n \"SaddleBrown\",\n \"Salmon\",\n \"SandyBrown\",\n \"SeaGreen\",\n \"SeaShell\",\n \"Sienna\",\n \"Silver\",\n \"SkyBlue\",\n \"SlateBlue\",\n \"SlateGray\",\n \"SlateGrey\",\n \"Snow\",\n \"SpringGreen\",\n \"SteelBlue\",\n \"Tan\",\n \"Teal\",\n \"Thistle\",\n \"Tomato\",\n \"Turquoise\",\n \"Violet\",\n \"Wheat\",\n \"White\",\n \"WhiteSmoke\",\n \"Yellow\",\n \"YellowGreen\",\n ];\n const colorHex = [\n \"f0f8ff\",\n \"faebd7\",\n \"00ffff\",\n \"7fffd4\",\n \"f0ffff\",\n \"f5f5dc\",\n \"ffe4c4\",\n \"000000\",\n \"ffebcd\",\n \"0000ff\",\n \"8a2be2\",\n \"a52a2a\",\n \"deb887\",\n \"5f9ea0\",\n \"7fff00\",\n \"d2691e\",\n \"ff7f50\",\n \"6495ed\",\n \"fff8dc\",\n \"dc143c\",\n \"00ffff\",\n \"00008b\",\n \"008b8b\",\n \"b8860b\",\n \"a9a9a9\",\n \"a9a9a9\",\n \"006400\",\n \"bdb76b\",\n \"8b008b\",\n \"556b2f\",\n \"ff8c00\",\n \"9932cc\",\n \"8b0000\",\n \"e9967a\",\n \"8fbc8f\",\n \"483d8b\",\n \"2f4f4f\",\n \"2f4f4f\",\n \"00ced1\",\n \"9400d3\",\n \"ff1493\",\n \"00bfff\",\n \"696969\",\n \"696969\",\n \"1e90ff\",\n \"b22222\",\n \"fffaf0\",\n \"228b22\",\n \"ff00ff\",\n \"dcdcdc\",\n \"f8f8ff\",\n \"ffd700\",\n \"daa520\",\n \"808080\",\n \"808080\",\n \"008000\",\n \"adff2f\",\n \"f0fff0\",\n \"ff69b4\",\n \"cd5c5c\",\n \"4b0082\",\n \"fffff0\",\n \"f0e68c\",\n \"e6e6fa\",\n \"fff0f5\",\n \"7cfc00\",\n \"fffacd\",\n \"add8e6\",\n \"f08080\",\n \"e0ffff\",\n \"fafad2\",\n \"d3d3d3\",\n \"d3d3d3\",\n \"90ee90\",\n \"ffb6c1\",\n \"ffa07a\",\n \"20b2aa\",\n \"87cefa\",\n \"778899\",\n \"778899\",\n \"b0c4de\",\n \"ffffe0\",\n \"00ff00\",\n \"32cd32\",\n \"faf0e6\",\n \"ff00ff\",\n \"800000\",\n \"66cdaa\",\n \"0000cd\",\n \"ba55d3\",\n \"9370db\",\n \"3cb371\",\n \"7b68ee\",\n \"00fa9a\",\n \"48d1cc\",\n \"c71585\",\n \"191970\",\n \"f5fffa\",\n \"ffe4e1\",\n \"ffe4b5\",\n \"ffdead\",\n \"000080\",\n \"fdf5e6\",\n \"808000\",\n \"6b8e23\",\n \"ffa500\",\n \"ff4500\",\n \"da70d6\",\n \"eee8aa\",\n \"98fb98\",\n \"afeeee\",\n \"db7093\",\n \"ffefd5\",\n \"ffdab9\",\n \"cd853f\",\n \"ffc0cb\",\n \"dda0dd\",\n \"b0e0e6\",\n \"800080\",\n \"663399\",\n \"ff0000\",\n \"bc8f8f\",\n \"4169e1\",\n \"8b4513\",\n \"fa8072\",\n \"f4a460\",\n \"2e8b57\",\n \"fff5ee\",\n \"a0522d\",\n \"c0c0c0\",\n \"87ceeb\",\n \"6a5acd\",\n \"708090\",\n \"708090\",\n \"fffafa\",\n \"00ff7f\",\n \"4682b4\",\n \"d2b48c\",\n \"008080\",\n \"d8bfd8\",\n \"ff6347\",\n \"40e0d0\",\n \"ee82ee\",\n \"f5deb3\",\n \"ffffff\",\n \"f5f5f5\",\n \"ffff00\",\n \"9acd32\",\n ];\n const findIndx = colorName.indexOf(name);\n if (findIndx !== -1) {\n hex = colorHex[findIndx];\n }\n return hex;\n }\n\n function getColorOpacity(solidFill) {\n if (solidFill === undefined) {\n return undefined;\n }\n let opcity = 1;\n\n if (solidFill[\"a:srgbClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:schemeClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:scrgbClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:scrgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:prstClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:prstClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:hslClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:hslClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:sysClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:sysClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n }\n\n return opcity;\n }\n\n function getSchemeColorFromTheme(schemeClr, sldMasterNode) {\n // <p:clrMap ...> in slide master\n // e.g. tx2=\"dk2\" bg2=\"lt2\" tx1=\"dk1\" bg1=\"lt1\" slideLayoutClrOvride\n\n if (slideLayoutClrOvride === \"\" || slideLayoutClrOvride === undefined) {\n slideLayoutClrOvride =\n getTextByPathList(sldMasterNode, [\n \"p:sldMaster\",\n \"p:clrMap\",\n \"attrs\",\n ]) || {};\n }\n // console.log(slideLayoutClrOvride);\n const schmClrName = schemeClr.substr(2);\n switch (schmClrName) {\n case \"tx1\":\n case \"tx2\":\n case \"bg1\":\n case \"bg2\": {\n schemeClr = \"a:\" + slideLayoutClrOvride[schmClrName];\n // console.log(schmClrName+ \"=> \"+schemeClr);\n break;\n }\n }\n\n const refNode = getTextByPathList(themeContent, [\n \"a:theme\",\n \"a:themeElements\",\n \"a:clrScheme\",\n schemeClr,\n ]);\n let color = getTextByPathList(refNode, [\"a:srgbClr\", \"attrs\", \"val\"]);\n if (color === undefined) {\n color = getTextByPathList(refNode, [\"a:sysClr\", \"attrs\", \"lastClr\"]);\n }\n return color;\n }\n\n function extractChartData(serNode) {\n // console.log('PARSING PPTX CHART:', serNode)\n const dataMat = [];\n\n if (serNode === undefined) {\n return dataMat;\n }\n\n if (serNode[\"c:xVal\"] !== undefined) {\n let dataRow = [];\n eachElement(\n serNode[\"c:xVal\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n dataRow.push(parseFloat(innerNode[\"c:v\"]));\n return \"\";\n }\n );\n dataMat.push(dataRow);\n dataRow = [];\n eachElement(\n serNode[\"c:yVal\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n dataRow.push(parseFloat(innerNode[\"c:v\"]));\n return \"\";\n }\n );\n dataMat.push(dataRow);\n } else {\n eachElement(serNode, function (innerNode, index) {\n const dataRow = [];\n const colName =\n getTextByPathList(innerNode, [\n \"c:tx\",\n \"c:strRef\",\n \"c:strCache\",\n \"c:pt\",\n \"c:v\",\n ]) || index;\n\n // Category (string or number)\n const rowNames = {};\n if (\n getTextByPathList(innerNode, [\n \"c:cat\",\n \"c:strRef\",\n \"c:strCache\",\n \"c:pt\",\n ]) !== undefined\n ) {\n eachElement(\n innerNode[\"c:cat\"][\"c:strRef\"][\"c:strCache\"][\"c:pt\"],\n function (innerNode, index) {\n rowNames[innerNode[\"attrs\"][\"idx\"]] = innerNode[\"c:v\"];\n return \"\";\n }\n );\n } else if (\n getTextByPathList(innerNode, [\n \"c:cat\",\n \"c:numRef\",\n \"c:numCache\",\n \"c:pt\",\n ]) !== undefined\n ) {\n eachElement(\n innerNode[\"c:cat\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n rowNames[innerNode[\"attrs\"][\"idx\"]] = innerNode[\"c:v\"];\n return \"\";\n }\n );\n }\n\n // Value\n if (\n getTextByPathList(innerNode, [\n \"c:val\",\n \"c:numRef\",\n \"c:numCache\",\n \"c:pt\",\n ]) !== undefined\n ) {\n eachElement(\n innerNode[\"c:val\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n dataRow.push({\n x: innerNode[\"attrs\"][\"idx\"],\n y: parseFloat(innerNode[\"c:v\"]),\n });\n return \"\";\n }\n );\n }\n\n dataMat.push({ key: colName, values: dataRow, xlabels: rowNames });\n return \"\";\n });\n }\n\n return dataMat;\n }\n\n // ===== Node functions =====\n /**\n * getTextByPathStr\n * @param {Object} node\n * @param {string} pathStr\n */\n function getTextByPathStr(node, pathStr) {\n return getTextByPathList(node, pathStr.trim().split(/\\s+/));\n }\n\n /**\n * getTextByPathList\n * @param {Object} node\n * @param {Array.<string>} path\n */\n function getTextByPathList(node, path) {\n if (path.constructor !== Array) {\n throw Error(\"Error of path type! path is not array.\");\n }\n\n if (node === undefined) {\n return undefined;\n }\n\n const l = path.length;\n for (let i = 0; i < l; i++) {\n node = node[path[i]];\n if (node === undefined) {\n return undefined;\n }\n }\n\n return node;\n }\n\n /**\n * eachElement\n * @param {Object} node\n * @param {function} doFunction\n */\n function eachElement(node, doFunction) {\n if (node === undefined) {\n return;\n }\n let result = \"\";\n if (node.constructor === Array) {\n const l = node.length;\n for (let i = 0; i < l; i++) {\n result += doFunction(node[i], i);\n }\n } else {\n result += doFunction(node, 0);\n }\n return result;\n }\n\n /*\n// ===== Color functions =====\n/!**\n * applyShade\n * @param {string} rgbStr\n * @param {number} shadeValue\n *!/\nfunction applyShade (rgbStr, shadeValue) {\n const color = new Color(rgbStr)\n color.setLum(color.hsl.l * shadeValue)\n return color.rgb.toString()\n}\n\n/!**\n * applyTint\n * @param {string} rgbStr\n * @param {number} tintValue\n *!/\nfunction applyTint (rgbStr, tintValue) {\n const color = new Color(rgbStr)\n color.setLum(color.hsl.l * tintValue + (1 - tintValue))\n return color.rgb.toString()\n}\n*/\n\n /**\n * applyLumModify\n * @param {string} rgbStr\n * @param {number} factor\n * @param {number} offset\n */\n function applyLumModify(rgbStr = \"#FFFFFF\", factor, offset) {\n const color = new Color(rgbStr);\n // color.setLum(color.hsl.l * factor);\n color.setLum(color.hsl.l * (1 + offset));\n return color.rgb.toString();\n }\n\n // /////////////////////Amir////////////////\n function angleToDegrees(angle) {\n if (angle === \"\" || angle == null) {\n return 0;\n }\n return Math.round(angle / 60000);\n }\n\n function getImageMimeType(imgFileExt) {\n let mimeType = \"\";\n // console.log(imgFileExt)\n switch (imgFileExt.toLowerCase()) {\n case \"jpg\":\n case \"jpeg\": {\n mimeType = \"image/jpeg\";\n break;\n }\n case \"png\": {\n mimeType = \"image/png\";\n break;\n }\n case \"gif\": {\n mimeType = \"image/gif\";\n break;\n }\n case \"emf\": {\n // Not native support\n mimeType = \"image/x-emf\";\n break;\n }\n case \"wmf\": {\n // Not native support\n mimeType = \"image/x-wmf\";\n break;\n }\n case \"svg\": {\n mimeType = \"image/svg+xml\";\n break;\n }\n default: {\n mimeType = \"image/*\";\n }\n }\n return mimeType;\n }\n\n function getSvgGradient(w, h, angl, colorArray, shpId) {\n const stopsArray = getMiddleStops(colorArray.length - 2);\n\n const xyArray = SVGangle(angl, h, w);\n const x1 = xyArray[0];\n const y1 = xyArray[1];\n const x2 = xyArray[2];\n const y2 = xyArray[3];\n\n const sal = stopsArray.length;\n const sr = sal < 20 ? 100 : 1000;\n let svgAngle =\n ' gradientUnits=\"userSpaceOnUse\" x1=\"' +\n x1 +\n '%\" y1=\"' +\n y1 +\n '%\" x2=\"' +\n x2 +\n '%\" y2=\"' +\n y2 +\n '%\"';\n let svg = '<linearGradient id=\"linGrd_' + shpId + '\"' + svgAngle + \">\\n\";\n\n for (let i = 0; i < sal; i++) {\n svg +=\n '<stop offset=\"' +\n Math.round((parseFloat(stopsArray[i]) / 100) * sr) / sr +\n '\" stop-color=\"' +\n colorArray[i] +\n '\"';\n svg += \"/>\\n\";\n }\n\n svg += \"</linearGradient>\\n\" + \"\";\n\n return svg;\n }\n\n function getMiddleStops(s) {\n const sArry = [\"0%\", \"100%\"];\n if (s === 0) {\n return true;\n } else {\n let i = s;\n while (i--) {\n const middleStop = 100 - (100 / (s + 1)) * (i + 1); // AM: Ex - For 3 middle stops, progression will be 25%, 50%, and 75%, plus 0% and 100% at the ends.\n const middleStopString = middleStop + \"%\";\n sArry.splice(-1, 0, middleStopString);\n } // AM: add into stopsArray before 100%\n }\n return sArry;\n }\n\n function SVGangle(deg, svgHeight, svgWidth) {\n const w = parseFloat(svgWidth);\n const h = parseFloat(svgHeight);\n const ang = parseFloat(deg);\n let o = 2;\n let n = 2;\n const wc = w / 2;\n const hc = h / 2;\n let tx1 = 2;\n let ty1 = 2;\n let tx2 = 2;\n let ty2 = 2;\n const k = ((ang % 360) + 360) % 360;\n const j = ((360 - k) * Math.PI) / 180;\n const i = Math.tan(j);\n const l = hc - i * wc;\n\n if (k === 0) {\n tx1 = w;\n ty1 = hc;\n tx2 = 0;\n ty2 = hc;\n } else if (k < 90) {\n n = w;\n o = 0;\n } else if (k === 90) {\n tx1 = wc;\n ty1 = 0;\n tx2 = wc;\n ty2 = h;\n } else if (k < 180) {\n n = 0;\n o = 0;\n } else if (k === 180) {\n tx1 = 0;\n ty1 = hc;\n tx2 = w;\n ty2 = hc;\n } else if (k < 270) {\n n = 0;\n o = h;\n } else if (k === 270) {\n tx1 = wc;\n ty1 = h;\n tx2 = wc;\n ty2 = 0;\n } else {\n n = w;\n o = h;\n }\n // AM: I could not quite figure out what m, n, and o are supposed to represent from the original code on visualcsstools.com.\n const m = o + n / i;\n tx1 = tx1 === 2 ? (i * (m - l)) / (Math.pow(i, 2) + 1) : tx1;\n ty1 = ty1 === 2 ? i * tx1 + l : ty1;\n tx2 = tx2 === 2 ? w - tx1 : tx2;\n ty2 = ty2 === 2 ? h - ty1 : ty2;\n const x1 = Math.round((tx2 / w) * 100 * 100) / 100;\n const y1 = Math.round((ty2 / h) * 100 * 100) / 100;\n const x2 = Math.round((tx1 / w) * 100 * 100) / 100;\n const y2 = Math.round((ty1 / h) * 100 * 100) / 100;\n return [x1, y1, x2, y2];\n }\n\n function getSvgImagePattern(fillColor, shpId) {\n let ptrn =\n '<pattern id=\"imgPtrn_' +\n shpId +\n '\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">';\n ptrn +=\n '<image xlink:href=\"' +\n fillColor +\n '\" preserveAspectRatio=\"none\" width=\"1\" height=\"1\"></image>';\n ptrn += \"</pattern>\";\n return ptrn;\n }\n}\n","export default `.pptx-wrapper section {\n width: 100%;\n height: 690px;\n position: relative;\n border: 1px solid #333;\n background-color: #EFEFEF;\n text-align: center;\n border-radius: 10px;\n box-shadow: 1px 1px 3px #AAA;\n overflow: hidden;\n}\n\n.pptx-wrapper section div.block {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n}\n\n.pptx-wrapper section div.content {\n display: flex;\n flex-direction: column;\n /*\n justify-content: center;\n align-items: flex-end;\n */\n}\n\n.pptx-wrapper section div.v-up {\n justify-content: flex-start;\n}\n.pptx-wrapper section div.v-mid {\n justify-content: center;\n}\n.pptx-wrapper section div.v-down {\n justify-content: flex-end;\n}\n.pptx-wrapper section div.h-left {\n align-items: flex-start;\n text-align: left;\n}\n.pptx-wrapper section div.h-mid {\n align-items: center;\n text-align: center;\n}\n.pptx-wrapper section div.h-right {\n align-items: flex-end;\n text-align: right;\n}\n.pptx-wrapper section div.up-left {\n justify-content: flex-start;\n align-items: flex-start;\n text-align: left;\n}\n.pptx-wrapper section div.up-center {\n justify-content: flex-start;\n align-items: center;\n}\n.pptx-wrapper section div.up-right {\n justify-content: flex-start;\n align-items: flex-end;\n}\n.pptx-wrapper section div.center-left {\n justify-content: center;\n align-items: flex-start;\n text-align: left;\n}\n.pptx-wrapper section div.center-center {\n justify-content: center;\n align-items: center;\n}\n.pptx-wrapper section div.center-right {\n justify-content: center;\n align-items: flex-end;\n}\n.pptx-wrapper section div.down-left {\n justify-content: flex-end;\n align-items: flex-start;\n text-align: left;\n}\n.pptx-wrapper section div.down-center {\n justify-content: flex-end;\n align-items: center;\n}\n.pptx-wrapper section div.down-right {\n justify-content: flex-end;\n align-items: flex-end;\n}\n\n.pptx-wrapper section span.text-block {\n /* display: inline-block; */\n}\n\n.pptx-wrapper li.slide {\n margin: 10px 0;\n font-size: 18px;\n}\n\n.pptx-wrapper div.footer {\n text-align: center;\n}\n\n.pptx-wrapper section table {\n position: absolute;\n}\n\n.pptx-wrapper section table, section th, section td {\n border: 1px solid black;\n}\n\n.pptx-wrapper section svg.drawing {\n position: absolute;\n overflow: visible;\n}`\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"jquery\");","/* global $, dimple */\n\"use strict\";\n\nimport processPptx from \"./process_pptx\";\nimport pptxStyle from \"./pptx_css\";\nimport $ from \"jquery\";\n\n/**\n * @param {ArrayBuffer} pptx\n * @param {Element|String} resultElement\n * @param {Element|String} [thumbElement]\n */\nconst renderPptx = (pptx, resultElement, thumbElement) => {\n const $result = $(resultElement);\n const $wrapper = $('<div class=\"pptx-wrapper\"></div>');\n $result.html(\"\");\n $result.append($wrapper);\n $wrapper.append(`<style>${pptxStyle}</style>`);\n let isDone = false;\n\n return new Promise((resolve, reject) => {\n const processMessage = (msg) => {\n if (isDone) return;\n switch (msg.type) {\n case \"slide\":\n $wrapper.append(msg.data);\n break;\n case \"pptx-thumb\":\n if (thumbElement)\n $(thumbElement).attr(\"src\", `data:image/jpeg;base64,${msg.data}`);\n break;\n case \"slideSize\":\n break;\n case \"globalCSS\":\n $wrapper.append(`<style>${msg.data}</style>`);\n break;\n case \"Done\":\n isDone = true;\n processCharts(msg.data.charts);\n resolve(msg.data.time);\n break;\n case \"WARN\":\n console.warn(\"PPTX processing warning: \", msg.data);\n break;\n case \"ERROR\":\n isDone = true;\n console.error(\"PPTX processing error: \", msg.data);\n reject(new Error(msg.data));\n break;\n case \"DEBUG\":\n // console.debug('Worker: ', msg.data);\n break;\n case \"INFO\":\n default:\n // console.info('Worker: ', msg.data);\n }\n };\n /*\n // Actual Web Worker - If you want to use this, switching worker's url to Blob is probably better\n const worker = new Worker('./dist/worker.js')\n worker.addEventListener('message', event => processMessage(event.data), false)\n const stopWorker = setInterval(() => { // Maybe this should be done in the message processing\n if (isDone) {\n worker.terminate()\n // console.log(\"worker terminated\");\n clearInterval(stopWorker)\n }\n }, 500)\n */\n const worker = {\n // shim worker\n postMessage: () => {},\n terminate: () => {},\n };\n // processMessage方法,成功之后执行\n processPptx((func) => {\n worker.postMessage = func;\n }, processMessage);\n // 执行postMessage方法\n worker.postMessage({\n type: \"processPPTX\",\n data: pptx,\n });\n }).then((time) => {\n const resize = () => {\n const slidesWidth = Math.max(\n ...Array.from($wrapper.children(\"section\")).map((s) => s.offsetWidth)\n );\n const wrapperWidth = $wrapper[0].offsetWidth;\n $wrapper.css({\n transform: `scale(${wrapperWidth / slidesWidth})`,\n \"transform-origin\": \"top left\",\n });\n };\n resize();\n window.addEventListener(\"resize\", resize);\n setNumericBullets($(\".block\"));\n setNumericBullets($(\"table td\"));\n return time;\n });\n};\n\nexport default renderPptx;\n\nfunction processCharts(queue) {\n for (let i = 0; i < queue.length; i++) {\n processSingleChart(queue[i].data);\n }\n}\n\nfunction convertChartData(chartData) {\n const data = [];\n const xLabels = [];\n const groupLabels = [];\n chartData.forEach((group, i) => {\n const groupName = group.key;\n groupLabels[i] = group.key;\n group.values.forEach((value, j) => {\n const labelName = group.xlabels[j];\n xLabels[j] = group.xlabels[j];\n data.push({ name: labelName, group: groupName, value: value.y });\n });\n });\n // console.log('TRANSFORMED DATA:', (data))\n return { data, xLabels, groupLabels };\n}\n\nfunction processSingleChart(d) {\n const chartID = d.chartID;\n const chartType = d.chartType;\n const chartData = d.chartData;\n // console.log(`WRITING GRAPH OF TYPE ${chartType} TO ID #${chartID}:`, chartData)\n\n let data = [];\n\n switch (chartType) {\n case \"lineChart\": {\n const { data: data_, xLabels, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n `#${chartID}`,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const xAxis = myChart.addCategoryAxis(\"x\", \"name\");\n xAxis.addOrderRule(xLabels);\n xAxis.addGroupOrderRule(groupLabels);\n xAxis.title = null;\n const yAxis = myChart.addMeasureAxis(\"y\", \"value\");\n yAxis.title = null;\n myChart.addSeries(\"group\", dimple.plot.line);\n myChart.addLegend(60, 10, 500, 20, \"right\");\n myChart.draw();\n\n break;\n }\n case \"barChart\": {\n const { data: data_, xLabels, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n \"#\" + chartID,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const xAxis = myChart.addCategoryAxis(\"x\", [\"name\", \"group\"]);\n xAxis.addOrderRule(xLabels);\n xAxis.addGroupOrderRule(groupLabels);\n xAxis.title = null;\n const yAxis = myChart.addMeasureAxis(\"y\", \"value\");\n yAxis.title = null;\n myChart.addSeries(\"group\", dimple.plot.bar);\n myChart.addLegend(60, 10, 500, 20, \"right\");\n myChart.draw();\n break;\n }\n case \"pieChart\":\n case \"pie3DChart\": {\n // data = chartData[0].values\n // chart = nv.models.pieChart()\n // nvDraw(chart, data)\n const { data: data_, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n `#${chartID}`,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const pieAxis = myChart.addMeasureAxis(\"p\", \"value\");\n pieAxis.addOrderRule(groupLabels);\n myChart.addSeries(\"name\", dimple.plot.pie);\n myChart.addLegend(50, 20, 400, 300, \"left\");\n myChart.draw();\n break;\n }\n case \"areaChart\": {\n const { data: data_, xLabels, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n \"#\" + chartID,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const xAxis = myChart.addCategoryAxis(\"x\", \"name\");\n xAxis.addOrderRule(xLabels);\n xAxis.addGroupOrderRule(groupLabels);\n xAxis.title = null;\n const yAxis = myChart.addMeasureAxis(\"y\", \"value\");\n yAxis.title = null;\n myChart.addSeries(\"group\", dimple.plot.area);\n myChart.addLegend(60, 10, 500, 20, \"right\");\n myChart.draw();\n\n break;\n }\n case \"scatterChart\": {\n for (let i = 0; i < chartData.length; i++) {\n const arr = [];\n for (let j = 0; j < chartData[i].length; j++) {\n arr.push({ x: j, y: chartData[i][j] });\n }\n data.push({ key: \"data\" + (i + 1), values: arr });\n }\n\n // data = chartData;\n // chart = nv.models.scatterChart()\n // .showDistX(true)\n // .showDistY(true)\n // .color(d3.scale.category10().range())\n // chart.xAxis.axisLabel('X').tickFormat(d3.format('.02f'))\n // chart.yAxis.axisLabel('Y').tickFormat(d3.format('.02f'))\n // nvDraw(chart, data)\n break;\n }\n default:\n }\n}\n\nfunction setNumericBullets(elem) {\n const paragraphsArray = elem;\n for (let i = 0; i < paragraphsArray.length; i++) {\n const buSpan = $(paragraphsArray[i]).find(\".numeric-bullet-style\");\n if (buSpan.length > 0) {\n // console.log(\"DIV-\"+i+\":\");\n let prevBultTyp = \"\";\n let prevBultLvl = \"\";\n let buletIndex = 0;\n const tmpArry = [];\n let tmpArryIndx = 0;\n const buletTypSrry = [];\n for (let j = 0; j < buSpan.length; j++) {\n const bulletType = $(buSpan[j]).data(\"bulltname\");\n const bulletLvl = $(buSpan[j]).data(\"bulltlvl\");\n // console.log(j+\" - \"+bult_typ+\" lvl: \"+bult_lvl );\n if (buletIndex === 0) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n buletIndex++;\n } else {\n if (bulletType === prevBultTyp && bulletLvl === prevBultLvl) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n buletIndex++;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n } else if (bulletType !== prevBultTyp && bulletLvl === prevBultLvl) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArryIndx++;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n buletIndex = 1;\n } else if (\n bulletType !== prevBultTyp &&\n Number(bulletLvl) > Number(prevBultLvl)\n ) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArryIndx++;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n buletIndex = 1;\n } else if (\n bulletType !== prevBultTyp &&\n Number(bulletLvl) < Number(prevBultLvl)\n ) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArryIndx--;\n buletIndex = tmpArry[tmpArryIndx] + 1;\n }\n }\n // console.log(buletTypSrry[tmpArryIndx]+\" - \"+buletIndex);\n const numIdx = getNumTypeNum(buletTypSrry[tmpArryIndx], buletIndex);\n $(buSpan[j]).html(numIdx);\n }\n }\n }\n}\n\nfunction getNumTypeNum(numTyp, num) {\n let rtrnNum = \"\";\n switch (numTyp) {\n case \"arabicPeriod\":\n rtrnNum = num + \". \";\n break;\n case \"arabicParenR\":\n rtrnNum = num + \") \";\n break;\n case \"alphaLcParenR\":\n rtrnNum = alphaNumeric(num, \"lowerCase\") + \") \";\n break;\n case \"alphaLcPeriod\":\n rtrnNum = alphaNumeric(num, \"lowerCase\") + \". \";\n break;\n\n case \"alphaUcParenR\":\n rtrnNum = alphaNumeric(num, \"upperCase\") + \") \";\n break;\n case \"alphaUcPeriod\":\n rtrnNum = alphaNumeric(num, \"upperCase\") + \". \";\n break;\n\n case \"romanUcPeriod\":\n rtrnNum = romanize(num) + \". \";\n break;\n case \"romanLcParenR\":\n rtrnNum = romanize(num) + \") \";\n break;\n case \"hebrew2Minus\":\n rtrnNum = hebrew2Minus.format(num) + \"-\";\n break;\n default:\n rtrnNum = num;\n }\n return rtrnNum;\n}\n\nfunction romanize(num) {\n if (!+num) return false;\n const digits = String(+num).split(\"\");\n const key = [\n \"\",\n \"C\",\n \"CC\",\n \"CCC\",\n \"CD\",\n \"D\",\n \"DC\",\n \"DCC\",\n \"DCCC\",\n \"CM\",\n \"\",\n \"X\",\n \"XX\",\n \"XXX\",\n \"XL\",\n \"L\",\n \"LX\",\n \"LXX\",\n \"LXXX\",\n \"XC\",\n \"\",\n \"I\",\n \"II\",\n \"III\",\n \"IV\",\n \"V\",\n \"VI\",\n \"VII\",\n \"VIII\",\n \"IX\",\n ];\n let roman = \"\";\n let i = 3;\n while (i--) roman = (key[+digits.pop() + i * 10] || \"\") + roman;\n return new Array(+digits.join(\"\") + 1).join(\"M\") + roman;\n}\n\nconst hebrew2Minus = archaicNumbers([\n [1000, \"\"],\n [400, \"ת\"],\n [300, \"ש\"],\n [200, \"ר\"],\n [100, \"ק\"],\n [90, \"צ\"],\n [80, \"פ\"],\n [70, \"ע\"],\n [60, \"ס\"],\n [50, \"נ\"],\n [40, \"מ\"],\n [30, \"ל\"],\n [20, \"כ\"],\n [10, \"י\"],\n [9, \"ט\"],\n [8, \"ח\"],\n [7, \"ז\"],\n [6, \"ו\"],\n [5, \"ה\"],\n [4, \"ד\"],\n [3, \"ג\"],\n [2, \"ב\"],\n [1, \"א\"],\n [/יה/, \"ט״ו\"],\n [/יו/, \"ט״ז\"],\n [/([א-ת])([א-ת])$/, \"$1״$2\"],\n [/^([א-ת])$/, \"$1׳\"],\n]);\n\nfunction archaicNumbers(arr) {\n // const arrParse = arr.slice().sort(function (a, b) { return b[1].length - a[1].length })\n return {\n format: function (n) {\n let ret = \"\";\n $.each(arr, function () {\n const num = this[0];\n if (parseInt(num) > 0) {\n for (; n >= num; n -= num) ret += this[1];\n } else {\n ret = ret.replace(num, this[1]);\n }\n });\n return ret;\n },\n };\n}\n\nfunction alphaNumeric(num, upperLower) {\n num = Number(num) - 1;\n let aNum = \"\";\n if (upperLower === \"upperCase\") {\n aNum = (\n (num / 26 >= 1 ? String.fromCharCode(num / 26 + 64) : \"\") +\n String.fromCharCode((num % 26) + 65)\n ).toUpperCase();\n } else if (upperLower === \"lowerCase\") {\n aNum = (\n (num / 26 >= 1 ? String.fromCharCode(num / 26 + 64) : \"\") +\n String.fromCharCode((num % 26) + 65)\n ).toLowerCase();\n }\n return aNum;\n}\n","import React,{ useEffect,useState } from 'react'\r\nimport {Loading}from \"../loading\";\r\nimport renderPptx from \"./ppt\";\r\n\r\n\r\nexport const PPtxViewer=(props)=>{\r\n \r\n const [loading,setLoading]=useState(true)\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n const dom=document.getElementById('pptx-viewer')\r\n renderPptx(props?.filePath, dom, null).finally(()=>{\r\n setLoading(false)\r\n });\r\n }\r\n },[props?.filePath])\r\n\r\n return <div className=\"pptx-viewer-wrapper\">\r\n {loading && <Loading/>}\r\n <div id=\"pptx-viewer\" style={{width:1100,margin:'0 auto',visibility:loading?'hidden':'visible'}}></div>\r\n </div>\r\n}","import React,{ useEffect,useState } from 'react'\r\nimport {Loading}from \"../loading\";\r\nfunction readDataURL(buffer) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = loadEvent => resolve(loadEvent.target.result);\r\n reader.onerror = e => reject(e);\r\n reader.readAsDataURL(new Blob([buffer]));\r\n });\r\n}\r\n\r\n\r\nexport const ImgViewer=(props)=>{\r\n const [url,setUrl]=useState('')\r\n const [loading,setLoading]=useState(true)\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n readDataURL(props?.filePath).then(setUrl).finally(()=>{\r\n setLoading(false)\r\n })\r\n }\r\n },[props?.filePath])\r\n\r\n return <div className=\"img-viewer-wrapper\">\r\n {loading && <Loading/>}\r\n {url && <img alt=\"图片\" src={url} />}\r\n </div>\r\n}","import React,{ useEffect ,useState} from 'react'\r\nimport {Loading}from \"../loading\";\r\nfunction readText(buffer) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = loadEvent => resolve(loadEvent.target.result);\r\n reader.onerror = e => reject(e);\r\n reader.readAsText(new Blob([buffer]), 'utf-8');\r\n });\r\n}\r\n\r\nexport const TextViewer=(props)=>{\r\n \r\n const [loading,setLoading]=useState(true)\r\n const [content,setContent]=useState('')\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n readText(props?.filePath).then(setContent).finally(()=>{\r\n setLoading(false)\r\n });\r\n }\r\n },[props?.filePath])\r\n\r\n\r\n return <div className=\"text-viewer-wrapper\">\r\n <div id=\"text-viewer\">\r\n {loading && <Loading/>}\r\n <pre className=\"code-area\">\r\n {content}\r\n </pre>\r\n </div>\r\n </div>\r\n}","import React,{ useEffect ,useState} from 'react'\r\n\r\nfunction renderVideo(buffer, target) {\r\n const mp4 = document.createElement('video');\r\n mp4.width = 850;\r\n mp4.height = 520;\r\n mp4.controls = true;\r\n const source = document.createElement('source');\r\n source.src = URL.createObjectURL(new Blob([buffer]));\r\n mp4.appendChild(source);\r\n target.innerHTML=''\r\n target.appendChild(mp4)\r\n}\r\n\r\nexport const VideoViewer=(props)=>{\r\n useEffect(()=>{\r\n if(props?.filePath){\r\n const dom=document.getElementById('video-viewer')\r\n renderVideo(props?.filePath,dom)\r\n }\r\n },[props?.filePath])\r\n\r\n\r\n return <div className=\"video-viewer-wrapper\">\r\n <div id=\"video-viewer\" style={{display:'flex',justifyContent:'center'}}>\r\n </div>\r\n </div>\r\n}","\n import API from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/.store/style-loader@3.3.3/node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/cjs.js!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/.store/css-loader@6.8.1/node_modules/css-loader/dist/cjs.js!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n\nimport {PDFViewer,DocxViewer,XlsxViewer,PPtxViewer,ImgViewer,TextViewer,VideoViewer} from './drivers'\nimport './style.css'\n\nexport async function readBuffer(file) {\n if(file){\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = loadEvent => resolve(loadEvent?.target?.result);\n reader.onerror = e => reject(e);\n reader.readAsArrayBuffer(file);\n });\n }else{\n return Promise.resolve('')\n }\n \n}\n\nexport const FileViewer=(props)=>{\n\n const getDriver=(fileType) =>{\n switch (fileType) {\n case 'pdf': {\n return <PDFViewer {...props}/>;\n }\n case 'docx': {\n return <DocxViewer {...props}/>;\n }\n case 'xlsx': {\n return <XlsxViewer {...props}/>;\n }\n case 'pptx': {\n return <PPtxViewer {...props}/>;\n }\n case \"gif\": \n case \"jpg\": \n case \"jpeg\":\n case \"bmp\": \n case \"tiff\": \n case \"tif\":\n case \"png\": {\n return <ImgViewer {...props}/>;\n }\n case \"txt\": \n case \"json\": \n case \"js\": \n case \"css\": \n case \"java\": \n case \"py\": \n case \"html\": \n case \"jsx\": \n case \"ts\": \n case \"tsx\": \n case \"xml\": \n case \"md\": \n case \"log\": {\n return <TextViewer {...props}/>;\n }\n case 'mp4': {\n return <VideoViewer {...props}/>;\n }\n default: {\n return <div>\n <h3 style={{textAlign:'center',marginTop:150}}>不支持 .{fileType} 格式的在线预览,请下载后预览或转换为支持的格式</h3>\n <p style={{textAlign:'center'}}>支持 .docx ,.xlsx ,.pptx ,.pdf ,以及纯文本格式和各种图片格式的在线预览</p>\n </div>;\n }\n }\n }\n\n return <div className=\"cr-viewer-wrapper\">\n <div className=\"cr-viewer\" id=\"cr-viewer\">\n {getDriver(props?.fileType)}\n </div>\n</div>\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","nc","require","locals","Loading","_jsxs","className","children","_jsx","src","alt","_regeneratorRuntime","Op","hasOwn","desc","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_s","_e","_x","_r","_arr","_n","_d","_iterableToArrayLimit","minLen","_arrayLikeToArray","from","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","PDFJS","workerSrc","pdfjsWorker","timeout","PDFPage","React","_ref","zoom","pdfInstance","containerWidth","_useState2","useState","visible","setVisible","handlePageRender","_ref2","_callee","page","calculatedScale","scale","viewport","width","height","canvas","_context","getPage","getViewport","getElementById","getContext","render","canvasContext","args","arguments","useEffect","textAlign","display","justifyContent","VisibilitySensor","partialVisibility","onChange","String","PDFViewer","props","_useState4","pages","setPages","_useState6","loading","setLoading","_useState8","setZoom","pdfRef","useRef","containerRef","filePath","promise","pdf","current","random","Math","toFixed","tempPages","numPages","fill","onClick","clearTimeout","setTimeout","s","ref","x","_containerRef$current","offsetWidth","DocxViewer","docxOptions","assign","defaultOptions","debug","experimental","dom","renderAsync","visibility","fixMatrix","colLen","_step","_iterator","_createForOfIteratorHelper","row","j","f","captain","str","toUpperCase","registerLanguageDictionary","zhCN","indexedColors","borders","RenderTable","_ref$workbook","workbook","_objectWithoutProperties","_excluded","curSheetId","setCurSheetId","workbookRef","themeColors","sheets","useMemo","worksheets","filter","sheet","_rows","ws","_workbook$getWorkshee","getWorksheet","alignToClass","horizontal","vertical","renderDefault","Handsontable","registerRenderer","hotInstance","TD","col","cell","getRenderer","indexOf","innerText","date","Date","y","getFullYear","m","getMonth","getDate","getHours","minute","getMinutes","transferTime","_cell$style","_cell$style$alignment","alignment","border","wrapText","font","bold","fontWeight","size","fontSize","bgColor","_fill$bgColor","argb","indexed","backgroundColor","fgColor","_fill$fgColor","theme","color","v","borderStyle","prefix","split","part","merge","_ws$_merges","_merges","_ref3","left","top","right","rowspan","bottom","colspan","cols","columns","letter","getRows","actualRowCount","_cells","model","richText","text","_ws$columns","_objectSpread","renderer","flatMap","ri","ci","updateTable","reduce","updateSettings","mergeCells","colHeaders","autoColumnSize","stretchH","setting","outsideClickDeselects","columnHeaderHeight","columnSorting","multiColumnSorting","rowHeaders","rowHeaderWidth","rowHeights","colWidths","manualRowMove","manualColumnMove","manualRowResize","manualColumnResize","manualColumnFreeze","readOnly","copyable","copyPaste","dragToScroll","dropdownMenu","filters","fixedColumnsLeft","fixedRowsBottom","fixedRowsTop","columnSummary","minSpareCols","minSpareRows","formulas","viewportColumnRenderingOffset","viewportRowRenderingOffset","renderAllRows","language","licenseKey","_workbook$_themes","_themes","theme1","parser","DOMParser","_doc$getElementsByTag3","parseFromString","getElementsByTagName","_doc$getElementsByTag5","_toConsumableArray","node","getAttribute","parseTheme","borderColor","XlsxViewer","setWorkbook","ExcelJS","xlsx","load","_order","t_xml","S","openBracketCC","charCodeAt","closeBracketCC","minusCC","slashCC","exclamationCC","singleQuoteCC","doubleQuoteCC","questionMarkCC","nameSpacer","pos","simplefy","parseChildren","startNamePos","nodeTagName","attrFound","nodeAttributes","c","code","startChar","startStringPos","nodeChildren","startTextPos","trim","child","tagName","kids","attrs","round","Rgb","_classCallCheck","g","b","_createClass","Rgba","_Rgb","_inherits","_super","_createSuper","_this","Hsl","h","l","Hsla","_Hsl","_super2","_this2","Color","_hexToRgb2","hexToRgb","rgb","rgba","hex","rgbToHex","hsl","rgbToHsl","hsla","newHue","updateFromHsl","newSat","newLum","newAlpha","hslToRgb","exec","parseInt","componentToHex","max","min","hue2rgb","p","q","t","_asyncToGenerator","base64ArrayBuffer","arrayBuff","buff","Uint8Array","byteLength","fromCharCode","processPptx","tableStyles","postMessage","charts","chartID","themeContent","slideLayoutClrOvride","styleTable","processPPTX","_x2","_processPPTX","_callee2","zip","dateBefore","pptxThumbImg","filesInfo","slideSize","numOfSlides","filename","slideHtml","dateAfter","_context2","JSZip","file","getContentTypes","getSlideSize","loadTheme","readXmlFile","processSingleSlide","genGlobalCSS","time","_x3","_x4","_readXmlFile","_callee3","_context3","t0","t1","_x5","_getContentTypes","_callee4","ContentTypesJson","subObj","slidesLocArray","slideLayoutsLocArray","_context4","substr","slides","slideLayouts","_x6","_getSlideSize","_callee5","sldSzAttrs","_context5","_x7","_loadTheme","_callee6","preResContent","relationshipArray","themeURI","_context6","_x8","_x9","_x10","_x11","_processSingleSlide","_callee7","sldFileName","resName","resContent","RelationshipArray","layoutFilename","slideResObj","slideLayoutContent","slideLayoutTables","sldLayoutClrOvr","slideLayoutResFilename","slideLayoutResContent","masterFilename","layoutResObj","slideMasterContent","slideMasterTextStyles","slideMasterTables","slideMasterResFilename","slideMasterResContent","themeFilename","masterResObj","_i2","slideContent","nodes","warpObj","nodeKey","_i3","_context7","replace","indexNodes","getTextByPathList","t2","getSlideBackgroundFill","t3","t4","t5","processNodesInSlide","t6","spTreeNode","idTable","idxTable","typeTable","targetNode","nvSpPrNode","idx","_x12","_x13","_x14","_processNodesInSlide","_callee8","nodeValue","_context8","processSpNode","processCxnSpNode","processPicNode","processGraphicFrameNode","processGroupSpNode","_x15","_x16","_processGroupSpNode","_callee9","factor","xfrmNode","chx","chy","cx","cy","chcx","chcy","order","_context9","_x17","_x18","_processSpNode","_callee10","slideLayoutSpNode","slideMasterSpNode","_context10","genShape","_x19","_x20","_processCxnSpNode","_callee11","_context11","_x21","_x22","_x23","_x24","_x25","_x26","_x27","_x28","_x29","_genShape","_callee12","xfrmList","slideXfrmNode","slideLayoutXfrmNode","slideMasterXfrmNode","shpId","shapType","custShapType","isFlipV","rotate","w","headEndNodeAttrs","tailEndNodeAttrs","fillColor","grndFillFlg","imgFillFlg","ext","clrFillType","colorArray","angl","svgGrdnt","svgBgImg","triangleMarker","shapAdjst","shapAdjstVal","_shapAdjst","adjstVal","adjst","_shapAdjst2","_adjstVal","_maxAdjConst","_adjst","shapAdjstArray","_shapAdjst3","_adjstVal2","_adjst2","_shapAdjst4","adj1","adj2","_shapAdjst5","_shapAdjstVal","_shapAdjst6","_adj","_adj2","_shapAdjstArray","sAdj1","sAdj1Val","sAdj2","sAdj2Val","maxSAdj2Const","_i4","sAdjName","sAdj2Val2","_shapAdjstArray2","_sAdj","_sAdj1Val","_sAdj2","_sAdj2Val","_maxSAdj2Const","_i5","_sAdjName","_sAdj2Val2","_shapAdjstArray3","_sAdj3","_sAdj1Val2","_sAdj4","_sAdj2Val3","_maxSAdj2Const2","_i6","_sAdjName2","_sAdj2Val4","_shapAdjstArray4","_sAdj5","_sAdj1Val3","_sAdj6","_sAdj2Val5","_maxSAdj2Const3","_i7","_sAdjName3","_sAdj2Val6","_shapAdjstArray5","_sAdj7","_sAdj1Val4","_sAdj8","_sAdj2Val7","_maxSAdj2Const4","_i8","_sAdjName4","_sAdj2Val8","_shapAdjstArray6","_sAdj9","_sAdj1Val5","_sAdj10","_sAdj2Val9","_maxSAdj2Const5","_i9","_sAdjName5","_sAdj2Val10","pathLstNode","closeNode","startPoint","spX","spY","pathNodes","lnToNodes","cubicBezToNodes","sortblAry","sortByOrder","Lx","Ly","Cx1","Cy1","Cx2","Cy2","Cx3","Cy3","_context12","angleToDegrees","getPosition","getSize","getShapeFill","getFillType","rot","getSvgGradient","getSvgImagePattern","getBorder","strokeDasharray","maxAdjConst","getVerticalAlign","genTextBody","lnToPtNode","key2","ptObj","lnToNoPt","ptX","ptY","ptOrdr","cubicBezToPtNodes","cubBzPts","key3","cubBzPt","sort","t7","t8","t9","t10","t11","t12","t13","t14","t15","_x30","_x31","_processPicNode","_callee13","rid","imgName","imgFileExt","imgArrayBuffer","mimeType","_context13","dot","lastIndexOf","toLowerCase","getImageMimeType","_x32","_x33","_processGraphicFrameNode","_callee14","graphicTypeUri","_context14","genTable","genChart","genDiagram","_x34","_x35","_x36","_x37","_x38","_genTextBody","_callee15","textBodyNode","pNode","rNode","_j","_context15","getHorizontalAlign","genBuChar","genSpanElement","_x39","_x40","_x41","_x42","_x43","_genBuChar","_callee16","sldMstrTxtStyles","dfltBultColor","dfltBultSize","bultColor","bultSize","bullet","pPrNode","getRtlVal","isRTL","lvl","buChar","buType","buNum","buPic","buFontAttrs","defBultColor","buClrNode","buFontSize","prcnt","dfltBultSizeNoPt","marginLeft","marginRight","typeface","buPicId","buImg","imgPath","imgExt","imgMimeType","_context16","getFontColor","getFontSize","getSolidFill","styleText","fontSchemeNode","getFontType","getFontBold","getFontItalic","underLine","strikethrough","getFontDecoration","getAlgn","align","getTextHorizontalAlign","baseline","getTextVerticalAlign","highlight","getColorOpacity","cssName","linkID","_x44","_x45","_genTable","_callee17","tableNode","getTblPr","getColsGrid","tblDir","firstRowAttr","bandRowAttr","tableHtml","trNodes","rowHeightParam","rowHeight","rowsStyl","thisTblStyle","tbleStyleId","tbleStylList","colorOpacity","bgFillschemeClr","borderStyl","rowBorders","_fillColor","_colorOpacity","_bgFillschemeClr","_borderStyl","_rowBorders","_bgFillschemeClr2","_borderStyl2","_rowBorders2","tcNodes","rowSpan","colSpan","vMerge","hMerge","colWidthParam","colStyl","colWidth","getFill","_fillColor2","_colorOpacity2","_tbleStylList","_text","_colWidthParam","_colStyl","_colWidth","_getFill","_fillColor3","_colorOpacity3","_rowHeightParam","_rowHeight","_tcNodes","_j2","_text2","_colWidthParam2","_colStyl2","_colWidth2","_getFill2","_fillColor4","_colorOpacity4","_text3","_colWidthParam3","_colStyl3","_colWidth3","_getFill3","_fillColor5","_colorOpacity5","_context17","getTableBorders","_x46","_x47","_genChart","_callee18","refName","plotArea","chartData","_context18","chartType","extractChartData","slideSpNode","off","algn","anchor","solidFillNode","pathStr","getTextByPathStr","sz","isSvgMode","lineNode","borderWidth","borderType","schemeClrNode","getSchemeColorFromTheme","shade","setLum","_x48","_x49","_x50","_x51","_getSlideBackgroundFill","_callee19","bgPr","bgRef","bgcolor","bgFillTyp","sldFill","sldTint","grdFill","gsLst","tintArray","loTint","loColor","schemeClr","lin","_i10","picFillBase64","ordr","phClr","_schemeClr2","trueIdx","bgFillLst","bgFillLstIdx","_bgFillTyp","_sldFill","_sldTint","_grdFill","_gsLst","_tintArray","_i12","_loTint","_lin","_rot","_i13","_bgFillTyp2","_sldFill2","_bgColor","_sldTint2","_grdFill2","_gsLst2","_colorArray","_tintArray2","_i14","_loTint2","_loColor","_schemeClr3","_lin2","_rot2","_i15","_picFillBase","_ordr","_bgFillTyp3","_sldFill3","_bgColor2","_sldTint3","_grdFill3","_gsLst3","_colorArray2","_tintArray3","_i16","_loTint3","_loColor2","_schemeClr4","_lin3","_rot3","_i17","_picFillBase2","_ordr2","_phClr","_schemeClr5","_idx2","_trueIdx","_bgFillLst","_sortblAry","_sortByOrder","_bgFillLstIdx","_bgFillTyp4","_sldFill4","_sldTint4","_grdFill4","_gsLst4","_tintArray4","_i19","_loTint4","_lin4","_rot4","_i20","_context19","hexToRgbNew","getPicFill","Number","bgFillLstTyp","idex","arrBuff","ArrayBuffer","DataView","setUint32","arrByte","_x52","_x53","_x54","_getShapeFill","_callee20","fillType","shpFill","_shpFill","_shpFill2","_shpFill3","clrName","colorAry","_context20","getGradientFill","getPatternFill","lumMod","lumOff","applyLumModify","_x55","_x56","_x57","_getPicFill","_callee21","img","rId","_context21","defBultColorVals","red","shift","green","blue","toHex","colorHex","findIndx","getColorName2Hex","hsl2rgb","hue","sat","light","hueToRgb","sysClr","solidFill","opcity","tint","sldMasterNode","schmClrName","refNode","serNode","dataMat","dataRow","eachElement","innerNode","parseFloat","colName","rowNames","xlabels","path","doFunction","offset","angle","stopsArray","sArry","middleStopString","getMiddleStops","xyArray","deg","svgHeight","svgWidth","ang","wc","hc","tx1","ty1","tx2","ty2","PI","tan","pow","x1","y1","x2","y2","SVGangle","sal","sr","svg","ptrn","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","pptx","resultElement","thumbElement","$result","$","$wrapper","html","append","isDone","worker","terminate","func","msg","attr","queue","processSingleChart","processCharts","resize","slidesWidth","wrapperWidth","transform","addEventListener","setNumericBullets","convertChartData","xLabels","groupLabels","group","groupName","labelName","_convertChartData","data_","container","dimple","newSvg","myChart","chart","xAxis","addCategoryAxis","addOrderRule","addGroupOrderRule","title","addMeasureAxis","addSeries","plot","line","addLegend","draw","_convertChartData2","bar","_convertChartData3","pie","_convertChartData4","area","elem","paragraphsArray","buSpan","find","prevBultTyp","prevBultLvl","buletIndex","tmpArry","tmpArryIndx","buletTypSrry","bulletType","bulletLvl","numIdx","getNumTypeNum","numTyp","num","rtrnNum","alphaNumeric","romanize","hebrew2Minus","format","digits","roman","ret","upperLower","aNum","PPtxViewer","renderPptx","margin","ImgViewer","url","setUrl","buffer","reader","FileReader","onload","loadEvent","onerror","readAsDataURL","Blob","TextViewer","setContent","readAsText","VideoViewer","mp4","controls","source","URL","createObjectURL","innerHTML","renderVideo","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_defineProperty","getOwnPropertyDescriptors","defineProperties","input","hint","prim","toPrimitive","res","_toPrimitive","_toPropertyKey","readBuffer","_readBuffer","_loadEvent$target","readAsArrayBuffer","FileViewer","fileType","marginTop","getDriver"],"sourceRoot":""}