diff --git a/docxjs/.editorconfig b/docxjs/.editorconfig deleted file mode 100644 index 4fcc5c4..0000000 --- a/docxjs/.editorconfig +++ /dev/null @@ -1,3 +0,0 @@ -[*.ts] -indent_style = tab -indent_size = 4 \ No newline at end of file diff --git a/docxjs/.github/ISSUE_TEMPLATE/document-rendering-bug-report.md b/docxjs/.github/ISSUE_TEMPLATE/document-rendering-bug-report.md deleted file mode 100644 index b94d9d2..0000000 --- a/docxjs/.github/ISSUE_TEMPLATE/document-rendering-bug-report.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: Document rendering bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**Document** -If applicable, add *.docx document to help explain your problem. - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. diff --git a/docxjs/.github/index.html b/docxjs/.github/index.html deleted file mode 100644 index 89dfda9..0000000 --- a/docxjs/.github/index.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── ISSUE_TEMPLATE
- │   └── document-rendering-bug-report.md
- └── workflows
-     └── webpack.yml
-

- -3 directories, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/.github/workflows/webpack.yml b/docxjs/.github/workflows/webpack.yml deleted file mode 100644 index 99fc3dd..0000000 --- a/docxjs/.github/workflows/webpack.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: NodeJS with Webpack - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: ['16.x'] - - steps: - - uses: actions/checkout@v2 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - - name: Build - run: | - npm install - npm run build diff --git a/docxjs/.gitignore b/docxjs/.gitignore deleted file mode 100644 index 0d885dc..0000000 --- a/docxjs/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -node_modules -.vs -bin -obj -docx.js.map -/*.json -/*.config -*.log diff --git a/docxjs/LICENSE b/docxjs/LICENSE index 109d19f..2cc319c 100644 --- a/docxjs/LICENSE +++ b/docxjs/LICENSE @@ -1,201 +1,201 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright (c) 2016-2023 Volodymyr Baydalka - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2016-2023 Volodymyr Baydalka + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/docxjs/README.md b/docxjs/README.md index cf101df..f83f5e0 100644 --- a/docxjs/README.md +++ b/docxjs/README.md @@ -1,114 +1,114 @@ -[![npm version](https://badge.fury.io/js/docx-preview.svg)](https://www.npmjs.com/package/docx-preview) -[![Support Ukraine](https://img.shields.io/badge/Support-Ukraine-blue?style=flat&logo=adguard)](https://war.ukraine.ua/) - -# docxjs -Docx rendering library - -Demo - https://volodymyrbaydalka.github.io/docxjs/ - -Goal ----- -Goal of this project is to render/convert DOCX document into HTML document with keeping HTML semantic as much as possible. -That means library is limited by HTML capabilities (for example Google Docs renders *.docx document on canvas as an image). - -Installation ------ -``` -npm install docx-preview -``` - -Usage ------ -```html - - - - - - ... -
- ... - -``` -API ---- -```ts -// renders document into specified element -renderAsync( - document: Blob | ArrayBuffer | Uint8Array, // could be any type that supported by JSZip.loadAsync - bodyContainer: HTMLElement, //element to render document content, - styleContainer: HTMLElement, //element to render document styles, numbeings, fonts. If null, bodyContainer will be used. - options: { - className: string = "docx", //class name/prefix for default and document style classes - inWrapper: boolean = true, //enables rendering of wrapper around document content - hideWrapperOnPrint: boolean = false, //disable wrapper styles on print - ignoreWidth: boolean = false, //disables rendering width of page - ignoreHeight: boolean = false, //disables rendering height of page - ignoreFonts: boolean = false, //disables fonts rendering - breakPages: boolean = true, //enables page breaking on page breaks - ignoreLastRenderedPageBreak: boolean = true, //disables page breaking on lastRenderedPageBreak elements - experimental: boolean = false, //enables experimental features (tab stops calculation) - trimXmlDeclaration: boolean = true, //if true, xml declaration will be removed from xml documents before parsing - useBase64URL: boolean = false, //if true, images, fonts, etc. will be converted to base 64 URL, otherwise URL.createObjectURL is used - renderChanges: false, //enables experimental rendering of document changes (inserions/deletions) - renderHeaders: true, //enables headers rendering - renderFooters: true, //enables footers rendering - renderFootnotes: true, //enables footnotes rendering - renderEndnotes: true, //enables endnotes rendering - renderComments: false, //enables experimental comments rendering - renderAltChunks: true, //enables altChunks (html parts) rendering - debug: boolean = false, //enables additional logging - }): Promise - -/// ==== experimental / internal API === -// this API could be used to modify document before rendering -// renderAsync = parseAsync + renderDocument - -// parse document and return internal document object -parseAsync( - document: Blob | ArrayBuffer | Uint8Array, - options: Options -): Promise - -// render internal document object into specified container -renderDocument( - wordDocument: WordDocument, - bodyContainer: HTMLElement, - styleContainer: HTMLElement, - options: Options -): Promise -``` - -Thumbnails, TOC and etc. ------- -Thumbnails is added only for example and it's not part of library. Library renders DOCX into HTML, so it can't be efficiently used for thumbnails. - -Table of contents is built using the TOC fields and there is no efficient way to get table of contents at this point, since fields is not supported yet (http://officeopenxml.com/WPtableOfContents.php) - -Breaks ------- -Currently library does break pages: -- if user/manual page break `` is inserted - when user insert page break -- if application page break `` is inserted - could be inserted by editor application like MS word (`ignoreLastRenderedPageBreak` should be set to false) -- if page settings for paragraph is changed - ex: user change settings from portrait to landscape page - -Realtime page breaking is not implemented because it's requires re-calculation of sizes on each insertion and that could affect performance a lot. - -If page breaking is crutual for you, I would recommend: -- try to insert manual break point as much as you could -- try use editors like MS Word, that inserts `` break points - -NOTE: by default `ignoreLastRenderedPageBreak` is set to `true`. You may need to set it to `false`, to make library break by `` break points - -Status and stability ------- -So far I can't come up with final approach of parsing documents and final structure of API. Only **renderAsync** function is stable and definition shouldn't be changed in future. Inner implementation of parsing and rendering may be changed at any point of time. - -Contributing ------- -Please do not include contents of `./dist` folder in your PR's. Otherwise I most likely will reject it due to stability and security concerns. +[![npm version](https://badge.fury.io/js/docx-preview.svg)](https://www.npmjs.com/package/docx-preview) +[![Support Ukraine](https://img.shields.io/badge/Support-Ukraine-blue?style=flat&logo=adguard)](https://war.ukraine.ua/) + +# docxjs +Docx rendering library + +Demo - https://volodymyrbaydalka.github.io/docxjs/ + +Goal +---- +Goal of this project is to render/convert DOCX document into HTML document with keeping HTML semantic as much as possible. +That means library is limited by HTML capabilities (for example Google Docs renders *.docx document on canvas as an image). + +Installation +----- +``` +npm install docx-preview +``` + +Usage +----- +```html + + + + + + ... +
+ ... + +``` +API +--- +```ts +// renders document into specified element +renderAsync( + document: Blob | ArrayBuffer | Uint8Array, // could be any type that supported by JSZip.loadAsync + bodyContainer: HTMLElement, //element to render document content, + styleContainer: HTMLElement, //element to render document styles, numbeings, fonts. If null, bodyContainer will be used. + options: { + className: string = "docx", //class name/prefix for default and document style classes + inWrapper: boolean = true, //enables rendering of wrapper around document content + hideWrapperOnPrint: boolean = false, //disable wrapper styles on print + ignoreWidth: boolean = false, //disables rendering width of page + ignoreHeight: boolean = false, //disables rendering height of page + ignoreFonts: boolean = false, //disables fonts rendering + breakPages: boolean = true, //enables page breaking on page breaks + ignoreLastRenderedPageBreak: boolean = true, //disables page breaking on lastRenderedPageBreak elements + experimental: boolean = false, //enables experimental features (tab stops calculation) + trimXmlDeclaration: boolean = true, //if true, xml declaration will be removed from xml documents before parsing + useBase64URL: boolean = false, //if true, images, fonts, etc. will be converted to base 64 URL, otherwise URL.createObjectURL is used + renderChanges: false, //enables experimental rendering of document changes (inserions/deletions) + renderHeaders: true, //enables headers rendering + renderFooters: true, //enables footers rendering + renderFootnotes: true, //enables footnotes rendering + renderEndnotes: true, //enables endnotes rendering + renderComments: false, //enables experimental comments rendering + renderAltChunks: true, //enables altChunks (html parts) rendering + debug: boolean = false, //enables additional logging + }): Promise + +/// ==== experimental / internal API === +// this API could be used to modify document before rendering +// renderAsync = parseAsync + renderDocument + +// parse document and return internal document object +parseAsync( + document: Blob | ArrayBuffer | Uint8Array, + options: Options +): Promise + +// render internal document object into specified container +renderDocument( + wordDocument: WordDocument, + bodyContainer: HTMLElement, + styleContainer: HTMLElement, + options: Options +): Promise +``` + +Thumbnails, TOC and etc. +------ +Thumbnails is added only for example and it's not part of library. Library renders DOCX into HTML, so it can't be efficiently used for thumbnails. + +Table of contents is built using the TOC fields and there is no efficient way to get table of contents at this point, since fields is not supported yet (http://officeopenxml.com/WPtableOfContents.php) + +Breaks +------ +Currently library does break pages: +- if user/manual page break `` is inserted - when user insert page break +- if application page break `` is inserted - could be inserted by editor application like MS word (`ignoreLastRenderedPageBreak` should be set to false) +- if page settings for paragraph is changed - ex: user change settings from portrait to landscape page + +Realtime page breaking is not implemented because it's requires re-calculation of sizes on each insertion and that could affect performance a lot. + +If page breaking is crutual for you, I would recommend: +- try to insert manual break point as much as you could +- try use editors like MS Word, that inserts `` break points + +NOTE: by default `ignoreLastRenderedPageBreak` is set to `true`. You may need to set it to `false`, to make library break by `` break points + +Status and stability +------ +So far I can't come up with final approach of parsing documents and final structure of API. Only **renderAsync** function is stable and definition shouldn't be changed in future. Inner implementation of parsing and rendering may be changed at any point of time. + +Contributing +------ +Please do not include contents of `./dist` folder in your PR's. Otherwise I most likely will reject it due to stability and security concerns. diff --git a/docxjs/demo/index.html b/docxjs/demo/index.html deleted file mode 100644 index 4df5fb2..0000000 --- a/docxjs/demo/index.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── thumbnail.example.css
- ├── thumbnail.example.js
- └── tiff-preprocessor.js
-

- -1 directory, 3 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/demo/thumbnail.example.css b/docxjs/demo/thumbnail.example.css deleted file mode 100644 index e97f3ea..0000000 --- a/docxjs/demo/thumbnail.example.css +++ /dev/null @@ -1,52 +0,0 @@ -details.docx-thumbnails { - position: relative; - background-color: rgb(101, 101, 101); - border-right: 1px solid black; - min-width: 1rem; -} - -details.docx-thumbnails[open] { - min-width: 120px; -} - -details.docx-thumbnails summary { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: 1rem; - padding-left: 3px; -} - -details.docx-thumbnails summary:hover { - background-color: rgb(0 0 0 / 50%); -} - -details.docx-thumbnails summary::marker { - color: white; -} - -.docx-thumbnails:empty { - display: none; -} - -.docx-thumbnails-container { - height: 100%; - overflow: auto; - scrollbar-gutter: stable both-edges; - padding: 0.25rem; -} - -.docx-thumbnail-item { - display: flex; - background-color: white; - text-decoration: none; - color: black; - align-items: center; - justify-content: center; - font-size: 3rem; - aspect-ratio: 6 / 8; - width: 100px; - box-shadow: 0 0 10px rgb(0 0 0 / 50%); - margin: 1rem; -} \ No newline at end of file diff --git a/docxjs/demo/thumbnail.example.js b/docxjs/demo/thumbnail.example.js deleted file mode 100644 index 7594fd9..0000000 --- a/docxjs/demo/thumbnail.example.js +++ /dev/null @@ -1,17 +0,0 @@ -function renderThumbnails(docxContainer, thumbnailsContainer) { - const sections = docxContainer.querySelectorAll('.docx-wrapper>section'); - - thumbnailsContainer.innerHTML = ""; - - for (let i = 0; i < sections.length; i ++) { - const id = `docx-page-${i + 1}`; - const thumbnail = document.createElement('a'); - - thumbnail.className = 'docx-thumbnail-item'; - thumbnail.href = `#${id}`; - thumbnail.innerText = `${i + 1}`; - thumbnailsContainer.appendChild(thumbnail); - - sections[i].setAttribute("id", id); - } -} \ No newline at end of file diff --git a/docxjs/demo/tiff-preprocessor.js b/docxjs/demo/tiff-preprocessor.js deleted file mode 100644 index f2febc4..0000000 --- a/docxjs/demo/tiff-preprocessor.js +++ /dev/null @@ -1,16 +0,0 @@ -async function preprocessTiff(blob) { - let zip = await JSZip.loadAsync(blob); - const tiffs = zip.file(/[.]tiff?$/); - - if (tiffs.length == 0) - return blob; - - for (let f of tiffs) { - const buffer = await f.async("uint8array"); - const tiff = new Tiff({ buffer }); - const blob = await new Promise(res => tiff.toCanvas().toBlob(blob => res(blob), "image/png")); - zip.file(f.name, blob); - } - - return await zip.generateAsync({ type: "blob" }); -} \ No newline at end of file diff --git a/docxjs/dist/docx-preview.d.ts b/docxjs/dist/docx-preview.d.ts index d640042..2c2af63 100644 --- a/docxjs/dist/docx-preview.d.ts +++ b/docxjs/dist/docx-preview.d.ts @@ -1,27 +1,33 @@ -export interface Options { - inWrapper: boolean; - hideWrapperOnPrint: boolean; - ignoreWidth: boolean; - ignoreHeight: boolean; - ignoreFonts: boolean; - breakPages: boolean; - debug: boolean; - experimental: boolean; - className: string; - trimXmlDeclaration: boolean; - renderHeaders: boolean; - renderFooters: boolean; - renderFootnotes: boolean; - renderEndnotes: boolean; - ignoreLastRenderedPageBreak: boolean; - useBase64URL: boolean; - renderChanges: boolean; - renderComments: boolean; - renderAltChunks: boolean; -} -//stub -export type WordDocument = any; -export declare const defaultOptions: Options; -export declare function parseAsync(data: Blob | any, userOptions?: Partial): Promise; -export declare function renderDocument(document: WordDocument, bodyContainer: HTMLElement, styleContainer?: HTMLElement, userOptions?: Partial): Promise; -export declare function renderAsync(data: Blob | any, bodyContainer: HTMLElement, styleContainer?: HTMLElement, userOptions?: Partial): Promise; +/* + * @license + * docx-preview + * Released under Apache License 2.0 + * Copyright Volodymyr Baydalka + */ +export interface Options { + inWrapper: boolean; + hideWrapperOnPrint: boolean; + ignoreWidth: boolean; + ignoreHeight: boolean; + ignoreFonts: boolean; + breakPages: boolean; + debug: boolean; + experimental: boolean; + className: string; + trimXmlDeclaration: boolean; + renderHeaders: boolean; + renderFooters: boolean; + renderFootnotes: boolean; + renderEndnotes: boolean; + ignoreLastRenderedPageBreak: boolean; + useBase64URL: boolean; + renderChanges: boolean; + renderComments: boolean; + renderAltChunks: boolean; +} +//stub +export type WordDocument = any; +export declare const defaultOptions: Options; +export declare function parseAsync(data: Blob | any, userOptions?: Partial): Promise; +export declare function renderDocument(document: WordDocument, bodyContainer: HTMLElement, styleContainer?: HTMLElement, userOptions?: Partial): Promise; +export declare function renderAsync(data: Blob | any, bodyContainer: HTMLElement, styleContainer?: HTMLElement, userOptions?: Partial): Promise; diff --git a/docxjs/dist/docx-preview.js b/docxjs/dist/docx-preview.js index 56449e2..b7a26e9 100644 --- a/docxjs/dist/docx-preview.js +++ b/docxjs/dist/docx-preview.js @@ -1,3 +1,9 @@ +/* + * @license + * docx-preview + * Released under Apache License 2.0 + * Copyright Volodymyr Baydalka + */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jszip')) : typeof define === 'function' && define.amd ? define(['exports', 'jszip'], factory) : @@ -103,22 +109,14 @@ } const ns$1 = { - wordml: "http://schemas.openxmlformats.org/wordprocessingml/2006/main", - drawingml: "http://schemas.openxmlformats.org/drawingml/2006/main", - picture: "http://schemas.openxmlformats.org/drawingml/2006/picture", - compatibility: "http://schemas.openxmlformats.org/markup-compatibility/2006", - math: "http://schemas.openxmlformats.org/officeDocument/2006/math" - }; + wordml: "http://schemas.openxmlformats.org/wordprocessingml/2006/main"}; const LengthUsage = { Dxa: { mul: 0.05, unit: "pt" }, Emu: { mul: 1 / 12700, unit: "pt" }, FontSize: { mul: 0.5, unit: "pt" }, Border: { mul: 0.125, unit: "pt", min: 0.25, max: 12 }, Point: { mul: 1, unit: "pt" }, - Percent: { mul: 0.02, unit: "%" }, - LineHeight: { mul: 1 / 240, unit: "" }, - VmlEmu: { mul: 1 / 12700, unit: "" }, - }; + Percent: { mul: 0.02, unit: "%" }}; function convertLength(val, usage = LengthUsage.Dxa) { if (val == null || /.+(p[xt]|[%])$/.test(val)) { return val; @@ -179,7 +177,7 @@ const result = []; for (let i = 0, l = elem.childNodes.length; i < l; i++) { let c = elem.childNodes.item(i); - if (c.nodeType == 1 && (localName == null || c.localName == localName)) + if (c.nodeType == Node.ELEMENT_NODE && (localName == null || c.localName == localName)) result.push(c); } return result; @@ -1228,7 +1226,7 @@ const trimmed = guidKey.replace(/{|}|-/g, ""); const numbers = new Array(len); for (let i = 0; i < len; i++) - numbers[len - i - 1] = parseInt(trimmed.substr(i * 2, 2), 16); + numbers[len - i - 1] = parseInt(trimmed.substring(i * 2, i * 2 + 2), 16); for (let i = 0; i < 32; i++) data[i] = data[i] ^ numbers[i % len]; return data; @@ -1454,7 +1452,7 @@ } parseBodyElements(element) { var children = []; - for (let elem of globalXmlParser.elements(element)) { + for (const elem of globalXmlParser.elements(element)) { switch (elem.localName) { case "p": children.push(this.parseParagraph(elem)); @@ -1474,7 +1472,7 @@ } parseStylesFile(xstyles) { var result = []; - xmlUtil.foreach(xstyles, n => { + for (const n of globalXmlParser.elements(xstyles)) { switch (n.localName) { case "style": result.push(this.parseStyle(n)); @@ -1483,7 +1481,7 @@ result.push(this.parseDefaultStyles(n)); break; } - }); + } return result; } parseDefaultStyles(node) { @@ -1494,7 +1492,7 @@ basedOn: null, styles: [] }; - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "rPrDefault": var rPr = globalXmlParser.element(c, "rPr"); @@ -1513,7 +1511,7 @@ }); break; } - }); + } return result; } parseStyle(node) { @@ -1537,7 +1535,7 @@ result.target = "span"; break; } - xmlUtil.foreach(node, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "basedOn": result.basedOn = globalXmlParser.attr(n, "val"); @@ -1590,7 +1588,7 @@ default: this.options.debug && console.warn(`DOCX: Unknown style element: ${n.localName}`); } - }); + } return result; } parseTableStyle(node) { @@ -1633,7 +1631,7 @@ break; default: return []; } - xmlUtil.foreach(node, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "pPr": result.push({ @@ -1658,14 +1656,14 @@ }); break; } - }); + } return result; } - parseNumberingFile(xnums) { + parseNumberingFile(node) { var result = []; var mapping = {}; var bullets = []; - xmlUtil.foreach(xnums, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "abstractNum": this.parseAbstractNumbering(n, bullets) @@ -1680,7 +1678,7 @@ mapping[abstractNumId] = numId; break; } - }); + } result.forEach(x => x.id = mapping[x.id]); return result; } @@ -1697,13 +1695,13 @@ parseAbstractNumbering(node, bullets) { var result = []; var id = globalXmlParser.attr(node, "abstractNumId"); - xmlUtil.foreach(node, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "lvl": result.push(this.parseNumberingLevel(id, n, bullets)); break; } - }); + } return result; } parseNumberingLevel(id, node, bullets) { @@ -1716,7 +1714,7 @@ rStyle: {}, suff: "tab" }; - xmlUtil.foreach(node, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "start": result.start = globalXmlParser.intAttr(n, "val"); @@ -1728,8 +1726,8 @@ this.parseDefaultProperties(n, result.rStyle); break; case "lvlPicBulletId": - var id = globalXmlParser.intAttr(n, "val"); - result.bullet = bullets.find(x => x?.id == id); + var bulletId = globalXmlParser.intAttr(n, "val"); + result.bullet = bullets.find(x => x?.id == bulletId); break; case "lvlText": result.levelText = globalXmlParser.attr(n, "val"); @@ -1744,7 +1742,7 @@ result.suff = globalXmlParser.attr(n, "val"); break; } - }); + } return result; } parseSdt(node, parser) { @@ -1842,13 +1840,13 @@ var result = { type: DomType.Hyperlink, parent: parent, children: [] }; result.anchor = globalXmlParser.attr(node, "anchor"); result.id = globalXmlParser.attr(node, "id"); - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "r": result.children.push(this.parseRun(c, result)); break; } - }); + } return result; } parseSmartTag(node, parent) { @@ -1859,18 +1857,18 @@ result.uri = uri; if (element) result.element = element; - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "r": result.children.push(this.parseRun(c, result)); break; } - }); + } return result; } parseRun(node, parent) { var result = { type: DomType.Run, parent: parent, children: [] }; - xmlUtil.foreach(node, c => { + for (let c of globalXmlParser.elements(node)) { c = this.checkAlternateContent(c); switch (c.localName) { case "t": @@ -1961,7 +1959,7 @@ this.parseRunProperties(c, result); break; } - }); + } return result; } parseMathElement(elem) { @@ -2083,7 +2081,7 @@ if (alignNode) pos.align = alignNode.textContent; if (offsetNode) - pos.offset = xmlUtil.sizeValue(offsetNode, LengthUsage.Emu); + pos.offset = convertLength(offsetNode.textContent, LengthUsage.Emu); } break; case "wrapTopAndBottom": @@ -2135,27 +2133,39 @@ var result = { type: DomType.Image, src: "", cssStyle: {} }; var blipFill = globalXmlParser.element(elem, "blipFill"); var blip = globalXmlParser.element(blipFill, "blip"); + var srcRect = globalXmlParser.element(blipFill, "srcRect"); result.src = globalXmlParser.attr(blip, "embed"); + if (srcRect) { + result.srcRect = [ + globalXmlParser.intAttr(srcRect, "l", 0) / 100000, + globalXmlParser.intAttr(srcRect, "t", 0) / 100000, + globalXmlParser.intAttr(srcRect, "r", 0) / 100000, + globalXmlParser.intAttr(srcRect, "b", 0) / 100000, + ]; + } var spPr = globalXmlParser.element(elem, "spPr"); var xfrm = globalXmlParser.element(spPr, "xfrm"); result.cssStyle["position"] = "relative"; - for (var n of globalXmlParser.elements(xfrm)) { - switch (n.localName) { - case "ext": - result.cssStyle["width"] = globalXmlParser.lengthAttr(n, "cx", LengthUsage.Emu); - result.cssStyle["height"] = globalXmlParser.lengthAttr(n, "cy", LengthUsage.Emu); - break; - case "off": - result.cssStyle["left"] = globalXmlParser.lengthAttr(n, "x", LengthUsage.Emu); - result.cssStyle["top"] = globalXmlParser.lengthAttr(n, "y", LengthUsage.Emu); - break; + if (xfrm) { + result.rotation = globalXmlParser.intAttr(xfrm, "rot", 0) / 60000; + for (var n of globalXmlParser.elements(xfrm)) { + switch (n.localName) { + case "ext": + result.cssStyle["width"] = globalXmlParser.lengthAttr(n, "cx", LengthUsage.Emu); + result.cssStyle["height"] = globalXmlParser.lengthAttr(n, "cy", LengthUsage.Emu); + break; + case "off": + result.cssStyle["left"] = globalXmlParser.lengthAttr(n, "x", LengthUsage.Emu); + result.cssStyle["top"] = globalXmlParser.lengthAttr(n, "y", LengthUsage.Emu); + break; + } } } return result; } parseTable(node) { var result = { type: DomType.Table, children: [] }; - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "tr": result.children.push(this.parseTableRow(c)); @@ -2167,18 +2177,18 @@ this.parseTableProperties(c, result); break; } - }); + } return result; } parseTableColumns(node) { var result = []; - xmlUtil.foreach(node, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "gridCol": result.push({ width: globalXmlParser.lengthAttr(n, "w") }); break; } - }); + } return result; } parseTableProperties(elem, table) { @@ -2234,16 +2244,17 @@ } parseTableRow(node) { var result = { type: DomType.Row, children: [] }; - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "tc": result.children.push(this.parseTableCell(c)); break; case "trPr": + case "tblPrEx": this.parseTableRowProperties(c, result); break; } - }); + } return result; } parseTableRowProperties(elem, row) { @@ -2269,7 +2280,7 @@ } parseTableCell(node) { var result = { type: DomType.Cell, children: [] }; - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "tbl": result.children.push(this.parseTable(c)); @@ -2281,7 +2292,7 @@ this.parseTableCellProperties(c, result); break; } - }); + } return result; } parseTableCellProperties(elem, cell) { @@ -2318,20 +2329,20 @@ transform: "none" } }; - xmlUtil.foreach(elem, c => { + for (const c of globalXmlParser.elements(elem)) { if (c.localName === "textDirection") { const direction = globalXmlParser.attr(c, "val"); const style = directionMap[direction] || { writingMode: "horizontal-tb" }; cell.cssStyle["writing-mode"] = style.writingMode; cell.cssStyle["transform"] = style.transform; } - }); + } } parseDefaultProperties(elem, style = null, childStyle = null, handler = null) { style = style || {}; - xmlUtil.foreach(elem, c => { + for (const c of globalXmlParser.elements(elem)) { if (handler?.(c)) - return; + continue; switch (c.localName) { case "jc": style["text-align"] = values.valueOfJc(c); @@ -2466,7 +2477,7 @@ console.warn(`DOCX: Unknown document element: ${elem.localName}.${c.localName}`); break; } - }); + } return style; } parseUnderline(node, style) { @@ -2559,7 +2570,7 @@ } } parseMarginProperties(node, output) { - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "left": output["padding-left"] = values.valueOfMargin(c); @@ -2574,7 +2585,7 @@ output["padding-bottom"] = values.valueOfMargin(c); break; } - }); + } } parseTrHeight(node, output) { switch (globalXmlParser.attr(node, "hRule")) { @@ -2588,7 +2599,7 @@ } } parseBorderProperties(node, output) { - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "start": case "left": @@ -2605,18 +2616,11 @@ output["border-bottom"] = values.valueOfBorder(c); break; } - }); + } } } const knownColors = ['black', 'blue', 'cyan', 'darkBlue', 'darkCyan', 'darkGray', 'darkGreen', 'darkMagenta', 'darkRed', 'darkYellow', 'green', 'lightGray', 'magenta', 'none', 'red', 'white', 'yellow']; class xmlUtil { - static foreach(node, cb) { - for (var i = 0; i < node.childNodes.length; i++) { - let n = node.childNodes[i]; - if (n.nodeType == Node.ELEMENT_NODE) - cb(n); - } - } static colorAttr(node, attrName, defValue = null, autoColor = 'black') { var v = globalXmlParser.attr(node, attrName); if (v) { @@ -2631,9 +2635,6 @@ var themeColor = globalXmlParser.attr(node, "themeColor"); return themeColor ? `var(--docx-${themeColor}-color)` : defValue; } - static sizeValue(node, type = LengthUsage.Dxa) { - return convertLength(node.textContent, type); - } } class values { static themeValue(c, attr) { @@ -3210,30 +3211,30 @@ } renderDefaultStyle() { var c = this.className; - var wrapperStyle = ` -.${c}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } + var wrapperStyle = ` +.${c}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } .${c}-wrapper>section.${c} { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); margin-bottom: 30px; }`; if (this.options.hideWrapperOnPrint) { wrapperStyle = `@media not print { ${wrapperStyle} }`; } - var styleText = `${wrapperStyle} -.${c} { color: black; hyphens: auto; text-underline-position: from-font; } -section.${c} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; } -section.${c}>article { margin-bottom: auto; z-index: 1; } -section.${c}>footer { z-index: 1; } -.${c} table { border-collapse: collapse; } -.${c} table td, .${c} table th { vertical-align: top; } -.${c} p { margin: 0pt; min-height: 1em; } -.${c} span { white-space: pre-wrap; overflow-wrap: break-word; } -.${c} a { color: inherit; text-decoration: inherit; } -.${c} svg { fill: transparent; } + var styleText = `${wrapperStyle} +.${c} { color: black; hyphens: auto; text-underline-position: from-font; } +section.${c} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; } +section.${c}>article { margin-bottom: auto; z-index: 1; } +section.${c}>footer { z-index: 1; } +.${c} table { border-collapse: collapse; } +.${c} table td, .${c} table th { vertical-align: top; } +.${c} p { margin: 0pt; min-height: 1em; } +.${c} span { white-space: pre-wrap; overflow-wrap: break-word; } +.${c} a { color: inherit; text-decoration: inherit; } +.${c} svg { fill: transparent; } `; if (this.options.renderComments) { - styleText += ` -.${c}-comment-ref { cursor: default; } -.${c}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; } -.${c}-comment-ref:hover~.${c}-comment-popover { display: block; } -.${c}-comment-author,.${c}-comment-date { font-size: 0.875rem; color: #888; } + styleText += ` +.${c}-comment-ref { cursor: default; } +.${c}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; } +.${c}-comment-ref:hover~.${c}-comment-popover { display: block; } +.${c}-comment-author,.${c}-comment-date { font-size: 0.875rem; color: #888; } `; } return this.createStyleElement(styleText); @@ -3495,7 +3496,7 @@ section.${c}>footer { z-index: 1; } return null; const rng = new Range(); this.commentHighlight?.add(rng); - const result = this.htmlDocument.createComment(`start of comment #${commentStart.id}`); + const result = this.createComment(`start of comment #${commentStart.id}`); this.later(() => rng.setStart(result, 0)); this.commentMap[commentStart.id] = rng; return result; @@ -3504,7 +3505,7 @@ section.${c}>footer { z-index: 1; } if (!this.options.renderComments) return null; const rng = this.commentMap[commentEnd.id]; - const result = this.htmlDocument.createComment(`end of comment #${commentEnd.id}`); + const result = this.createComment(`end of comment #${commentEnd.id}`); this.later(() => rng?.setEnd(result, 0)); return result; } @@ -3518,7 +3519,7 @@ section.${c}>footer { z-index: 1; } const commentRefEl = this.createElement("span", { className: `${this.className}-comment-ref` }, ['💬']); const commentsContainerEl = this.createElement("div", { className: `${this.className}-comment-popover` }); this.renderCommentContent(comment, commentsContainerEl); - frg.appendChild(this.htmlDocument.createComment(`comment #${comment.id} by ${comment.author} on ${comment.date}`)); + frg.appendChild(this.createComment(`comment #${comment.id} by ${comment.author} on ${comment.date}`)); frg.appendChild(commentRefEl); frg.appendChild(commentsContainerEl); return frg; @@ -3547,7 +3548,16 @@ section.${c}>footer { z-index: 1; } } renderImage(elem) { let result = this.createElement("img"); + let transform = elem.cssStyle?.transform; this.renderStyleValues(elem.cssStyle, result); + if (elem.srcRect && elem.srcRect.some(x => x != 0)) { + var [left, top, right, bottom] = elem.srcRect; + transform = `scale(${1 / (1 - left - right)}, ${1 / (1 - top - bottom)})`; + result.style['clip-path'] = `rect(${(100 * top).toFixed(2)}% ${(100 * (1 - right)).toFixed(2)}% ${(100 * (1 - bottom)).toFixed(2)}% ${(100 * left).toFixed(2)}%)`; + } + if (elem.rotation) + transform = `rotate(${elem.rotation}deg) ${transform ?? ''}`; + result.style.transform = transform?.trim(); if (this.document) { this.tasks.push(this.document.loadDocumentImage(elem.src, this.currentPart).then(x => { result.src = x; @@ -3559,7 +3569,7 @@ section.${c}>footer { z-index: 1; } return this.htmlDocument.createTextNode(elem.text); } renderDeletedText(elem) { - return this.options.renderEndnotes ? this.htmlDocument.createTextNode(elem.text) : null; + return this.options.renderChanges ? this.renderText(elem) : null; } renderBreak(elem) { if (elem.break == "textWrapping") { diff --git a/docxjs/dist/docx-preview.js.map b/docxjs/dist/docx-preview.js.map index a4841a6..d315f35 100644 --- a/docxjs/dist/docx-preview.js.map +++ b/docxjs/dist/docx-preview.js.map @@ -1 +1 @@ -{"version":3,"file":"docx-preview.js","sources":["../src/common/relationship.ts","../src/utils.ts","../src/document/common.ts","../src/parser/xml-parser.ts","../src/common/part.ts","../src/font-table/fonts.ts","../src/font-table/font-table.ts","../src/common/open-xml-package.ts","../src/document/document-part.ts","../src/document/border.ts","../src/document/section.ts","../src/document/line-spacing.ts","../src/document/run.ts","../src/document/paragraph.ts","../src/numbering/numbering.ts","../src/numbering/numbering-part.ts","../src/styles/styles-part.ts","../src/document/dom.ts","../src/header-footer/elements.ts","../src/header-footer/parts.ts","../src/document-props/extended-props.ts","../src/document-props/extended-props-part.ts","../src/document-props/core-props.ts","../src/document-props/core-props-part.ts","../src/theme/theme.ts","../src/theme/theme-part.ts","../src/notes/elements.ts","../src/notes/parts.ts","../src/settings/settings.ts","../src/settings/settings-part.ts","../src/document-props/custom-props.ts","../src/document-props/custom-props-part.ts","../src/comments/comments-part.ts","../src/comments/comments-extended-part.ts","../src/word-document.ts","../src/document/bookmarks.ts","../src/vml/vml.ts","../src/comments/elements.ts","../src/document-parser.ts","../src/javascript.ts","../src/html-renderer.ts","../src/docx-preview.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ns","parseNumbering","xml"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"docx-preview.js","sources":["../src/common/relationship.ts","../src/utils.ts","../src/document/common.ts","../src/parser/xml-parser.ts","../src/common/part.ts","../src/font-table/fonts.ts","../src/font-table/font-table.ts","../src/common/open-xml-package.ts","../src/document/document-part.ts","../src/document/border.ts","../src/document/section.ts","../src/document/line-spacing.ts","../src/document/run.ts","../src/document/paragraph.ts","../src/numbering/numbering.ts","../src/numbering/numbering-part.ts","../src/styles/styles-part.ts","../src/document/dom.ts","../src/header-footer/elements.ts","../src/header-footer/parts.ts","../src/document-props/extended-props.ts","../src/document-props/extended-props-part.ts","../src/document-props/core-props.ts","../src/document-props/core-props-part.ts","../src/theme/theme.ts","../src/theme/theme-part.ts","../src/notes/elements.ts","../src/notes/parts.ts","../src/settings/settings.ts","../src/settings/settings-part.ts","../src/document-props/custom-props.ts","../src/document-props/custom-props-part.ts","../src/comments/comments-part.ts","../src/comments/comments-extended-part.ts","../src/word-document.ts","../src/document/bookmarks.ts","../src/vml/vml.ts","../src/comments/elements.ts","../src/document-parser.ts","../src/javascript.ts","../src/html-renderer.ts","../src/docx-preview.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ns","parseNumbering","xml"],"mappings":"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"} \ No newline at end of file diff --git a/docxjs/dist/docx-preview.min.js b/docxjs/dist/docx-preview.min.js index bec4bfa..230faf3 100644 --- a/docxjs/dist/docx-preview.min.js +++ b/docxjs/dist/docx-preview.min.js @@ -1,2 +1,8 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jszip")):"function"==typeof define&&define.amd?define(["exports","jszip"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).docx={},e.JSZip)}(this,(function(e,t){"use strict";var r;function a(e){return/^[^"'].*\s.*[^"']$/.test(e)?`'${e}'`:e}function s(e){let t=e.lastIndexOf("/")+1;return[0==t?"":e.substring(0,t),0==t?e:e.substring(t)]}function n(e,t){try{const r="http://docx/";return new URL(e,r+t).toString().substring(r.length)}catch{return`${t}${e}`}}function l(e,t){return e.reduce(((e,r)=>(e[t(r)]=r,e)),{})}function o(e){return e&&"object"==typeof e&&!Array.isArray(e)}function i(e,...t){if(!t.length)return e;const r=t.shift();if(o(e)&&o(r))for(const t in r)if(o(r[t])){i(e[t]??(e[t]={}),r[t])}else e[t]=r[t];return i(e,...t)}function c(e){return Array.isArray(e)?e:[e]}!function(e){e.OfficeDocument="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",e.FontTable="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",e.Image="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",e.Numbering="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",e.Styles="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",e.StylesWithEffects="http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects",e.Theme="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",e.Settings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",e.WebSettings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",e.Hyperlink="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e.Footnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",e.Endnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",e.Footer="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",e.Header="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",e.ExtendedProperties="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",e.CoreProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",e.CustomProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties",e.Comments="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",e.CommentsExtended="http://schemas.microsoft.com/office/2011/relationships/commentsExtended",e.AltChunk="http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk"}(r||(r={}));const h={wordml:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",drawingml:"http://schemas.openxmlformats.org/drawingml/2006/main",picture:"http://schemas.openxmlformats.org/drawingml/2006/picture",compatibility:"http://schemas.openxmlformats.org/markup-compatibility/2006",math:"http://schemas.openxmlformats.org/officeDocument/2006/math"},m={Dxa:{mul:.05,unit:"pt"},Emu:{mul:1/12700,unit:"pt"},FontSize:{mul:.5,unit:"pt"},Border:{mul:.125,unit:"pt",min:.25,max:12},Point:{mul:1,unit:"pt"},Percent:{mul:.02,unit:"%"},LineHeight:{mul:1/240,unit:""},VmlEmu:{mul:1/12700,unit:""}};function u(e,t=m.Dxa){if(null==e||/.+(p[xt]|[%])$/.test(e))return e;var r=parseInt(e)*t.mul;return t.min&&t.max&&(r=function(e,t,r){return t>e?t:rfunction(e,t){let r={name:t.attr(e,"name"),embedFontRefs:[]};for(let a of t.elements(e))switch(a.localName){case"family":r.family=t.attr(a,"val");break;case"altName":r.altName=t.attr(a,"val");break;case"embedRegular":case"embedBold":case"embedItalic":case"embedBoldItalic":r.embedFontRefs.push(k(a,t))}return r}(e,t)))}function k(e,t){return{id:t.attr(e,"id"),key:t.attr(e,"fontKey"),type:b[e.localName]}}class v extends g{parseXml(e){this.fonts=y(e,this._package.xmlParser)}}class S{constructor(e,t){this._zip=e,this.options=t,this.xmlParser=new d}get(e){const t=function(e){return e.startsWith("/")?e.substr(1):e}(e);return this._zip.files[t]??this._zip.files[t.replace(/\//g,"\\")]}update(e,t){this._zip.file(e,t)}static async load(e,r){const a=await t.loadAsync(e);return new S(a,r)}save(e="blob"){return this._zip.generateAsync({type:e})}load(e,t="string"){return this.get(e)?.async(t)??Promise.resolve(null)}async loadRelationships(e=null){let t="_rels/.rels";if(null!=e){const[r,a]=s(e);t=`${r}_rels/${a}.rels`}const r=await this.load(t);return r?(a=this.parseXmlDocument(r).firstElementChild,(n=this.xmlParser).elements(a).map((e=>({id:n.attr(e,"Id"),type:n.attr(e,"Type"),target:n.attr(e,"Target"),targetMode:n.attr(e,"TargetMode")})))):null;var a,n}parseXmlDocument(e){return function(e,t=!1){var r;t&&(e=e.replace(/<[?].*[?]>/,"")),e=65279===(r=e).charCodeAt(0)?r.substring(1):r;const a=(new DOMParser).parseFromString(e,"application/xml"),s=(n=a,n.getElementsByTagName("parsererror")[0]?.textContent);var n;if(s)throw new Error(s);return a}(e,this.options.trimXmlDeclaration)}}class P extends g{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.body=this._documentParser.parseDocumentFile(e)}}function w(e,t){return{type:t.attr(e,"val"),color:t.attr(e,"color"),size:t.lengthAttr(e,"sz",m.Border),offset:t.lengthAttr(e,"space",m.Point),frame:t.boolAttr(e,"frame"),shadow:t.boolAttr(e,"shadow")}}function C(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"left":r.left=w(a,t);break;case"top":r.top=w(a,t);break;case"right":r.right=w(a,t);break;case"bottom":r.bottom=w(a,t)}return r}var x,N;function M(e,t=f){var r={};for(let a of t.elements(e))switch(a.localName){case"pgSz":r.pageSize={width:t.lengthAttr(a,"w"),height:t.lengthAttr(a,"h"),orientation:t.attr(a,"orient")};break;case"type":r.type=t.attr(a,"val");break;case"pgMar":r.pageMargins={left:t.lengthAttr(a,"left"),right:t.lengthAttr(a,"right"),top:t.lengthAttr(a,"top"),bottom:t.lengthAttr(a,"bottom"),header:t.lengthAttr(a,"header"),footer:t.lengthAttr(a,"footer"),gutter:t.lengthAttr(a,"gutter")};break;case"cols":r.columns=E(a,t);break;case"headerReference":(r.headerRefs??(r.headerRefs=[])).push(T(a,t));break;case"footerReference":(r.footerRefs??(r.footerRefs=[])).push(T(a,t));break;case"titlePg":r.titlePage=t.boolAttr(a,"val",!0);break;case"pgBorders":r.pageBorders=C(a,t);break;case"pgNumType":r.pageNumber=A(a,t)}return r}function E(e,t){return{numberOfColumns:t.intAttr(e,"num"),space:t.lengthAttr(e,"space"),separator:t.boolAttr(e,"sep"),equalWidth:t.boolAttr(e,"equalWidth",!0),columns:t.elements(e,"col").map((e=>({width:t.lengthAttr(e,"w"),space:t.lengthAttr(e,"space")})))}}function A(e,t){return{chapSep:t.attr(e,"chapSep"),chapStyle:t.attr(e,"chapStyle"),format:t.attr(e,"fmt"),start:t.intAttr(e,"start")}}function T(e,t){return{id:t.attr(e,"id"),type:t.attr(e,"type")}}function R(e,t){let r={};for(let a of t.elements(e))D(a,r,t);return r}function D(e,t,r){return!!p(e,t,r)}function B(e,t){let r={};for(let a of t.elements(e))$(a,r,t);return r}function $(e,t,r){if(e.namespaceURI!=h.wordml)return!1;if(p(e,t,r))return!0;switch(e.localName){case"tabs":t.tabs=function(e,t){return t.elements(e,"tab").map((e=>({position:t.lengthAttr(e,"pos"),leader:t.attr(e,"leader"),style:t.attr(e,"val")})))}(e,r);break;case"sectPr":t.sectionProps=M(e,r);break;case"numPr":t.numbering=function(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"numId":r.id=t.attr(a,"val");break;case"ilvl":r.level=t.intAttr(a,"val")}return r}(e,r);break;case"spacing":return t.lineSpacing=function(e,t){return{before:t.lengthAttr(e,"before"),after:t.lengthAttr(e,"after"),line:t.intAttr(e,"line"),lineRule:t.attr(e,"lineRule")}}(e,r),!1;case"textAlignment":return t.textAlignment=r.attr(e,"val"),!1;case"keepLines":t.keepLines=r.boolAttr(e,"val",!0);break;case"keepNext":t.keepNext=r.boolAttr(e,"val",!0);break;case"pageBreakBefore":t.pageBreakBefore=r.boolAttr(e,"val",!0);break;case"outlineLvl":t.outlineLevel=r.intAttr(e,"val");break;case"pStyle":t.styleName=r.attr(e,"val");break;case"rPr":t.runProps=R(e,r);break;default:return!1}return!0}function F(e,t){let r={id:t.attr(e,"numId"),overrides:[]};for(let a of t.elements(e))switch(a.localName){case"abstractNumId":r.abstractId=t.attr(a,"val");break;case"lvlOverride":r.overrides.push(O(a,t))}return r}function L(e,t){let r={id:t.attr(e,"abstractNumId"),levels:[]};for(let a of t.elements(e))switch(a.localName){case"name":r.name=t.attr(a,"val");break;case"multiLevelType":r.multiLevelType=t.attr(a,"val");break;case"numStyleLink":r.numberingStyleLink=t.attr(a,"val");break;case"styleLink":r.styleLink=t.attr(a,"val");break;case"lvl":r.levels.push(I(a,t))}return r}function I(e,t){let r={level:t.intAttr(e,"ilvl")};for(let a of t.elements(e))switch(a.localName){case"start":r.start=t.attr(a,"val");break;case"lvlRestart":r.restart=t.intAttr(a,"val");break;case"numFmt":r.format=t.attr(a,"val");break;case"lvlText":r.text=t.attr(a,"val");break;case"lvlJc":r.justification=t.attr(a,"val");break;case"lvlPicBulletId":r.bulletPictureId=t.attr(a,"val");break;case"pStyle":r.paragraphStyle=t.attr(a,"val");break;case"pPr":r.paragraphProps=B(a,t);break;case"rPr":r.runProps=R(a,t)}return r}function O(e,t){let r={level:t.intAttr(e,"ilvl")};for(let a of t.elements(e))switch(a.localName){case"startOverride":r.start=t.intAttr(a,"val");break;case"lvl":r.numberingLevel=I(a,t)}return r}function H(e,t){var r=t.element(e,"pict"),a=r&&t.element(r,"shape"),s=a&&t.element(a,"imagedata");return s?{id:t.attr(e,"numPicBulletId"),referenceId:t.attr(s,"id"),style:t.attr(a,"style")}:null}!function(e){e.Continuous="continuous",e.NextPage="nextPage",e.NextColumn="nextColumn",e.EvenPage="evenPage",e.OddPage="oddPage"}(x||(x={}));class _ extends g{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){Object.assign(this,function(e,t){let r={numberings:[],abstractNumberings:[],bulletPictures:[]};for(let a of t.elements(e))switch(a.localName){case"num":r.numberings.push(F(a,t));break;case"abstractNum":r.abstractNumberings.push(L(a,t));break;case"numPicBullet":r.bulletPictures.push(H(a,t))}return r}(e,this._package.xmlParser)),this.domNumberings=this._documentParser.parseNumberingFile(e)}}class z extends g{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.styles=this._documentParser.parseStylesFile(e)}}!function(e){e.Document="document",e.Paragraph="paragraph",e.Run="run",e.Break="break",e.NoBreakHyphen="noBreakHyphen",e.Table="table",e.Row="row",e.Cell="cell",e.Hyperlink="hyperlink",e.SmartTag="smartTag",e.Drawing="drawing",e.Image="image",e.Text="text",e.Tab="tab",e.Symbol="symbol",e.BookmarkStart="bookmarkStart",e.BookmarkEnd="bookmarkEnd",e.Footer="footer",e.Header="header",e.FootnoteReference="footnoteReference",e.EndnoteReference="endnoteReference",e.Footnote="footnote",e.Endnote="endnote",e.SimpleField="simpleField",e.ComplexField="complexField",e.Instruction="instruction",e.VmlPicture="vmlPicture",e.MmlMath="mmlMath",e.MmlMathParagraph="mmlMathParagraph",e.MmlFraction="mmlFraction",e.MmlFunction="mmlFunction",e.MmlFunctionName="mmlFunctionName",e.MmlNumerator="mmlNumerator",e.MmlDenominator="mmlDenominator",e.MmlRadical="mmlRadical",e.MmlBase="mmlBase",e.MmlDegree="mmlDegree",e.MmlSuperscript="mmlSuperscript",e.MmlSubscript="mmlSubscript",e.MmlPreSubSuper="mmlPreSubSuper",e.MmlSubArgument="mmlSubArgument",e.MmlSuperArgument="mmlSuperArgument",e.MmlNary="mmlNary",e.MmlDelimiter="mmlDelimiter",e.MmlRun="mmlRun",e.MmlEquationArray="mmlEquationArray",e.MmlLimit="mmlLimit",e.MmlLimitLower="mmlLimitLower",e.MmlMatrix="mmlMatrix",e.MmlMatrixRow="mmlMatrixRow",e.MmlBox="mmlBox",e.MmlBar="mmlBar",e.MmlGroupChar="mmlGroupChar",e.VmlElement="vmlElement",e.Inserted="inserted",e.Deleted="deleted",e.DeletedText="deletedText",e.Comment="comment",e.CommentReference="commentReference",e.CommentRangeStart="commentRangeStart",e.CommentRangeEnd="commentRangeEnd",e.AltChunk="altChunk"}(N||(N={}));class V{constructor(){this.children=[],this.cssStyle={}}}class j extends V{constructor(){super(...arguments),this.type=N.Header}}class W extends V{constructor(){super(...arguments),this.type=N.Footer}}class X extends g{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.rootElement=this.createRootElement(),this.rootElement.children=this._documentParser.parseBodyElements(e)}}class G extends X{createRootElement(){return new j}}class U extends X{createRootElement(){return new W}}function q(e){if(void 0!==e)return parseInt(e)}class J extends g{parseXml(e){this.props=function(e,t){const r={};for(let a of t.elements(e))switch(a.localName){case"Template":r.template=a.textContent;break;case"Pages":r.pages=q(a.textContent);break;case"Words":r.words=q(a.textContent);break;case"Characters":r.characters=q(a.textContent);break;case"Application":r.application=a.textContent;break;case"Lines":r.lines=q(a.textContent);break;case"Paragraphs":r.paragraphs=q(a.textContent);break;case"Company":r.company=a.textContent;break;case"AppVersion":r.appVersion=a.textContent}return r}(e,this._package.xmlParser)}}class Z extends g{parseXml(e){this.props=function(e,t){const r={};for(let a of t.elements(e))switch(a.localName){case"title":r.title=a.textContent;break;case"description":r.description=a.textContent;break;case"subject":r.subject=a.textContent;break;case"creator":r.creator=a.textContent;break;case"keywords":r.keywords=a.textContent;break;case"language":r.language=a.textContent;break;case"lastModifiedBy":r.lastModifiedBy=a.textContent;break;case"revision":a.textContent&&(r.revision=parseInt(a.textContent))}return r}(e,this._package.xmlParser)}}class K{}function Y(e,t){var r={name:t.attr(e,"name"),colors:{}};for(let n of t.elements(e)){var a=t.element(n,"srgbClr"),s=t.element(n,"sysClr");a?r.colors[n.localName]=t.attr(a,"val"):s&&(r.colors[n.localName]=t.attr(s,"lastClr"))}return r}function Q(e,t){var r={name:t.attr(e,"name")};for(let a of t.elements(e))switch(a.localName){case"majorFont":r.majorFont=ee(a,t);break;case"minorFont":r.minorFont=ee(a,t)}return r}function ee(e,t){return{latinTypeface:t.elementAttr(e,"latin","typeface"),eaTypeface:t.elementAttr(e,"ea","typeface"),csTypeface:t.elementAttr(e,"cs","typeface")}}class te extends g{constructor(e,t){super(e,t)}parseXml(e){this.theme=function(e,t){var r=new K,a=t.element(e,"themeElements");for(let e of t.elements(a))switch(e.localName){case"clrScheme":r.colorScheme=Y(e,t);break;case"fontScheme":r.fontScheme=Q(e,t)}return r}(e,this._package.xmlParser)}}class re{}class ae extends re{constructor(){super(...arguments),this.type=N.Footnote}}class se extends re{constructor(){super(...arguments),this.type=N.Endnote}}class ne extends g{constructor(e,t,r){super(e,t),this._documentParser=r}}class le extends ne{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"footnote",ae)}}class oe extends ne{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"endnote",se)}}function ie(e,t){var r={defaultNoteIds:[]};for(let a of t.elements(e))switch(a.localName){case"numFmt":r.nummeringFormat=t.attr(a,"val");break;case"footnote":case"endnote":r.defaultNoteIds.push(t.attr(a,"id"))}return r}class ce extends g{constructor(e,t){super(e,t)}parseXml(e){this.settings=function(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"defaultTabStop":r.defaultTabStop=t.lengthAttr(a,"val");break;case"footnotePr":r.footnoteProps=ie(a,t);break;case"endnotePr":r.endnoteProps=ie(a,t);break;case"autoHyphenation":r.autoHyphenation=t.boolAttr(a,"val")}return r}(e,this._package.xmlParser)}}class he extends g{parseXml(e){this.props=function(e,t){return t.elements(e,"property").map((e=>{const r=e.firstChild;return{formatId:t.attr(e,"fmtid"),name:t.attr(e,"name"),type:r.nodeName,value:r.textContent}}))}(e,this._package.xmlParser)}}class me extends g{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.comments=this._documentParser.parseComments(e),this.commentMap=l(this.comments,(e=>e.id))}}class ue extends g{constructor(e,t){super(e,t),this.comments=[]}parseXml(e){const t=this._package.xmlParser;for(let r of t.elements(e,"commentEx"))this.comments.push({paraId:t.attr(r,"paraId"),paraIdParent:t.attr(r,"paraIdParent"),done:t.boolAttr(r,"done")});this.commentMap=l(this.comments,(e=>e.paraId))}}const pe=[{type:r.OfficeDocument,target:"word/document.xml"},{type:r.ExtendedProperties,target:"docProps/app.xml"},{type:r.CoreProperties,target:"docProps/core.xml"},{type:r.CustomProperties,target:"docProps/custom.xml"}];class de{constructor(){this.parts=[],this.partsMap={}}static async load(e,t,r){var a=new de;return a._options=r,a._parser=t,a._package=await S.load(e,r),a.rels=await a._package.loadRelationships(),await Promise.all(pe.map((e=>{const t=a.rels.find((t=>t.type===e.type))??e;return a.loadRelationshipPart(t.target,t.type)}))),a}save(e="blob"){return this._package.save(e)}async loadRelationshipPart(e,t){if(this.partsMap[e])return this.partsMap[e];if(!this._package.get(e))return null;let a=null;switch(t){case r.OfficeDocument:this.documentPart=a=new P(this._package,e,this._parser);break;case r.FontTable:this.fontTablePart=a=new v(this._package,e);break;case r.Numbering:this.numberingPart=a=new _(this._package,e,this._parser);break;case r.Styles:this.stylesPart=a=new z(this._package,e,this._parser);break;case r.Theme:this.themePart=a=new te(this._package,e);break;case r.Footnotes:this.footnotesPart=a=new le(this._package,e,this._parser);break;case r.Endnotes:this.endnotesPart=a=new oe(this._package,e,this._parser);break;case r.Footer:a=new U(this._package,e,this._parser);break;case r.Header:a=new G(this._package,e,this._parser);break;case r.CoreProperties:this.corePropsPart=a=new Z(this._package,e);break;case r.ExtendedProperties:this.extendedPropsPart=a=new J(this._package,e);break;case r.CustomProperties:a=new he(this._package,e);break;case r.Settings:this.settingsPart=a=new ce(this._package,e);break;case r.Comments:this.commentsPart=a=new me(this._package,e,this._parser);break;case r.CommentsExtended:this.commentsExtendedPart=a=new ue(this._package,e)}if(null==a)return Promise.resolve(null);if(this.partsMap[e]=a,this.parts.push(a),await a.load(),a.rels?.length>0){const[e]=s(a.path);await Promise.all(a.rels.map((t=>this.loadRelationshipPart(n(t.target,e),t.type))))}return a}async loadDocumentImage(e,t){const r=await this.loadResource(t??this.documentPart,e,"blob");return this.blobToURL(r)}async loadNumberingImage(e){const t=await this.loadResource(this.numberingPart,e,"blob");return this.blobToURL(t)}async loadFont(e,t){const r=await this.loadResource(this.fontTablePart,e,"uint8array");return r?this.blobToURL(new Blob([fe(r,t)])):r}async loadAltChunk(e,t){return await this.loadResource(t??this.documentPart,e,"string")}blobToURL(e){return e?this._options.useBase64URL?function(e){return new Promise(((t,r)=>{const a=new FileReader;a.onloadend=()=>t(a.result),a.onerror=()=>r(),a.readAsDataURL(e)}))}(e):URL.createObjectURL(e):null}findPartByRelId(e,t=null){var r=(t.rels??this.rels).find((t=>t.id==e));const a=t?s(t.path)[0]:"";return r?this.partsMap[n(r.target,a)]:null}getPathById(e,t){const r=e.rels.find((e=>e.id==t)),[a]=s(e.path);return r?n(r.target,a):null}loadResource(e,t,r){const a=this.getPathById(e,t);return a?this._package.load(a,r):Promise.resolve(null)}}function fe(e,t){const r=t.replace(/{|}|-/g,""),a=new Array(16);for(let e=0;e<16;e++)a[16-e-1]=parseInt(r.substr(2*e,2),16);for(let t=0;t<32;t++)e[t]=e[t]^a[t%16];return e}function ge(e,t){return{type:N.BookmarkEnd,id:t.attr(e,"id")}}class be extends V{constructor(){super(...arguments),this.type=N.VmlElement,this.attrs={}}}function ye(e,t){var r=new be;switch(e.localName){case"rect":r.tagName="rect",Object.assign(r.attrs,{width:"100%",height:"100%"});break;case"oval":r.tagName="ellipse",Object.assign(r.attrs,{cx:"50%",cy:"50%",rx:"50%",ry:"50%"});break;case"line":r.tagName="line";break;case"shape":r.tagName="g";break;case"textbox":r.tagName="foreignObject",Object.assign(r.attrs,{width:"100%",height:"100%"});break;default:return null}for(const t of f.attrs(e))switch(t.localName){case"style":r.cssStyleText=t.value;break;case"fillcolor":r.attrs.fill=t.value;break;case"from":const[e,a]=ve(t.value);Object.assign(r.attrs,{x1:e,y1:a});break;case"to":const[s,n]=ve(t.value);Object.assign(r.attrs,{x2:s,y2:n})}for(const a of f.elements(e))switch(a.localName){case"stroke":Object.assign(r.attrs,ke(a));break;case"fill":Object.assign(r.attrs,{});break;case"imagedata":r.tagName="image",Object.assign(r.attrs,{width:"100%",height:"100%"}),r.imageHref={id:f.attr(a,"id"),title:f.attr(a,"title")};break;case"txbxContent":r.children.push(...t.parseBodyElements(a));break;default:const e=ye(a,t);e&&r.children.push(e)}return r}function ke(e){return{stroke:f.attr(e,"color"),"stroke-width":f.lengthAttr(e,"weight",m.Emu)??"1px"}}function ve(e){return e.split(",")}class Se extends V{constructor(){super(...arguments),this.type=N.Comment}}class Pe extends V{constructor(e){super(),this.id=e,this.type=N.CommentReference}}class we extends V{constructor(e){super(),this.id=e,this.type=N.CommentRangeStart}}class Ce extends V{constructor(e){super(),this.id=e,this.type=N.CommentRangeEnd}}var xe="inherit",Ne="black",Me="black",Ee="transparent";const Ae=[],Te={oMath:N.MmlMath,oMathPara:N.MmlMathParagraph,f:N.MmlFraction,func:N.MmlFunction,fName:N.MmlFunctionName,num:N.MmlNumerator,den:N.MmlDenominator,rad:N.MmlRadical,deg:N.MmlDegree,e:N.MmlBase,sSup:N.MmlSuperscript,sSub:N.MmlSubscript,sPre:N.MmlPreSubSuper,sup:N.MmlSuperArgument,sub:N.MmlSubArgument,d:N.MmlDelimiter,nary:N.MmlNary,eqArr:N.MmlEquationArray,lim:N.MmlLimit,limLow:N.MmlLimitLower,m:N.MmlMatrix,mr:N.MmlMatrixRow,box:N.MmlBox,bar:N.MmlBar,groupChr:N.MmlGroupChar};class Re{constructor(e){this.options={ignoreWidth:!1,debug:!1,...e}}parseNotes(e,t,r){var a=[];for(let s of f.elements(e,t)){const e=new r;e.id=f.attr(s,"id"),e.noteType=f.attr(s,"type"),e.children=this.parseBodyElements(s),a.push(e)}return a}parseComments(e){var t=[];for(let r of f.elements(e,"comment")){const e=new Se;e.id=f.attr(r,"id"),e.author=f.attr(r,"author"),e.initials=f.attr(r,"initials"),e.date=f.attr(r,"date"),e.children=this.parseBodyElements(r),t.push(e)}return t}parseDocumentFile(e){var t=f.element(e,"body"),r=f.element(e,"background"),a=f.element(t,"sectPr");return{type:N.Document,children:this.parseBodyElements(t),props:a?M(a,f):{},cssStyle:r?this.parseBackground(r):{}}}parseBackground(e){var t={},r=Be.colorAttr(e,"color");return r&&(t["background-color"]=r),t}parseBodyElements(e){var t=[];for(let r of f.elements(e))switch(r.localName){case"p":t.push(this.parseParagraph(r));break;case"altChunk":t.push(this.parseAltChunk(r));break;case"tbl":t.push(this.parseTable(r));break;case"sdt":t.push(...this.parseSdt(r,(e=>this.parseBodyElements(e))))}return t}parseStylesFile(e){var t=[];return Be.foreach(e,(e=>{switch(e.localName){case"style":t.push(this.parseStyle(e));break;case"docDefaults":t.push(this.parseDefaultStyles(e))}})),t}parseDefaultStyles(e){var t={id:null,name:null,target:null,basedOn:null,styles:[]};return Be.foreach(e,(e=>{switch(e.localName){case"rPrDefault":var r=f.element(e,"rPr");r&&t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})});break;case"pPrDefault":var a=f.element(e,"pPr");a&&t.styles.push({target:"p",values:this.parseDefaultProperties(a,{})})}})),t}parseStyle(e){var t={id:f.attr(e,"styleId"),isDefault:f.boolAttr(e,"default"),name:null,target:null,basedOn:null,styles:[],linked:null};switch(f.attr(e,"type")){case"paragraph":t.target="p";break;case"table":t.target="table";break;case"character":t.target="span"}return Be.foreach(e,(e=>{switch(e.localName){case"basedOn":t.basedOn=f.attr(e,"val");break;case"name":t.name=f.attr(e,"val");break;case"link":t.linked=f.attr(e,"val");break;case"next":t.next=f.attr(e,"val");break;case"aliases":t.aliases=f.attr(e,"val").split(",");break;case"pPr":t.styles.push({target:"p",values:this.parseDefaultProperties(e,{})}),t.paragraphProps=B(e,f);break;case"rPr":t.styles.push({target:"span",values:this.parseDefaultProperties(e,{})}),t.runProps=R(e,f);break;case"tblPr":case"tcPr":t.styles.push({target:"td",values:this.parseDefaultProperties(e,{})});break;case"tblStylePr":for(let r of this.parseTableStyle(e))t.styles.push(r);break;case"rsid":case"qFormat":case"hidden":case"semiHidden":case"unhideWhenUsed":case"autoRedefine":case"uiPriority":break;default:this.options.debug&&console.warn(`DOCX: Unknown style element: ${e.localName}`)}})),t}parseTableStyle(e){var t=[],r=f.attr(e,"type"),a="",s="";switch(r){case"firstRow":s=".first-row",a="tr.first-row td";break;case"lastRow":s=".last-row",a="tr.last-row td";break;case"firstCol":s=".first-col",a="td.first-col";break;case"lastCol":s=".last-col",a="td.last-col";break;case"band1Vert":s=":not(.no-vband)",a="td.odd-col";break;case"band2Vert":s=":not(.no-vband)",a="td.even-col";break;case"band1Horz":s=":not(.no-hband)",a="tr.odd-row";break;case"band2Horz":s=":not(.no-hband)",a="tr.even-row";break;default:return[]}return Be.foreach(e,(e=>{switch(e.localName){case"pPr":t.push({target:`${a} p`,mod:s,values:this.parseDefaultProperties(e,{})});break;case"rPr":t.push({target:`${a} span`,mod:s,values:this.parseDefaultProperties(e,{})});break;case"tblPr":case"tcPr":t.push({target:a,mod:s,values:this.parseDefaultProperties(e,{})})}})),t}parseNumberingFile(e){var t=[],r={},a=[];return Be.foreach(e,(e=>{switch(e.localName){case"abstractNum":this.parseAbstractNumbering(e,a).forEach((e=>t.push(e)));break;case"numPicBullet":a.push(this.parseNumberingPicBullet(e));break;case"num":var s=f.attr(e,"numId"),n=f.elementAttr(e,"abstractNumId","val");r[n]=s}})),t.forEach((e=>e.id=r[e.id])),t}parseNumberingPicBullet(e){var t=f.element(e,"pict"),r=t&&f.element(t,"shape"),a=r&&f.element(r,"imagedata");return a?{id:f.intAttr(e,"numPicBulletId"),src:f.attr(a,"id"),style:f.attr(r,"style")}:null}parseAbstractNumbering(e,t){var r=[],a=f.attr(e,"abstractNumId");return Be.foreach(e,(e=>{if("lvl"===e.localName)r.push(this.parseNumberingLevel(a,e,t))})),r}parseNumberingLevel(e,t,r){var a={id:e,level:f.intAttr(t,"ilvl"),start:1,pStyleName:void 0,pStyle:{},rStyle:{},suff:"tab"};return Be.foreach(t,(e=>{switch(e.localName){case"start":a.start=f.intAttr(e,"val");break;case"pPr":this.parseDefaultProperties(e,a.pStyle);break;case"rPr":this.parseDefaultProperties(e,a.rStyle);break;case"lvlPicBulletId":var t=f.intAttr(e,"val");a.bullet=r.find((e=>e?.id==t));break;case"lvlText":a.levelText=f.attr(e,"val");break;case"pStyle":a.pStyleName=f.attr(e,"val");break;case"numFmt":a.format=f.attr(e,"val");break;case"suff":a.suff=f.attr(e,"val")}})),a}parseSdt(e,t){const r=f.element(e,"sdtContent");return r?t(r):[]}parseInserted(e,t){return{type:N.Inserted,children:t(e)?.children??[]}}parseDeleted(e,t){return{type:N.Deleted,children:t(e)?.children??[]}}parseAltChunk(e){return{type:N.AltChunk,children:[],id:f.attr(e,"id")}}parseParagraph(e){var t,r,a={type:N.Paragraph,children:[]};for(let s of f.elements(e))switch(s.localName){case"pPr":this.parseParagraphProperties(s,a);break;case"r":a.children.push(this.parseRun(s,a));break;case"hyperlink":a.children.push(this.parseHyperlink(s,a));break;case"smartTag":a.children.push(this.parseSmartTag(s,a));break;case"bookmarkStart":a.children.push((t=s,r=f,{type:N.BookmarkStart,id:r.attr(t,"id"),name:r.attr(t,"name"),colFirst:r.intAttr(t,"colFirst"),colLast:r.intAttr(t,"colLast")}));break;case"bookmarkEnd":a.children.push(ge(s,f));break;case"commentRangeStart":a.children.push(new we(f.attr(s,"id")));break;case"commentRangeEnd":a.children.push(new Ce(f.attr(s,"id")));break;case"oMath":case"oMathPara":a.children.push(this.parseMathElement(s));break;case"sdt":a.children.push(...this.parseSdt(s,(e=>this.parseParagraph(e).children)));break;case"ins":a.children.push(this.parseInserted(s,(e=>this.parseParagraph(e))));break;case"del":a.children.push(this.parseDeleted(s,(e=>this.parseParagraph(e))))}return a}parseParagraphProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,(e=>{if($(e,t,f))return!0;switch(e.localName){case"pStyle":t.styleName=f.attr(e,"val");break;case"cnfStyle":t.className=$e.classNameOfCnfStyle(e);break;case"framePr":this.parseFrame(e,t);break;case"rPr":break;default:return!1}return!0}))}parseFrame(e,t){"drop"==f.attr(e,"dropCap")&&(t.cssStyle.float="left")}parseHyperlink(e,t){var r={type:N.Hyperlink,parent:t,children:[]};return r.anchor=f.attr(e,"anchor"),r.id=f.attr(e,"id"),Be.foreach(e,(e=>{if("r"===e.localName)r.children.push(this.parseRun(e,r))})),r}parseSmartTag(e,t){var r={type:N.SmartTag,parent:t,children:[]},a=f.attr(e,"uri"),s=f.attr(e,"element");return a&&(r.uri=a),s&&(r.element=s),Be.foreach(e,(e=>{if("r"===e.localName)r.children.push(this.parseRun(e,r))})),r}parseRun(e,t){var r={type:N.Run,parent:t,children:[]};return Be.foreach(e,(e=>{switch((e=this.checkAlternateContent(e)).localName){case"t":r.children.push({type:N.Text,text:e.textContent});break;case"delText":r.children.push({type:N.DeletedText,text:e.textContent});break;case"commentReference":r.children.push(new Pe(f.attr(e,"id")));break;case"fldSimple":r.children.push({type:N.SimpleField,instruction:f.attr(e,"instr"),lock:f.boolAttr(e,"lock",!1),dirty:f.boolAttr(e,"dirty",!1)});break;case"instrText":r.fieldRun=!0,r.children.push({type:N.Instruction,text:e.textContent});break;case"fldChar":r.fieldRun=!0,r.children.push({type:N.ComplexField,charType:f.attr(e,"fldCharType"),lock:f.boolAttr(e,"lock",!1),dirty:f.boolAttr(e,"dirty",!1)});break;case"noBreakHyphen":r.children.push({type:N.NoBreakHyphen});break;case"br":r.children.push({type:N.Break,break:f.attr(e,"type")||"textWrapping"});break;case"lastRenderedPageBreak":r.children.push({type:N.Break,break:"lastRenderedPageBreak"});break;case"sym":r.children.push({type:N.Symbol,font:a(f.attr(e,"font")),char:f.attr(e,"char")});break;case"tab":r.children.push({type:N.Tab});break;case"footnoteReference":r.children.push({type:N.FootnoteReference,id:f.attr(e,"id")});break;case"endnoteReference":r.children.push({type:N.EndnoteReference,id:f.attr(e,"id")});break;case"drawing":let t=this.parseDrawing(e);t&&(r.children=[t]);break;case"pict":r.children.push(this.parseVmlPicture(e));break;case"rPr":this.parseRunProperties(e,r)}})),r}parseMathElement(e){const t=`${e.localName}Pr`,r={type:Te[e.localName],children:[]};for(const s of f.elements(e)){if(Te[s.localName])r.children.push(this.parseMathElement(s));else if("r"==s.localName){var a=this.parseRun(s);a.type=N.MmlRun,r.children.push(a)}else s.localName==t&&(r.props=this.parseMathProperies(s))}return r}parseMathProperies(e){const t={};for(const r of f.elements(e))switch(r.localName){case"chr":t.char=f.attr(r,"val");break;case"vertJc":t.verticalJustification=f.attr(r,"val");break;case"pos":t.position=f.attr(r,"val");break;case"degHide":t.hideDegree=f.boolAttr(r,"val");break;case"begChr":t.beginChar=f.attr(r,"val");break;case"endChr":t.endChar=f.attr(r,"val")}return t}parseRunProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,(e=>{switch(e.localName){case"rStyle":t.styleName=f.attr(e,"val");break;case"vertAlign":t.verticalAlign=$e.valueOfVertAlign(e,!0);break;default:return!1}return!0}))}parseVmlPicture(e){const t={type:N.VmlPicture,children:[]};for(const r of f.elements(e)){const e=ye(r,this);e&&t.children.push(e)}return t}checkAlternateContent(e){if("AlternateContent"!=e.localName)return e;var t=f.element(e,"Choice");if(t){var r=f.attr(t,"Requires"),a=e.lookupNamespaceURI(r);if(Ae.includes(a))return t.firstElementChild}return f.element(e,"Fallback")?.firstElementChild}parseDrawing(e){for(var t of f.elements(e))switch(t.localName){case"inline":case"anchor":return this.parseDrawingWrapper(t)}}parseDrawingWrapper(e){var t={type:N.Drawing,children:[],cssStyle:{}},r="anchor"==e.localName;let a=null,s=f.boolAttr(e,"simplePos");f.boolAttr(e,"behindDoc");let n={relative:"page",align:"left",offset:"0"},l={relative:"page",align:"top",offset:"0"};for(var o of f.elements(e))switch(o.localName){case"simplePos":s&&(n.offset=f.lengthAttr(o,"x",m.Emu),l.offset=f.lengthAttr(o,"y",m.Emu));break;case"extent":t.cssStyle.width=f.lengthAttr(o,"cx",m.Emu),t.cssStyle.height=f.lengthAttr(o,"cy",m.Emu);break;case"positionH":case"positionV":if(!s){let e="positionH"==o.localName?n:l;var i=f.element(o,"align"),c=f.element(o,"posOffset");e.relative=f.attr(o,"relativeFrom")??e.relative,i&&(e.align=i.textContent),c&&(e.offset=Be.sizeValue(c,m.Emu))}break;case"wrapTopAndBottom":a="wrapTopAndBottom";break;case"wrapNone":a="wrapNone";break;case"graphic":var h=this.parseGraphic(o);h&&t.children.push(h)}return"wrapTopAndBottom"==a?(t.cssStyle.display="block",n.align&&(t.cssStyle["text-align"]=n.align,t.cssStyle.width="100%")):"wrapNone"==a?(t.cssStyle.display="block",t.cssStyle.position="relative",t.cssStyle.width="0px",t.cssStyle.height="0px",n.offset&&(t.cssStyle.left=n.offset),l.offset&&(t.cssStyle.top=l.offset)):!r||"left"!=n.align&&"right"!=n.align||(t.cssStyle.float=n.align),t}parseGraphic(e){var t=f.element(e,"graphicData");for(let e of f.elements(t))if("pic"===e.localName)return this.parsePicture(e);return null}parsePicture(e){var t={type:N.Image,src:"",cssStyle:{}},r=f.element(e,"blipFill"),a=f.element(r,"blip");t.src=f.attr(a,"embed");var s=f.element(e,"spPr"),n=f.element(s,"xfrm");for(var l of(t.cssStyle.position="relative",f.elements(n)))switch(l.localName){case"ext":t.cssStyle.width=f.lengthAttr(l,"cx",m.Emu),t.cssStyle.height=f.lengthAttr(l,"cy",m.Emu);break;case"off":t.cssStyle.left=f.lengthAttr(l,"x",m.Emu),t.cssStyle.top=f.lengthAttr(l,"y",m.Emu)}return t}parseTable(e){var t={type:N.Table,children:[]};return Be.foreach(e,(e=>{switch(e.localName){case"tr":t.children.push(this.parseTableRow(e));break;case"tblGrid":t.columns=this.parseTableColumns(e);break;case"tblPr":this.parseTableProperties(e,t)}})),t}parseTableColumns(e){var t=[];return Be.foreach(e,(e=>{if("gridCol"===e.localName)t.push({width:f.lengthAttr(e,"w")})})),t}parseTableProperties(e,t){switch(t.cssStyle={},t.cellStyle={},this.parseDefaultProperties(e,t.cssStyle,t.cellStyle,(e=>{switch(e.localName){case"tblStyle":t.styleName=f.attr(e,"val");break;case"tblLook":t.className=$e.classNameOftblLook(e);break;case"tblpPr":this.parseTablePosition(e,t);break;case"tblStyleColBandSize":t.colBandSize=f.intAttr(e,"val");break;case"tblStyleRowBandSize":t.rowBandSize=f.intAttr(e,"val");break;case"hidden":t.cssStyle.display="none";break;default:return!1}return!0})),t.cssStyle["text-align"]){case"center":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto",t.cssStyle["margin-right"]="auto";break;case"right":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto"}}parseTablePosition(e,t){var r=f.lengthAttr(e,"topFromText"),a=f.lengthAttr(e,"bottomFromText"),s=f.lengthAttr(e,"rightFromText"),n=f.lengthAttr(e,"leftFromText");t.cssStyle.float="left",t.cssStyle["margin-bottom"]=$e.addSize(t.cssStyle["margin-bottom"],a),t.cssStyle["margin-left"]=$e.addSize(t.cssStyle["margin-left"],n),t.cssStyle["margin-right"]=$e.addSize(t.cssStyle["margin-right"],s),t.cssStyle["margin-top"]=$e.addSize(t.cssStyle["margin-top"],r)}parseTableRow(e){var t={type:N.Row,children:[]};return Be.foreach(e,(e=>{switch(e.localName){case"tc":t.children.push(this.parseTableCell(e));break;case"trPr":this.parseTableRowProperties(e,t)}})),t}parseTableRowProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,(e=>{switch(e.localName){case"cnfStyle":t.className=$e.classNameOfCnfStyle(e);break;case"tblHeader":t.isHeader=f.boolAttr(e,"val");break;case"gridBefore":t.gridBefore=f.intAttr(e,"val");break;case"gridAfter":t.gridAfter=f.intAttr(e,"val");break;default:return!1}return!0}))}parseTableCell(e){var t={type:N.Cell,children:[]};return Be.foreach(e,(e=>{switch(e.localName){case"tbl":t.children.push(this.parseTable(e));break;case"p":t.children.push(this.parseParagraph(e));break;case"tcPr":this.parseTableCellProperties(e,t)}})),t}parseTableCellProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,(e=>{switch(e.localName){case"gridSpan":t.span=f.intAttr(e,"val",null);break;case"vMerge":t.verticalMerge=f.attr(e,"val")??"continue";break;case"cnfStyle":t.className=$e.classNameOfCnfStyle(e);break;default:return!1}return!0})),this.parseTableCellVerticalText(e,t)}parseTableCellVerticalText(e,t){const r={btLr:{writingMode:"vertical-rl",transform:"rotate(180deg)"},lrTb:{writingMode:"vertical-lr",transform:"none"},tbRl:{writingMode:"vertical-rl",transform:"none"}};Be.foreach(e,(e=>{if("textDirection"===e.localName){const a=f.attr(e,"val"),s=r[a]||{writingMode:"horizontal-tb"};t.cssStyle["writing-mode"]=s.writingMode,t.cssStyle.transform=s.transform}}))}parseDefaultProperties(e,t=null,r=null,a=null){return t=t||{},Be.foreach(e,(s=>{if(!a?.(s))switch(s.localName){case"jc":t["text-align"]=$e.valueOfJc(s);break;case"textAlignment":t["vertical-align"]=$e.valueOfTextAlignment(s);break;case"color":t.color=Be.colorAttr(s,"val",null,Ne);break;case"sz":t["font-size"]=t["min-height"]=f.lengthAttr(s,"val",m.FontSize);break;case"shd":t["background-color"]=Be.colorAttr(s,"fill",null,xe);break;case"highlight":t["background-color"]=Be.colorAttr(s,"val",null,Ee);break;case"vertAlign":break;case"position":t.verticalAlign=f.lengthAttr(s,"val",m.FontSize);break;case"tcW":if(this.options.ignoreWidth)break;case"tblW":t.width=$e.valueOfSize(s,"w");break;case"trHeight":this.parseTrHeight(s,t);break;case"strike":t["text-decoration"]=f.boolAttr(s,"val",!0)?"line-through":"none";break;case"b":t["font-weight"]=f.boolAttr(s,"val",!0)?"bold":"normal";break;case"i":t["font-style"]=f.boolAttr(s,"val",!0)?"italic":"normal";break;case"caps":t["text-transform"]=f.boolAttr(s,"val",!0)?"uppercase":"none";break;case"smallCaps":t["font-variant"]=f.boolAttr(s,"val",!0)?"small-caps":"none";break;case"u":this.parseUnderline(s,t);break;case"ind":case"tblInd":this.parseIndentation(s,t);break;case"rFonts":this.parseFont(s,t);break;case"tblBorders":this.parseBorderProperties(s,r||t);break;case"tblCellSpacing":t["border-spacing"]=$e.valueOfMargin(s),t["border-collapse"]="separate";break;case"pBdr":this.parseBorderProperties(s,t);break;case"bdr":t.border=$e.valueOfBorder(s);break;case"tcBorders":this.parseBorderProperties(s,t);break;case"vanish":f.boolAttr(s,"val",!0)&&(t.display="none");break;case"kern":case"noWrap":break;case"tblCellMar":case"tcMar":this.parseMarginProperties(s,r||t);break;case"tblLayout":t["table-layout"]=$e.valueOfTblLayout(s);break;case"vAlign":t["vertical-align"]=$e.valueOfTextAlignment(s);break;case"spacing":"pPr"==e.localName&&this.parseSpacing(s,t);break;case"wordWrap":f.boolAttr(s,"val")&&(t["overflow-wrap"]="break-word");break;case"suppressAutoHyphens":t.hyphens=f.boolAttr(s,"val",!0)?"none":"auto";break;case"lang":t.$lang=f.attr(s,"val");break;case"rtl":case"bidi":f.boolAttr(s,"val",!0)&&(t.direction="rtl");break;case"bCs":case"iCs":case"szCs":case"tabs":case"outlineLvl":case"contextualSpacing":case"tblStyleColBandSize":case"tblStyleRowBandSize":case"webHidden":case"pageBreakBefore":case"suppressLineNumbers":case"keepLines":case"keepNext":case"widowControl":case"bidi":case"rtl":case"noProof":break;default:this.options.debug&&console.warn(`DOCX: Unknown document element: ${e.localName}.${s.localName}`)}})),t}parseUnderline(e,t){var r=f.attr(e,"val");if(null!=r){switch(r){case"dash":case"dashDotDotHeavy":case"dashDotHeavy":case"dashedHeavy":case"dashLong":case"dashLongHeavy":case"dotDash":case"dotDotDash":t["text-decoration"]="underline dashed";break;case"dotted":case"dottedHeavy":t["text-decoration"]="underline dotted";break;case"double":t["text-decoration"]="underline double";break;case"single":case"thick":case"words":t["text-decoration"]="underline";break;case"wave":case"wavyDouble":case"wavyHeavy":t["text-decoration"]="underline wavy";break;case"none":t["text-decoration"]="none"}var a=Be.colorAttr(e,"color");a&&(t["text-decoration-color"]=a)}}parseFont(e,t){var r=[f.attr(e,"ascii"),$e.themeValue(e,"asciiTheme"),f.attr(e,"eastAsia")].filter((e=>e)).map((e=>a(e)));r.length>0&&(t["font-family"]=[...new Set(r)].join(", "))}parseIndentation(e,t){var r=f.lengthAttr(e,"firstLine"),a=f.lengthAttr(e,"hanging"),s=f.lengthAttr(e,"left"),n=f.lengthAttr(e,"start"),l=f.lengthAttr(e,"right"),o=f.lengthAttr(e,"end");r&&(t["text-indent"]=r),a&&(t["text-indent"]=`-${a}`),(s||n)&&(t["margin-inline-start"]=s||n),(l||o)&&(t["margin-inline-end"]=l||o)}parseSpacing(e,t){var r=f.lengthAttr(e,"before"),a=f.lengthAttr(e,"after"),s=f.intAttr(e,"line",null),n=f.attr(e,"lineRule");if(r&&(t["margin-top"]=r),a&&(t["margin-bottom"]=a),null!==s)switch(n){case"auto":t["line-height"]=`${(s/240).toFixed(2)}`;break;case"atLeast":t["line-height"]=`calc(100% + ${s/20}pt)`;break;default:t["line-height"]=t["min-height"]=s/20+"pt"}}parseMarginProperties(e,t){Be.foreach(e,(e=>{switch(e.localName){case"left":t["padding-left"]=$e.valueOfMargin(e);break;case"right":t["padding-right"]=$e.valueOfMargin(e);break;case"top":t["padding-top"]=$e.valueOfMargin(e);break;case"bottom":t["padding-bottom"]=$e.valueOfMargin(e)}}))}parseTrHeight(e,t){f.attr(e,"hRule"),t.height=f.lengthAttr(e,"val")}parseBorderProperties(e,t){Be.foreach(e,(e=>{switch(e.localName){case"start":case"left":t["border-left"]=$e.valueOfBorder(e);break;case"end":case"right":t["border-right"]=$e.valueOfBorder(e);break;case"top":t["border-top"]=$e.valueOfBorder(e);break;case"bottom":t["border-bottom"]=$e.valueOfBorder(e)}}))}}const De=["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","none","red","white","yellow"];class Be{static foreach(e,t){for(var r=0;r"1"==t[r])).join(" ")}static valueOfJc(e){var t=f.attr(e,"val");switch(t){case"start":case"left":return"left";case"center":return"center";case"end":case"right":return"right";case"both":return"justify"}return t}static valueOfVertAlign(e,t=!1){var r=f.attr(e,"val");switch(r){case"subscript":return"sub";case"superscript":return t?"sup":"super"}return t?null:r}static valueOfTextAlignment(e){var t=f.attr(e,"val");switch(t){case"auto":case"baseline":return"baseline";case"top":return"top";case"center":return"middle";case"bottom":return"bottom"}return t}static addSize(e,t){return null==e?t:null==t?e:`calc(${e} + ${t})`}static classNameOftblLook(e){const t=f.hexAttr(e,"val",0);let r="";return(f.boolAttr(e,"firstRow")||32&t)&&(r+=" first-row"),(f.boolAttr(e,"lastRow")||64&t)&&(r+=" last-row"),(f.boolAttr(e,"firstColumn")||128&t)&&(r+=" first-col"),(f.boolAttr(e,"lastColumn")||256&t)&&(r+=" last-col"),(f.boolAttr(e,"noHBand")||512&t)&&(r+=" no-hband"),(f.boolAttr(e,"noVBand")||1024&t)&&(r+=" no-vband"),r.trim()}}const Fe={pos:0,leader:"none",style:"left"};function Le(e,t,r,a=.75){const s=e.closest("p"),n=e.getBoundingClientRect(),l=s.getBoundingClientRect(),o=getComputedStyle(s),i=t?.length>0?t.map((e=>({pos:Ie(e.position),leader:e.leader,style:e.style}))).sort(((e,t)=>e.pos-t.pos)):[Fe],c=i[i.length-1],h=l.width*a,m=Ie(r);let u=c.pos+m;if(u"clear"!=e.style&&e.pos>f));if(null==g)return;let b=1;if("right"==g.style||"center"==g.style){const t=Array.from(s.querySelectorAll(`.${e.className}`)),r=t.indexOf(e)+1,n=document.createRange();n.setStart(e,1),re.id))),e.endnotesPart&&(this.endnoteMap=l(e.endnotesPart.notes,(e=>e.id))),e.settingsPart&&(this.defaultTabSize=e.settingsPart.settings?.defaultTabStop),!a.ignoreFonts&&e.fontTablePart&&this.renderFontTable(e.fontTablePart,r);var s=this.renderSections(e.documentPart.body);this.options.inWrapper?t.appendChild(this.renderWrapper(s)):Ve(t,s),this.commentHighlight&&a.renderComments&&CSS.highlights.set(`${this.className}-comments`,this.commentHighlight),this.postRenderTasks.forEach((e=>e())),await Promise.allSettled(this.tasks),this.refreshTabStops()}renderTheme(e,t){const r={},a=e.theme?.fontScheme;a&&(a.majorFont&&(r["--docx-majorHAnsi-font"]=a.majorFont.latinTypeface),a.minorFont&&(r["--docx-minorHAnsi-font"]=a.minorFont.latinTypeface));const s=e.theme?.colorScheme;if(s)for(let[e,t]of Object.entries(s.colors))r[`--docx-${e}-color`]=`#${t}`;const n=this.styleToString(`.${this.className}`,r);t.appendChild(this.createStyleElement(n))}renderFontTable(e,t){for(let r of e.fonts)for(let e of r.embedFontRefs)this.tasks.push(this.document.loadFont(e.id,e.key).then((s=>{const n={"font-family":a(r.name),src:`url(${s})`};"bold"!=e.type&&"boldItalic"!=e.type||(n["font-weight"]="bold"),"italic"!=e.type&&"boldItalic"!=e.type||(n["font-style"]="italic");const l=this.styleToString("@font-face",n);t.appendChild(this.createComment(`docxjs ${r.name} font`)),t.appendChild(this.createStyleElement(l))})))}processStyleName(e){return e?`${this.className}_${function(e){return e?.replace(/[ .]+/g,"-").replace(/[&]+/g,"and").toLowerCase()}(e)}`:this.className}processStyles(e){const t=l(e.filter((e=>null!=e.id)),(e=>e.id));for(const a of e.filter((e=>e.basedOn))){var r=t[a.basedOn];if(r){a.paragraphProps=i(a.paragraphProps,r.paragraphProps),a.runProps=i(a.runProps,r.runProps);for(const e of r.styles){const t=a.styles.find((t=>t.target==e.target));t?this.copyStyleProperties(e.values,t.values):a.styles.push({...e,values:{...e.values}})}}else this.options.debug&&console.warn(`Can't find base style ${a.basedOn}`)}for(let t of e)t.cssName=this.processStyleName(t.id);return t}prodessNumberings(e){for(let t of e.filter((e=>e.pStyleName))){const e=this.findStyle(t.pStyleName);e?.paragraphProps?.numbering&&(e.paragraphProps.numbering.level=t.level)}}processElement(e){if(e.children)for(var t of e.children)t.parent=e,t.type==N.Table?this.processTable(t):this.processElement(t)}processTable(e){for(var t of e.children)for(var r of t.children)r.cssStyle=this.copyStyleProperties(e.cellStyle,r.cssStyle,["border-left","border-right","border-top","border-bottom","padding-left","padding-right","padding-top","padding-bottom"]),this.processElement(r)}copyStyleProperties(e,t,r=null){if(!e)return t;for(var a of(null==t&&(t={}),null==r&&(r=Object.getOwnPropertyNames(e)),r))e.hasOwnProperty(a)&&!t.hasOwnProperty(a)&&(t[a]=e[a]);return t}createPageElement(e,t){var r=this.createElement("section",{className:e});return t&&(t.pageMargins&&(r.style.paddingLeft=t.pageMargins.left,r.style.paddingRight=t.pageMargins.right,r.style.paddingTop=t.pageMargins.top,r.style.paddingBottom=t.pageMargins.bottom),t.pageSize&&(this.options.ignoreWidth||(r.style.width=t.pageSize.width),this.options.ignoreHeight||(r.style.minHeight=t.pageSize.height))),r}createSectionContent(e){var t=this.createElement("article");return e.columns&&e.columns.numberOfColumns&&(t.style.columnCount=`${e.columns.numberOfColumns}`,t.style.columnGap=e.columns.space,e.columns.separator&&(t.style.columnRule="1px solid black")),t}renderSections(e){const t=[];this.processElement(e);const r=this.splitBySection(e.children,e.props),a=this.groupByPageBreaks(r);let s=null;for(let r=0,l=a.length;r"first"==e.type)):null)??(r%2==1?e.find((e=>"even"==e.type)):null)??e.find((e=>"default"==e.type)),l=n&&this.document.findPartByRelId(n.id,this.document.documentPart);if(l){this.currentPart=l,this.usedHederFooterParts.includes(l.path)||(this.processElement(l.rootElement),this.usedHederFooterParts.push(l.path));const[e]=this.renderElements([l.rootElement],s);t?.pageMargins&&(l.rootElement.type===N.Header?(e.style.marginTop=`calc(${t.pageMargins.header} - ${t.pageMargins.top})`,e.style.minHeight=`calc(${t.pageMargins.top} - ${t.pageMargins.header})`):l.rootElement.type===N.Footer&&(e.style.marginBottom=`calc(${t.pageMargins.footer} - ${t.pageMargins.bottom})`,e.style.minHeight=`calc(${t.pageMargins.bottom} - ${t.pageMargins.footer})`)),this.currentPart=null}}}isPageBreakElement(e){return e.type==N.Break&&("lastRenderedPageBreak"==e.break?!this.options.ignoreLastRenderedPageBreak:"page"==e.break)}isPageBreakSection(e,t){return!!e&&(!!t&&(e.pageSize?.orientation!=t.pageSize?.orientation||e.pageSize?.width!=t.pageSize?.width||e.pageSize?.height!=t.pageSize?.height))}splitBySection(e,t){var r={sectProps:null,elements:[],pageBreak:!1},a=[r];for(let t of e){if(t.type==N.Paragraph){const e=this.findStyle(t.styleName);e?.paragraphProps?.pageBreakBefore&&(r.sectProps=s,r.pageBreak=!0,r={sectProps:null,elements:[],pageBreak:!1},a.push(r))}if(r.elements.push(t),t.type==N.Paragraph){const e=t;var s=e.sectionProps,n=-1,l=-1;if(this.options.breakPages&&e.children&&(n=e.children.findIndex((e=>-1!=(l=e.children?.findIndex(this.isPageBreakElement.bind(this))??-1)))),(s||-1!=n)&&(r.sectProps=s,r.pageBreak=-1!=n,r={sectProps:null,elements:[],pageBreak:!1},a.push(r)),-1!=n){let a=e.children[n],s=l=0;e--)null==a[e].sectProps?a[e].sectProps=c??t:c=a[e].sectProps;return a}groupByPageBreaks(e){let t,r=[];const a=[r];for(let s of e)r.push(s),(this.options.ignoreLastRenderedPageBreak||s.pageBreak||this.isPageBreakSection(t,s.sectProps))&&a.push(r=[]),t=s.sectProps;return a.filter((e=>e.length>0))}renderWrapper(e){return this.createElement("div",{className:`${this.className}-wrapper`},e)}renderDefaultStyle(){var e=this.className,t=`\n.${e}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } \n.${e}-wrapper>section.${e} { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); margin-bottom: 30px; }`;this.options.hideWrapperOnPrint&&(t=`@media not print { ${t} }`);var r=`${t}\n.${e} { color: black; hyphens: auto; text-underline-position: from-font; }\nsection.${e} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; }\nsection.${e}>article { margin-bottom: auto; z-index: 1; }\nsection.${e}>footer { z-index: 1; }\n.${e} table { border-collapse: collapse; }\n.${e} table td, .${e} table th { vertical-align: top; }\n.${e} p { margin: 0pt; min-height: 1em; }\n.${e} span { white-space: pre-wrap; overflow-wrap: break-word; }\n.${e} a { color: inherit; text-decoration: inherit; }\n.${e} svg { fill: transparent; }\n`;return this.options.renderComments&&(r+=`\n.${e}-comment-ref { cursor: default; }\n.${e}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; }\n.${e}-comment-ref:hover~.${e}-comment-popover { display: block; }\n.${e}-comment-author,.${e}-comment-date { font-size: 0.875rem; color: #888; }\n`),this.createStyleElement(r)}renderNumbering(e,t){var r="",a=[];for(var s of e){var n=`p.${this.numberingClass(s.id,s.level)}`,l="none";if(s.bullet){let e=`--${this.className}-${s.bullet.src}`.toLowerCase();r+=this.styleToString(`${n}:before`,{content:"' '",display:"inline-block",background:`var(${e})`},s.bullet.style),this.tasks.push(this.document.loadNumberingImage(s.bullet.src).then((r=>{var a=`${this.rootSelector} { ${e}: url(${r}) }`;t.appendChild(this.createStyleElement(a))})))}else if(s.levelText){let e=this.numberingCounter(s.id,s.level);const t=e+" "+(s.start-1);s.level>0&&(r+=this.styleToString(`p.${this.numberingClass(s.id,s.level-1)}`,{"counter-set":t})),a.push(t),r+=this.styleToString(`${n}:before`,{content:this.levelTextToContent(s.levelText,s.suff,s.id,this.numFormatToCssValue(s.format)),"counter-increment":e,...s.rStyle})}else l=this.numFormatToCssValue(s.format);r+=this.styleToString(n,{display:"list-item","list-style-position":"inside","list-style-type":l,...s.pStyle})}return a.length>0&&(r+=this.styleToString(this.rootSelector,{"counter-reset":a.join(" ")})),this.createStyleElement(r)}renderStyles(e){var t="";const r=this.styleMap,a=l(e.filter((e=>e.isDefault)),(e=>e.target));for(const l of e){var s=l.styles;if(l.linked){var n=l.linked&&r[l.linked];n?s=s.concat(n.styles):this.options.debug&&console.warn(`Can't find linked style ${l.linked}`)}for(const e of s){var o=`${l.target??""}.${l.cssName}`;l.target!=e.target&&(o+=` ${e.target}`),a[l.target]==l&&(o=`.${this.className} ${l.target}, `+o),t+=this.styleToString(o,e.values)}}return this.createStyleElement(t)}renderNotes(e,t,r){var a=e.map((e=>t[e])).filter((e=>e));if(a.length>0){var s=this.createElement("ol",null,this.renderElements(a));r.appendChild(s)}}renderElement(e){switch(e.type){case N.Paragraph:return this.renderParagraph(e);case N.BookmarkStart:return this.renderBookmarkStart(e);case N.BookmarkEnd:return null;case N.Run:return this.renderRun(e);case N.Table:return this.renderTable(e);case N.Row:return this.renderTableRow(e);case N.Cell:return this.renderTableCell(e);case N.Hyperlink:return this.renderHyperlink(e);case N.SmartTag:return this.renderSmartTag(e);case N.Drawing:return this.renderDrawing(e);case N.Image:return this.renderImage(e);case N.Text:case N.Text:return this.renderText(e);case N.DeletedText:return this.renderDeletedText(e);case N.Tab:return this.renderTab(e);case N.Symbol:return this.renderSymbol(e);case N.Break:return this.renderBreak(e);case N.Footer:return this.renderContainer(e,"footer");case N.Header:return this.renderContainer(e,"header");case N.Footnote:case N.Endnote:return this.renderContainer(e,"li");case N.FootnoteReference:return this.renderFootnoteReference(e);case N.EndnoteReference:return this.renderEndnoteReference(e);case N.NoBreakHyphen:return this.createElement("wbr");case N.VmlPicture:return this.renderVmlPicture(e);case N.VmlElement:return this.renderVmlElement(e);case N.MmlMath:return this.renderContainerNS(e,He,"math",{xmlns:He});case N.MmlMathParagraph:return this.renderContainer(e,"span");case N.MmlFraction:return this.renderContainerNS(e,He,"mfrac");case N.MmlBase:return this.renderContainerNS(e,He,e.parent.type==N.MmlMatrixRow?"mtd":"mrow");case N.MmlNumerator:case N.MmlDenominator:case N.MmlFunction:case N.MmlLimit:case N.MmlBox:return this.renderContainerNS(e,He,"mrow");case N.MmlGroupChar:return this.renderMmlGroupChar(e);case N.MmlLimitLower:return this.renderContainerNS(e,He,"munder");case N.MmlMatrix:return this.renderContainerNS(e,He,"mtable");case N.MmlMatrixRow:return this.renderContainerNS(e,He,"mtr");case N.MmlRadical:return this.renderMmlRadical(e);case N.MmlSuperscript:return this.renderContainerNS(e,He,"msup");case N.MmlSubscript:return this.renderContainerNS(e,He,"msub");case N.MmlDegree:case N.MmlSuperArgument:case N.MmlSubArgument:return this.renderContainerNS(e,He,"mn");case N.MmlFunctionName:return this.renderContainerNS(e,He,"ms");case N.MmlDelimiter:return this.renderMmlDelimiter(e);case N.MmlRun:return this.renderMmlRun(e);case N.MmlNary:return this.renderMmlNary(e);case N.MmlPreSubSuper:return this.renderMmlPreSubSuper(e);case N.MmlBar:return this.renderMmlBar(e);case N.MmlEquationArray:return this.renderMllList(e);case N.Inserted:return this.renderInserted(e);case N.Deleted:return this.renderDeleted(e);case N.CommentRangeStart:return this.renderCommentRangeStart(e);case N.CommentRangeEnd:return this.renderCommentRangeEnd(e);case N.CommentReference:return this.renderCommentReference(e);case N.AltChunk:return this.renderAltChunk(e)}return null}renderElements(e,t){if(null==e)return null;var r=e.flatMap((e=>this.renderElement(e))).filter((e=>null!=e));return t&&Ve(t,r),r}renderContainer(e,t,r){return this.createElement(t,r,this.renderElements(e.children))}renderContainerNS(e,t,r,a){return this.createElementNS(t,r,a,this.renderElements(e.children))}renderParagraph(e){var t=this.renderContainer(e,"p");const r=this.findStyle(e.styleName);e.tabs??(e.tabs=r?.paragraphProps?.tabs),this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),this.renderCommonProperties(t.style,e);const a=e.numbering??r?.paragraphProps?.numbering;return a&&t.classList.add(this.numberingClass(a.id,a.level)),t}renderRunProperties(e,t){this.renderCommonProperties(e,t)}renderCommonProperties(e,t){null!=t&&(t.color&&(e.color=t.color),t.fontSize&&(e["font-size"]=t.fontSize))}renderHyperlink(e){var t=this.renderContainer(e,"a");this.renderStyleValues(e.cssStyle,t);let r="";if(e.id){const t=this.document.documentPart.rels.find((t=>t.id==e.id&&"External"===t.targetMode));r=t?.target??r}return e.anchor&&(r+=`#${e.anchor}`),t.href=r,t}renderSmartTag(e){return this.renderContainer(e,"span")}renderCommentRangeStart(e){if(!this.options.renderComments)return null;const t=new Range;this.commentHighlight?.add(t);const r=this.htmlDocument.createComment(`start of comment #${e.id}`);return this.later((()=>t.setStart(r,0))),this.commentMap[e.id]=t,r}renderCommentRangeEnd(e){if(!this.options.renderComments)return null;const t=this.commentMap[e.id],r=this.htmlDocument.createComment(`end of comment #${e.id}`);return this.later((()=>t?.setEnd(r,0))),r}renderCommentReference(e){if(!this.options.renderComments)return null;var t=this.document.commentsPart?.commentMap[e.id];if(!t)return null;const r=new DocumentFragment,a=this.createElement("span",{className:`${this.className}-comment-ref`},["💬"]),s=this.createElement("div",{className:`${this.className}-comment-popover`});return this.renderCommentContent(t,s),r.appendChild(this.htmlDocument.createComment(`comment #${t.id} by ${t.author} on ${t.date}`)),r.appendChild(a),r.appendChild(s),r}renderAltChunk(e){if(!this.options.renderAltChunks)return null;var t=this.createElement("iframe");return this.tasks.push(this.document.loadAltChunk(e.id,this.currentPart).then((e=>{t.srcdoc=e}))),t}renderCommentContent(e,t){t.appendChild(this.createElement("div",{className:`${this.className}-comment-author`},[e.author])),t.appendChild(this.createElement("div",{className:`${this.className}-comment-date`},[new Date(e.date).toLocaleString()])),this.renderElements(e.children,t)}renderDrawing(e){var t=this.renderContainer(e,"div");return t.style.display="inline-block",t.style.position="relative",t.style.textIndent="0px",this.renderStyleValues(e.cssStyle,t),t}renderImage(e){let t=this.createElement("img");return this.renderStyleValues(e.cssStyle,t),this.document&&this.tasks.push(this.document.loadDocumentImage(e.src,this.currentPart).then((e=>{t.src=e}))),t}renderText(e){return this.htmlDocument.createTextNode(e.text)}renderDeletedText(e){return this.options.renderEndnotes?this.htmlDocument.createTextNode(e.text):null}renderBreak(e){return"textWrapping"==e.break?this.createElement("br"):null}renderInserted(e){return this.options.renderChanges?this.renderContainer(e,"ins"):this.renderElements(e.children)}renderDeleted(e){return this.options.renderChanges?this.renderContainer(e,"del"):null}renderSymbol(e){var t=this.createElement("span");return t.style.fontFamily=e.font,t.innerHTML=`&#x${e.char};`,t}renderFootnoteReference(e){var t=this.createElement("sup");return this.currentFootnoteIds.push(e.id),t.textContent=`${this.currentFootnoteIds.length}`,t}renderEndnoteReference(e){var t=this.createElement("sup");return this.currentEndnoteIds.push(e.id),t.textContent=`${this.currentEndnoteIds.length}`,t}renderTab(e){var t=this.createElement("span");if(t.innerHTML=" ",this.options.experimental){t.className=this.tabStopClass();var r=function(e,t){var r=e.parent;for(;null!=r&&r.type!=t;)r=r.parent;return r}(e,N.Paragraph)?.tabs;this.currentTabs.push({stops:r,span:t})}return t}renderBookmarkStart(e){return this.createElement("span",{id:e.name})}renderRun(e){if(e.fieldRun)return null;const t=this.createElement("span");if(e.id&&(t.id=e.id),this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),e.verticalAlign){const r=this.createElement(e.verticalAlign);this.renderElements(e.children,r),t.appendChild(r)}else this.renderElements(e.children,t);return t}renderTable(e){let t=this.createElement("table");return this.tableCellPositions.push(this.currentCellPosition),this.tableVerticalMerges.push(this.currentVerticalMerge),this.currentVerticalMerge={},this.currentCellPosition={col:0,row:0},e.columns&&t.appendChild(this.renderTableColumns(e.columns)),this.renderClass(e,t),this.renderElements(e.children,t),this.renderStyleValues(e.cssStyle,t),this.currentVerticalMerge=this.tableVerticalMerges.pop(),this.currentCellPosition=this.tableCellPositions.pop(),t}renderTableColumns(e){let t=this.createElement("colgroup");for(let r of e){let e=this.createElement("col");r.width&&(e.style.width=r.width),t.appendChild(e)}return t}renderTableRow(e){let t=this.createElement("tr");return this.currentCellPosition.col=0,e.gridBefore&&t.appendChild(this.renderTableCellPlaceholder(e.gridBefore)),this.renderClass(e,t),this.renderElements(e.children,t),this.renderStyleValues(e.cssStyle,t),e.gridAfter&&t.appendChild(this.renderTableCellPlaceholder(e.gridAfter)),this.currentCellPosition.row++,t}renderTableCellPlaceholder(e){const t=this.createElement("td",{colSpan:e});return t.style.border="none",t}renderTableCell(e){let t=this.renderContainer(e,"td");const r=this.currentCellPosition.col;return e.verticalMerge?"restart"==e.verticalMerge?(this.currentVerticalMerge[r]=t,t.rowSpan=1):this.currentVerticalMerge[r]&&(this.currentVerticalMerge[r].rowSpan+=1,t.style.display="none"):this.currentVerticalMerge[r]=null,this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),e.span&&(t.colSpan=e.span),this.currentCellPosition.col+=t.colSpan,t}renderVmlPicture(e){return this.renderContainer(e,"div")}renderVmlElement(e){var t=this.createSvgElement("svg");t.setAttribute("style",e.cssStyleText);const r=this.renderVmlChildElement(e);return e.imageHref?.id&&this.tasks.push(this.document?.loadDocumentImage(e.imageHref.id,this.currentPart).then((e=>r.setAttribute("href",e)))),t.appendChild(r),requestAnimationFrame((()=>{const e=t.firstElementChild.getBBox();t.setAttribute("width",`${Math.ceil(e.x+e.width)}`),t.setAttribute("height",`${Math.ceil(e.y+e.height)}`)})),t}renderVmlChildElement(e){const t=this.createSvgElement(e.tagName);Object.entries(e.attrs).forEach((([e,r])=>t.setAttribute(e,r)));for(let r of e.children)r.type==N.VmlElement?t.appendChild(this.renderVmlChildElement(r)):t.appendChild(...c(this.renderElement(r)));return t}renderMmlRadical(e){const t=e.children.find((e=>e.type==N.MmlBase));if(e.props?.hideDegree)return this.createElementNS(He,"msqrt",null,this.renderElements([t]));const r=e.children.find((e=>e.type==N.MmlDegree));return this.createElementNS(He,"mroot",null,this.renderElements([t,r]))}renderMmlDelimiter(e){const t=[];return t.push(this.createElementNS(He,"mo",null,[e.props.beginChar??"("])),t.push(...this.renderElements(e.children)),t.push(this.createElementNS(He,"mo",null,[e.props.endChar??")"])),this.createElementNS(He,"mrow",null,t)}renderMmlNary(e){const t=[],r=l(e.children,(e=>e.type)),a=r[N.MmlSuperArgument],s=r[N.MmlSubArgument],n=a?this.createElementNS(He,"mo",null,c(this.renderElement(a))):null,o=s?this.createElementNS(He,"mo",null,c(this.renderElement(s))):null,i=this.createElementNS(He,"mo",null,[e.props?.char??"∫"]);return n||o?t.push(this.createElementNS(He,"munderover",null,[i,o,n])):n?t.push(this.createElementNS(He,"mover",null,[i,n])):o?t.push(this.createElementNS(He,"munder",null,[i,o])):t.push(i),t.push(...this.renderElements(r[N.MmlBase].children)),this.createElementNS(He,"mrow",null,t)}renderMmlPreSubSuper(e){const t=[],r=l(e.children,(e=>e.type)),a=r[N.MmlSuperArgument],s=r[N.MmlSubArgument],n=a?this.createElementNS(He,"mo",null,c(this.renderElement(a))):null,o=s?this.createElementNS(He,"mo",null,c(this.renderElement(s))):null,i=this.createElementNS(He,"mo",null);return t.push(this.createElementNS(He,"msubsup",null,[i,o,n])),t.push(...this.renderElements(r[N.MmlBase].children)),this.createElementNS(He,"mrow",null,t)}renderMmlGroupChar(e){const t="bot"===e.props.verticalJustification?"mover":"munder",r=this.renderContainerNS(e,He,t);return e.props.char&&r.appendChild(this.createElementNS(He,"mo",null,[e.props.char])),r}renderMmlBar(e){const t=this.renderContainerNS(e,He,"mrow");switch(e.props.position){case"top":t.style.textDecoration="overline";break;case"bottom":t.style.textDecoration="underline"}return t}renderMmlRun(e){const t=this.createElementNS(He,"ms",null,this.renderElements(e.children));return this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),t}renderMllList(e){const t=this.createElementNS(He,"mtable");this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t);for(let r of this.renderElements(e.children))t.appendChild(this.createElementNS(He,"mtr",null,[this.createElementNS(He,"mtd",null,[r])]));return t}renderStyleValues(e,t){for(let r in e)r.startsWith("$")?t.setAttribute(r.slice(1),e[r]):t.style[r]=e[r]}renderClass(e,t){e.className&&(t.className=e.className),e.styleName&&t.classList.add(this.processStyleName(e.styleName))}findStyle(e){return e&&this.styleMap?.[e]}numberingClass(e,t){return`${this.className}-num-${e}-${t}`}tabStopClass(){return`${this.className}-tab-stop`}styleToString(e,t,r=null){let a=`${e} {\r\n`;for(const e in t)e.startsWith("$")||(a+=` ${e}: ${t[e]};\r\n`);return r&&(a+=r),a+"}\r\n"}numberingCounter(e,t){return`${this.className}-num-${e}-${t}`}levelTextToContent(e,t,r,a){return`"${e.replace(/%\d*/g,(e=>{let t=parseInt(e.substring(1),10)-1;return`"counter(${this.numberingCounter(r,t)}, ${a})"`}))}${{tab:"\\9",space:"\\a0"}[t]??""}"`}numFormatToCssValue(e){return{none:"none",bullet:"disc",decimal:"decimal",lowerLetter:"lower-alpha",upperLetter:"upper-alpha",lowerRoman:"lower-roman",upperRoman:"upper-roman",decimalZero:"decimal-leading-zero",aiueo:"katakana",aiueoFullWidth:"katakana",chineseCounting:"simp-chinese-informal",chineseCountingThousand:"simp-chinese-informal",chineseLegalSimplified:"simp-chinese-formal",chosung:"hangul-consonant",ideographDigital:"cjk-ideographic",ideographTraditional:"cjk-heavenly-stem",ideographLegalTraditional:"trad-chinese-formal",ideographZodiac:"cjk-earthly-branch",iroha:"katakana-iroha",irohaFullWidth:"katakana-iroha",japaneseCounting:"japanese-informal",japaneseDigitalTenThousand:"cjk-decimal",japaneseLegal:"japanese-formal",thaiNumbers:"thai",koreanCounting:"korean-hangul-formal",koreanDigital:"korean-hangul-formal",koreanDigital2:"korean-hanja-informal",hebrew1:"hebrew",hebrew2:"hebrew",hindiNumbers:"devanagari",ganada:"hangul",taiwaneseCounting:"cjk-ideographic",taiwaneseCountingThousand:"cjk-ideographic",taiwaneseDigital:"cjk-decimal"}[e]??e}refreshTabStops(){this.options.experimental&&setTimeout((()=>{const e=function(e=document.body){const t=document.createElement("div");t.style.width="100pt",e.appendChild(t);const r=100/t.offsetWidth;return e.removeChild(t),r}();for(let t of this.currentTabs)Le(t.span,t.stops,this.defaultTabSize,e)}),500)}createElementNS(e,t,r,a){var s=e?this.htmlDocument.createElementNS(e,t):this.htmlDocument.createElement(t);return Object.assign(s,r),a&&Ve(s,a),s}createElement(e,t,r){return this.createElementNS(void 0,e,t,r)}createSvgElement(e,t,r){return this.createElementNS(Oe,e,t,r)}createStyleElement(e){return this.createElement("style",{innerHTML:e})}createComment(e){return this.htmlDocument.createComment(e)}later(e){this.postRenderTasks.push(e)}}function ze(e){e.innerHTML=""}function Ve(e,t){t.forEach((t=>{return e.appendChild("string"==typeof(r=t)||r instanceof String?document.createTextNode(t):t);var r}))}const je={ignoreHeight:!1,ignoreWidth:!1,ignoreFonts:!1,breakPages:!0,debug:!1,experimental:!1,className:"docx",inWrapper:!0,hideWrapperOnPrint:!1,trimXmlDeclaration:!0,ignoreLastRenderedPageBreak:!0,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,renderEndnotes:!0,useBase64URL:!1,renderChanges:!1,renderComments:!1,renderAltChunks:!0};function We(e,t){const r={...je,...t};return de.load(e,new Re(r),r)}async function Xe(e,t,r,a){const s={...je,...a},n=new _e(window.document);return await n.render(e,t,r,s)}e.defaultOptions=je,e.parseAsync=We,e.renderAsync=async function(e,t,r,a){const s=await We(e,a);return await Xe(s,t,r,a),s},e.renderDocument=Xe})); +/* + * @license + * docx-preview + * Released under Apache License 2.0 + * Copyright Volodymyr Baydalka + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jszip")):"function"==typeof define&&define.amd?define(["exports","jszip"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).docx={},e.JSZip)}(this,function(e,t){"use strict";var r;function a(e){return/^[^"'].*\s.*[^"']$/.test(e)?`'${e}'`:e}function s(e){let t=e.lastIndexOf("/")+1;return[0==t?"":e.substring(0,t),0==t?e:e.substring(t)]}function n(e,t){try{const r="http://docx/";return new URL(e,r+t).toString().substring(r.length)}catch{return`${t}${e}`}}function l(e,t){return e.reduce((e,r)=>(e[t(r)]=r,e),{})}function o(e){return e&&"object"==typeof e&&!Array.isArray(e)}function i(e,...t){if(!t.length)return e;const r=t.shift();if(o(e)&&o(r))for(const t in r)if(o(r[t])){i(e[t]??(e[t]={}),r[t])}else e[t]=r[t];return i(e,...t)}function c(e){return Array.isArray(e)?e:[e]}!function(e){e.OfficeDocument="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",e.FontTable="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",e.Image="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",e.Numbering="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",e.Styles="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",e.StylesWithEffects="http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects",e.Theme="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",e.Settings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",e.WebSettings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",e.Hyperlink="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e.Footnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",e.Endnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",e.Footer="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",e.Header="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",e.ExtendedProperties="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",e.CoreProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",e.CustomProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties",e.Comments="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",e.CommentsExtended="http://schemas.microsoft.com/office/2011/relationships/commentsExtended",e.AltChunk="http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk"}(r||(r={}));const h="http://schemas.openxmlformats.org/wordprocessingml/2006/main",m={mul:.05,unit:"pt"},p={mul:1/12700,unit:"pt"},u={mul:.5,unit:"pt"},d={mul:.125,unit:"pt",min:.25,max:12},f={mul:1,unit:"pt"},g={mul:.02,unit:"%"};function b(e,t=m){if(null==e||/.+(p[xt]|[%])$/.test(e))return e;var r=parseInt(e)*t.mul;return t.min&&t.max&&(r=function(e,t,r){return t>e?t:rfunction(e,t){let r={name:t.attr(e,"name"),embedFontRefs:[]};for(let a of t.elements(e))switch(a.localName){case"family":r.family=t.attr(a,"val");break;case"altName":r.altName=t.attr(a,"val");break;case"embedRegular":case"embedBold":case"embedItalic":case"embedBoldItalic":r.embedFontRefs.push(C(a,t))}return r}(e,t))}function C(e,t){return{id:t.attr(e,"id"),key:t.attr(e,"fontKey"),type:P[e.localName]}}class x extends S{parseXml(e){this.fonts=w(e,this._package.xmlParser)}}class N{constructor(e,t){this._zip=e,this.options=t,this.xmlParser=new k}get(e){const t=function(e){return e.startsWith("/")?e.substr(1):e}(e);return this._zip.files[t]??this._zip.files[t.replace(/\//g,"\\")]}update(e,t){this._zip.file(e,t)}static async load(e,r){const a=await t.loadAsync(e);return new N(a,r)}save(e="blob"){return this._zip.generateAsync({type:e})}load(e,t="string"){return this.get(e)?.async(t)??Promise.resolve(null)}async loadRelationships(e=null){let t="_rels/.rels";if(null!=e){const[r,a]=s(e);t=`${r}_rels/${a}.rels`}const r=await this.load(t);return r?(a=this.parseXmlDocument(r).firstElementChild,(n=this.xmlParser).elements(a).map(e=>({id:n.attr(e,"Id"),type:n.attr(e,"Type"),target:n.attr(e,"Target"),targetMode:n.attr(e,"TargetMode")}))):null;var a,n}parseXmlDocument(e){return function(e,t=!1){var r;t&&(e=e.replace(/<[?].*[?]>/,"")),e=65279===(r=e).charCodeAt(0)?r.substring(1):r;const a=(new DOMParser).parseFromString(e,"application/xml"),s=(n=a,n.getElementsByTagName("parsererror")[0]?.textContent);var n;if(s)throw new Error(s);return a}(e,this.options.trimXmlDeclaration)}}class M extends S{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.body=this._documentParser.parseDocumentFile(e)}}function A(e,t){return{type:t.attr(e,"val"),color:t.attr(e,"color"),size:t.lengthAttr(e,"sz",d),offset:t.lengthAttr(e,"space",f),frame:t.boolAttr(e,"frame"),shadow:t.boolAttr(e,"shadow")}}function E(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"left":r.left=A(a,t);break;case"top":r.top=A(a,t);break;case"right":r.right=A(a,t);break;case"bottom":r.bottom=A(a,t)}return r}var T,R;function B(e,t=v){var r={};for(let a of t.elements(e))switch(a.localName){case"pgSz":r.pageSize={width:t.lengthAttr(a,"w"),height:t.lengthAttr(a,"h"),orientation:t.attr(a,"orient")};break;case"type":r.type=t.attr(a,"val");break;case"pgMar":r.pageMargins={left:t.lengthAttr(a,"left"),right:t.lengthAttr(a,"right"),top:t.lengthAttr(a,"top"),bottom:t.lengthAttr(a,"bottom"),header:t.lengthAttr(a,"header"),footer:t.lengthAttr(a,"footer"),gutter:t.lengthAttr(a,"gutter")};break;case"cols":r.columns=D(a,t);break;case"headerReference":(r.headerRefs??(r.headerRefs=[])).push(F(a,t));break;case"footerReference":(r.footerRefs??(r.footerRefs=[])).push(F(a,t));break;case"titlePg":r.titlePage=t.boolAttr(a,"val",!0);break;case"pgBorders":r.pageBorders=E(a,t);break;case"pgNumType":r.pageNumber=$(a,t)}return r}function D(e,t){return{numberOfColumns:t.intAttr(e,"num"),space:t.lengthAttr(e,"space"),separator:t.boolAttr(e,"sep"),equalWidth:t.boolAttr(e,"equalWidth",!0),columns:t.elements(e,"col").map(e=>({width:t.lengthAttr(e,"w"),space:t.lengthAttr(e,"space")}))}}function $(e,t){return{chapSep:t.attr(e,"chapSep"),chapStyle:t.attr(e,"chapStyle"),format:t.attr(e,"fmt"),start:t.intAttr(e,"start")}}function F(e,t){return{id:t.attr(e,"id"),type:t.attr(e,"type")}}function L(e,t){let r={};for(let a of t.elements(e))I(a,r,t);return r}function I(e,t,r){return!!y(e,t,r)}function O(e,t){let r={};for(let a of t.elements(e))H(a,r,t);return r}function H(e,t,r){if(e.namespaceURI!=h)return!1;if(y(e,t,r))return!0;switch(e.localName){case"tabs":t.tabs=function(e,t){return t.elements(e,"tab").map(e=>({position:t.lengthAttr(e,"pos"),leader:t.attr(e,"leader"),style:t.attr(e,"val")}))}(e,r);break;case"sectPr":t.sectionProps=B(e,r);break;case"numPr":t.numbering=function(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"numId":r.id=t.attr(a,"val");break;case"ilvl":r.level=t.intAttr(a,"val")}return r}(e,r);break;case"spacing":return t.lineSpacing=function(e,t){return{before:t.lengthAttr(e,"before"),after:t.lengthAttr(e,"after"),line:t.intAttr(e,"line"),lineRule:t.attr(e,"lineRule")}}(e,r),!1;case"textAlignment":return t.textAlignment=r.attr(e,"val"),!1;case"keepLines":t.keepLines=r.boolAttr(e,"val",!0);break;case"keepNext":t.keepNext=r.boolAttr(e,"val",!0);break;case"pageBreakBefore":t.pageBreakBefore=r.boolAttr(e,"val",!0);break;case"outlineLvl":t.outlineLevel=r.intAttr(e,"val");break;case"pStyle":t.styleName=r.attr(e,"val");break;case"rPr":t.runProps=L(e,r);break;default:return!1}return!0}function _(e,t){let r={id:t.attr(e,"numId"),overrides:[]};for(let a of t.elements(e))switch(a.localName){case"abstractNumId":r.abstractId=t.attr(a,"val");break;case"lvlOverride":r.overrides.push(j(a,t))}return r}function z(e,t){let r={id:t.attr(e,"abstractNumId"),levels:[]};for(let a of t.elements(e))switch(a.localName){case"name":r.name=t.attr(a,"val");break;case"multiLevelType":r.multiLevelType=t.attr(a,"val");break;case"numStyleLink":r.numberingStyleLink=t.attr(a,"val");break;case"styleLink":r.styleLink=t.attr(a,"val");break;case"lvl":r.levels.push(V(a,t))}return r}function V(e,t){let r={level:t.intAttr(e,"ilvl")};for(let a of t.elements(e))switch(a.localName){case"start":r.start=t.attr(a,"val");break;case"lvlRestart":r.restart=t.intAttr(a,"val");break;case"numFmt":r.format=t.attr(a,"val");break;case"lvlText":r.text=t.attr(a,"val");break;case"lvlJc":r.justification=t.attr(a,"val");break;case"lvlPicBulletId":r.bulletPictureId=t.attr(a,"val");break;case"pStyle":r.paragraphStyle=t.attr(a,"val");break;case"pPr":r.paragraphProps=O(a,t);break;case"rPr":r.runProps=L(a,t)}return r}function j(e,t){let r={level:t.intAttr(e,"ilvl")};for(let a of t.elements(e))switch(a.localName){case"startOverride":r.start=t.intAttr(a,"val");break;case"lvl":r.numberingLevel=V(a,t)}return r}function W(e,t){var r=t.element(e,"pict"),a=r&&t.element(r,"shape"),s=a&&t.element(a,"imagedata");return s?{id:t.attr(e,"numPicBulletId"),referenceId:t.attr(s,"id"),style:t.attr(a,"style")}:null}!function(e){e.Continuous="continuous",e.NextPage="nextPage",e.NextColumn="nextColumn",e.EvenPage="evenPage",e.OddPage="oddPage"}(T||(T={}));class X extends S{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){Object.assign(this,function(e,t){let r={numberings:[],abstractNumberings:[],bulletPictures:[]};for(let a of t.elements(e))switch(a.localName){case"num":r.numberings.push(_(a,t));break;case"abstractNum":r.abstractNumberings.push(z(a,t));break;case"numPicBullet":r.bulletPictures.push(W(a,t))}return r}(e,this._package.xmlParser)),this.domNumberings=this._documentParser.parseNumberingFile(e)}}class G extends S{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.styles=this._documentParser.parseStylesFile(e)}}!function(e){e.Document="document",e.Paragraph="paragraph",e.Run="run",e.Break="break",e.NoBreakHyphen="noBreakHyphen",e.Table="table",e.Row="row",e.Cell="cell",e.Hyperlink="hyperlink",e.SmartTag="smartTag",e.Drawing="drawing",e.Image="image",e.Text="text",e.Tab="tab",e.Symbol="symbol",e.BookmarkStart="bookmarkStart",e.BookmarkEnd="bookmarkEnd",e.Footer="footer",e.Header="header",e.FootnoteReference="footnoteReference",e.EndnoteReference="endnoteReference",e.Footnote="footnote",e.Endnote="endnote",e.SimpleField="simpleField",e.ComplexField="complexField",e.Instruction="instruction",e.VmlPicture="vmlPicture",e.MmlMath="mmlMath",e.MmlMathParagraph="mmlMathParagraph",e.MmlFraction="mmlFraction",e.MmlFunction="mmlFunction",e.MmlFunctionName="mmlFunctionName",e.MmlNumerator="mmlNumerator",e.MmlDenominator="mmlDenominator",e.MmlRadical="mmlRadical",e.MmlBase="mmlBase",e.MmlDegree="mmlDegree",e.MmlSuperscript="mmlSuperscript",e.MmlSubscript="mmlSubscript",e.MmlPreSubSuper="mmlPreSubSuper",e.MmlSubArgument="mmlSubArgument",e.MmlSuperArgument="mmlSuperArgument",e.MmlNary="mmlNary",e.MmlDelimiter="mmlDelimiter",e.MmlRun="mmlRun",e.MmlEquationArray="mmlEquationArray",e.MmlLimit="mmlLimit",e.MmlLimitLower="mmlLimitLower",e.MmlMatrix="mmlMatrix",e.MmlMatrixRow="mmlMatrixRow",e.MmlBox="mmlBox",e.MmlBar="mmlBar",e.MmlGroupChar="mmlGroupChar",e.VmlElement="vmlElement",e.Inserted="inserted",e.Deleted="deleted",e.DeletedText="deletedText",e.Comment="comment",e.CommentReference="commentReference",e.CommentRangeStart="commentRangeStart",e.CommentRangeEnd="commentRangeEnd",e.AltChunk="altChunk"}(R||(R={}));class U{constructor(){this.children=[],this.cssStyle={}}}class q extends U{constructor(){super(...arguments),this.type=R.Header}}class J extends U{constructor(){super(...arguments),this.type=R.Footer}}class Z extends S{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.rootElement=this.createRootElement(),this.rootElement.children=this._documentParser.parseBodyElements(e)}}class K extends Z{createRootElement(){return new q}}class Y extends Z{createRootElement(){return new J}}function Q(e){if(void 0!==e)return parseInt(e)}class ee extends S{parseXml(e){this.props=function(e,t){const r={};for(let a of t.elements(e))switch(a.localName){case"Template":r.template=a.textContent;break;case"Pages":r.pages=Q(a.textContent);break;case"Words":r.words=Q(a.textContent);break;case"Characters":r.characters=Q(a.textContent);break;case"Application":r.application=a.textContent;break;case"Lines":r.lines=Q(a.textContent);break;case"Paragraphs":r.paragraphs=Q(a.textContent);break;case"Company":r.company=a.textContent;break;case"AppVersion":r.appVersion=a.textContent}return r}(e,this._package.xmlParser)}}class te extends S{parseXml(e){this.props=function(e,t){const r={};for(let a of t.elements(e))switch(a.localName){case"title":r.title=a.textContent;break;case"description":r.description=a.textContent;break;case"subject":r.subject=a.textContent;break;case"creator":r.creator=a.textContent;break;case"keywords":r.keywords=a.textContent;break;case"language":r.language=a.textContent;break;case"lastModifiedBy":r.lastModifiedBy=a.textContent;break;case"revision":a.textContent&&(r.revision=parseInt(a.textContent))}return r}(e,this._package.xmlParser)}}class re{}function ae(e,t){var r={name:t.attr(e,"name"),colors:{}};for(let n of t.elements(e)){var a=t.element(n,"srgbClr"),s=t.element(n,"sysClr");a?r.colors[n.localName]=t.attr(a,"val"):s&&(r.colors[n.localName]=t.attr(s,"lastClr"))}return r}function se(e,t){var r={name:t.attr(e,"name")};for(let a of t.elements(e))switch(a.localName){case"majorFont":r.majorFont=ne(a,t);break;case"minorFont":r.minorFont=ne(a,t)}return r}function ne(e,t){return{latinTypeface:t.elementAttr(e,"latin","typeface"),eaTypeface:t.elementAttr(e,"ea","typeface"),csTypeface:t.elementAttr(e,"cs","typeface")}}class le extends S{constructor(e,t){super(e,t)}parseXml(e){this.theme=function(e,t){var r=new re,a=t.element(e,"themeElements");for(let e of t.elements(a))switch(e.localName){case"clrScheme":r.colorScheme=ae(e,t);break;case"fontScheme":r.fontScheme=se(e,t)}return r}(e,this._package.xmlParser)}}class oe{}class ie extends oe{constructor(){super(...arguments),this.type=R.Footnote}}class ce extends oe{constructor(){super(...arguments),this.type=R.Endnote}}class he extends S{constructor(e,t,r){super(e,t),this._documentParser=r}}class me extends he{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"footnote",ie)}}class pe extends he{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"endnote",ce)}}function ue(e,t){var r={defaultNoteIds:[]};for(let a of t.elements(e))switch(a.localName){case"numFmt":r.nummeringFormat=t.attr(a,"val");break;case"footnote":case"endnote":r.defaultNoteIds.push(t.attr(a,"id"))}return r}class de extends S{constructor(e,t){super(e,t)}parseXml(e){this.settings=function(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"defaultTabStop":r.defaultTabStop=t.lengthAttr(a,"val");break;case"footnotePr":r.footnoteProps=ue(a,t);break;case"endnotePr":r.endnoteProps=ue(a,t);break;case"autoHyphenation":r.autoHyphenation=t.boolAttr(a,"val")}return r}(e,this._package.xmlParser)}}class fe extends S{parseXml(e){this.props=function(e,t){return t.elements(e,"property").map(e=>{const r=e.firstChild;return{formatId:t.attr(e,"fmtid"),name:t.attr(e,"name"),type:r.nodeName,value:r.textContent}})}(e,this._package.xmlParser)}}class ge extends S{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.comments=this._documentParser.parseComments(e),this.commentMap=l(this.comments,e=>e.id)}}class be extends S{constructor(e,t){super(e,t),this.comments=[]}parseXml(e){const t=this._package.xmlParser;for(let r of t.elements(e,"commentEx"))this.comments.push({paraId:t.attr(r,"paraId"),paraIdParent:t.attr(r,"paraIdParent"),done:t.boolAttr(r,"done")});this.commentMap=l(this.comments,e=>e.paraId)}}const ye=[{type:r.OfficeDocument,target:"word/document.xml"},{type:r.ExtendedProperties,target:"docProps/app.xml"},{type:r.CoreProperties,target:"docProps/core.xml"},{type:r.CustomProperties,target:"docProps/custom.xml"}];class ke{constructor(){this.parts=[],this.partsMap={}}static async load(e,t,r){var a=new ke;return a._options=r,a._parser=t,a._package=await N.load(e,r),a.rels=await a._package.loadRelationships(),await Promise.all(ye.map(e=>{const t=a.rels.find(t=>t.type===e.type)??e;return a.loadRelationshipPart(t.target,t.type)})),a}save(e="blob"){return this._package.save(e)}async loadRelationshipPart(e,t){if(this.partsMap[e])return this.partsMap[e];if(!this._package.get(e))return null;let a=null;switch(t){case r.OfficeDocument:this.documentPart=a=new M(this._package,e,this._parser);break;case r.FontTable:this.fontTablePart=a=new x(this._package,e);break;case r.Numbering:this.numberingPart=a=new X(this._package,e,this._parser);break;case r.Styles:this.stylesPart=a=new G(this._package,e,this._parser);break;case r.Theme:this.themePart=a=new le(this._package,e);break;case r.Footnotes:this.footnotesPart=a=new me(this._package,e,this._parser);break;case r.Endnotes:this.endnotesPart=a=new pe(this._package,e,this._parser);break;case r.Footer:a=new Y(this._package,e,this._parser);break;case r.Header:a=new K(this._package,e,this._parser);break;case r.CoreProperties:this.corePropsPart=a=new te(this._package,e);break;case r.ExtendedProperties:this.extendedPropsPart=a=new ee(this._package,e);break;case r.CustomProperties:a=new fe(this._package,e);break;case r.Settings:this.settingsPart=a=new de(this._package,e);break;case r.Comments:this.commentsPart=a=new ge(this._package,e,this._parser);break;case r.CommentsExtended:this.commentsExtendedPart=a=new be(this._package,e)}if(null==a)return Promise.resolve(null);if(this.partsMap[e]=a,this.parts.push(a),await a.load(),a.rels?.length>0){const[e]=s(a.path);await Promise.all(a.rels.map(t=>this.loadRelationshipPart(n(t.target,e),t.type)))}return a}async loadDocumentImage(e,t){const r=await this.loadResource(t??this.documentPart,e,"blob");return this.blobToURL(r)}async loadNumberingImage(e){const t=await this.loadResource(this.numberingPart,e,"blob");return this.blobToURL(t)}async loadFont(e,t){const r=await this.loadResource(this.fontTablePart,e,"uint8array");return r?this.blobToURL(new Blob([ve(r,t)])):r}async loadAltChunk(e,t){return await this.loadResource(t??this.documentPart,e,"string")}blobToURL(e){return e?this._options.useBase64URL?function(e){return new Promise((t,r)=>{const a=new FileReader;a.onloadend=()=>t(a.result),a.onerror=()=>r(),a.readAsDataURL(e)})}(e):URL.createObjectURL(e):null}findPartByRelId(e,t=null){var r=(t.rels??this.rels).find(t=>t.id==e);const a=t?s(t.path)[0]:"";return r?this.partsMap[n(r.target,a)]:null}getPathById(e,t){const r=e.rels.find(e=>e.id==t),[a]=s(e.path);return r?n(r.target,a):null}loadResource(e,t,r){const a=this.getPathById(e,t);return a?this._package.load(a,r):Promise.resolve(null)}}function ve(e,t){const r=t.replace(/{|}|-/g,""),a=new Array(16);for(let e=0;e<16;e++)a[16-e-1]=parseInt(r.substring(2*e,2*e+2),16);for(let t=0;t<32;t++)e[t]=e[t]^a[t%16];return e}function Se(e,t){return{type:R.BookmarkStart,id:t.attr(e,"id"),name:t.attr(e,"name"),colFirst:t.intAttr(e,"colFirst"),colLast:t.intAttr(e,"colLast")}}function Pe(e,t){return{type:R.BookmarkEnd,id:t.attr(e,"id")}}class we extends U{constructor(){super(...arguments),this.type=R.VmlElement,this.attrs={}}}function Ce(e,t){var r=new we;switch(e.localName){case"rect":r.tagName="rect",Object.assign(r.attrs,{width:"100%",height:"100%"});break;case"oval":r.tagName="ellipse",Object.assign(r.attrs,{cx:"50%",cy:"50%",rx:"50%",ry:"50%"});break;case"line":r.tagName="line";break;case"shape":r.tagName="g";break;case"textbox":r.tagName="foreignObject",Object.assign(r.attrs,{width:"100%",height:"100%"});break;default:return null}for(const t of v.attrs(e))switch(t.localName){case"style":r.cssStyleText=t.value;break;case"fillcolor":r.attrs.fill=t.value;break;case"from":const[e,a]=Me(t.value);Object.assign(r.attrs,{x1:e,y1:a});break;case"to":const[s,n]=Me(t.value);Object.assign(r.attrs,{x2:s,y2:n})}for(const a of v.elements(e))switch(a.localName){case"stroke":Object.assign(r.attrs,xe(a));break;case"fill":Object.assign(r.attrs,Ne());break;case"imagedata":r.tagName="image",Object.assign(r.attrs,{width:"100%",height:"100%"}),r.imageHref={id:v.attr(a,"id"),title:v.attr(a,"title")};break;case"txbxContent":r.children.push(...t.parseBodyElements(a));break;default:const e=Ce(a,t);e&&r.children.push(e)}return r}function xe(e){return{stroke:v.attr(e,"color"),"stroke-width":v.lengthAttr(e,"weight",p)??"1px"}}function Ne(e){return{}}function Me(e){return e.split(",")}class Ae extends U{constructor(){super(...arguments),this.type=R.Comment}}class Ee extends U{constructor(e){super(),this.id=e,this.type=R.CommentReference}}class Te extends U{constructor(e){super(),this.id=e,this.type=R.CommentRangeStart}}class Re extends U{constructor(e){super(),this.id=e,this.type=R.CommentRangeEnd}}var Be="inherit",De="black",$e="black",Fe="transparent";const Le=[],Ie={oMath:R.MmlMath,oMathPara:R.MmlMathParagraph,f:R.MmlFraction,func:R.MmlFunction,fName:R.MmlFunctionName,num:R.MmlNumerator,den:R.MmlDenominator,rad:R.MmlRadical,deg:R.MmlDegree,e:R.MmlBase,sSup:R.MmlSuperscript,sSub:R.MmlSubscript,sPre:R.MmlPreSubSuper,sup:R.MmlSuperArgument,sub:R.MmlSubArgument,d:R.MmlDelimiter,nary:R.MmlNary,eqArr:R.MmlEquationArray,lim:R.MmlLimit,limLow:R.MmlLimitLower,m:R.MmlMatrix,mr:R.MmlMatrixRow,box:R.MmlBox,bar:R.MmlBar,groupChr:R.MmlGroupChar};class Oe{constructor(e){this.options={ignoreWidth:!1,debug:!1,...e}}parseNotes(e,t,r){var a=[];for(let s of v.elements(e,t)){const e=new r;e.id=v.attr(s,"id"),e.noteType=v.attr(s,"type"),e.children=this.parseBodyElements(s),a.push(e)}return a}parseComments(e){var t=[];for(let r of v.elements(e,"comment")){const e=new Ae;e.id=v.attr(r,"id"),e.author=v.attr(r,"author"),e.initials=v.attr(r,"initials"),e.date=v.attr(r,"date"),e.children=this.parseBodyElements(r),t.push(e)}return t}parseDocumentFile(e){var t=v.element(e,"body"),r=v.element(e,"background"),a=v.element(t,"sectPr");return{type:R.Document,children:this.parseBodyElements(t),props:a?B(a,v):{},cssStyle:r?this.parseBackground(r):{}}}parseBackground(e){var t={},r=_e.colorAttr(e,"color");return r&&(t["background-color"]=r),t}parseBodyElements(e){var t=[];for(const r of v.elements(e))switch(r.localName){case"p":t.push(this.parseParagraph(r));break;case"altChunk":t.push(this.parseAltChunk(r));break;case"tbl":t.push(this.parseTable(r));break;case"sdt":t.push(...this.parseSdt(r,e=>this.parseBodyElements(e)))}return t}parseStylesFile(e){var t=[];for(const r of v.elements(e))switch(r.localName){case"style":t.push(this.parseStyle(r));break;case"docDefaults":t.push(this.parseDefaultStyles(r))}return t}parseDefaultStyles(e){var t={id:null,name:null,target:null,basedOn:null,styles:[]};for(const s of v.elements(e))switch(s.localName){case"rPrDefault":var r=v.element(s,"rPr");r&&t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})});break;case"pPrDefault":var a=v.element(s,"pPr");a&&t.styles.push({target:"p",values:this.parseDefaultProperties(a,{})})}return t}parseStyle(e){var t={id:v.attr(e,"styleId"),isDefault:v.boolAttr(e,"default"),name:null,target:null,basedOn:null,styles:[],linked:null};switch(v.attr(e,"type")){case"paragraph":t.target="p";break;case"table":t.target="table";break;case"character":t.target="span"}for(const r of v.elements(e))switch(r.localName){case"basedOn":t.basedOn=v.attr(r,"val");break;case"name":t.name=v.attr(r,"val");break;case"link":t.linked=v.attr(r,"val");break;case"next":t.next=v.attr(r,"val");break;case"aliases":t.aliases=v.attr(r,"val").split(",");break;case"pPr":t.styles.push({target:"p",values:this.parseDefaultProperties(r,{})}),t.paragraphProps=O(r,v);break;case"rPr":t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})}),t.runProps=L(r,v);break;case"tblPr":case"tcPr":t.styles.push({target:"td",values:this.parseDefaultProperties(r,{})});break;case"tblStylePr":for(let e of this.parseTableStyle(r))t.styles.push(e);break;case"rsid":case"qFormat":case"hidden":case"semiHidden":case"unhideWhenUsed":case"autoRedefine":case"uiPriority":break;default:this.options.debug&&console.warn(`DOCX: Unknown style element: ${r.localName}`)}return t}parseTableStyle(e){var t=[],r="",a="";switch(v.attr(e,"type")){case"firstRow":a=".first-row",r="tr.first-row td";break;case"lastRow":a=".last-row",r="tr.last-row td";break;case"firstCol":a=".first-col",r="td.first-col";break;case"lastCol":a=".last-col",r="td.last-col";break;case"band1Vert":a=":not(.no-vband)",r="td.odd-col";break;case"band2Vert":a=":not(.no-vband)",r="td.even-col";break;case"band1Horz":a=":not(.no-hband)",r="tr.odd-row";break;case"band2Horz":a=":not(.no-hband)",r="tr.even-row";break;default:return[]}for(const s of v.elements(e))switch(s.localName){case"pPr":t.push({target:`${r} p`,mod:a,values:this.parseDefaultProperties(s,{})});break;case"rPr":t.push({target:`${r} span`,mod:a,values:this.parseDefaultProperties(s,{})});break;case"tblPr":case"tcPr":t.push({target:r,mod:a,values:this.parseDefaultProperties(s,{})})}return t}parseNumberingFile(e){var t=[],r={},a=[];for(const l of v.elements(e))switch(l.localName){case"abstractNum":this.parseAbstractNumbering(l,a).forEach(e=>t.push(e));break;case"numPicBullet":a.push(this.parseNumberingPicBullet(l));break;case"num":var s=v.attr(l,"numId"),n=v.elementAttr(l,"abstractNumId","val");r[n]=s}return t.forEach(e=>e.id=r[e.id]),t}parseNumberingPicBullet(e){var t=v.element(e,"pict"),r=t&&v.element(t,"shape"),a=r&&v.element(r,"imagedata");return a?{id:v.intAttr(e,"numPicBulletId"),src:v.attr(a,"id"),style:v.attr(r,"style")}:null}parseAbstractNumbering(e,t){var r=[],a=v.attr(e,"abstractNumId");for(const s of v.elements(e))if("lvl"===s.localName)r.push(this.parseNumberingLevel(a,s,t));return r}parseNumberingLevel(e,t,r){var a={id:e,level:v.intAttr(t,"ilvl"),start:1,pStyleName:void 0,pStyle:{},rStyle:{},suff:"tab"};for(const e of v.elements(t))switch(e.localName){case"start":a.start=v.intAttr(e,"val");break;case"pPr":this.parseDefaultProperties(e,a.pStyle);break;case"rPr":this.parseDefaultProperties(e,a.rStyle);break;case"lvlPicBulletId":var s=v.intAttr(e,"val");a.bullet=r.find(e=>e?.id==s);break;case"lvlText":a.levelText=v.attr(e,"val");break;case"pStyle":a.pStyleName=v.attr(e,"val");break;case"numFmt":a.format=v.attr(e,"val");break;case"suff":a.suff=v.attr(e,"val")}return a}parseSdt(e,t){const r=v.element(e,"sdtContent");return r?t(r):[]}parseInserted(e,t){return{type:R.Inserted,children:t(e)?.children??[]}}parseDeleted(e,t){return{type:R.Deleted,children:t(e)?.children??[]}}parseAltChunk(e){return{type:R.AltChunk,children:[],id:v.attr(e,"id")}}parseParagraph(e){var t={type:R.Paragraph,children:[]};for(let r of v.elements(e))switch(r.localName){case"pPr":this.parseParagraphProperties(r,t);break;case"r":t.children.push(this.parseRun(r,t));break;case"hyperlink":t.children.push(this.parseHyperlink(r,t));break;case"smartTag":t.children.push(this.parseSmartTag(r,t));break;case"bookmarkStart":t.children.push(Se(r,v));break;case"bookmarkEnd":t.children.push(Pe(r,v));break;case"commentRangeStart":t.children.push(new Te(v.attr(r,"id")));break;case"commentRangeEnd":t.children.push(new Re(v.attr(r,"id")));break;case"oMath":case"oMathPara":t.children.push(this.parseMathElement(r));break;case"sdt":t.children.push(...this.parseSdt(r,e=>this.parseParagraph(e).children));break;case"ins":t.children.push(this.parseInserted(r,e=>this.parseParagraph(e)));break;case"del":t.children.push(this.parseDeleted(r,e=>this.parseParagraph(e)))}return t}parseParagraphProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,e=>{if(H(e,t,v))return!0;switch(e.localName){case"pStyle":t.styleName=v.attr(e,"val");break;case"cnfStyle":t.className=ze.classNameOfCnfStyle(e);break;case"framePr":this.parseFrame(e,t);break;case"rPr":break;default:return!1}return!0})}parseFrame(e,t){"drop"==v.attr(e,"dropCap")&&(t.cssStyle.float="left")}parseHyperlink(e,t){var r={type:R.Hyperlink,parent:t,children:[]};r.anchor=v.attr(e,"anchor"),r.id=v.attr(e,"id");for(const t of v.elements(e))if("r"===t.localName)r.children.push(this.parseRun(t,r));return r}parseSmartTag(e,t){var r={type:R.SmartTag,parent:t,children:[]},a=v.attr(e,"uri"),s=v.attr(e,"element");a&&(r.uri=a),s&&(r.element=s);for(const t of v.elements(e))if("r"===t.localName)r.children.push(this.parseRun(t,r));return r}parseRun(e,t){var r={type:R.Run,parent:t,children:[]};for(let t of v.elements(e))switch(t=this.checkAlternateContent(t),t.localName){case"t":r.children.push({type:R.Text,text:t.textContent});break;case"delText":r.children.push({type:R.DeletedText,text:t.textContent});break;case"commentReference":r.children.push(new Ee(v.attr(t,"id")));break;case"fldSimple":r.children.push({type:R.SimpleField,instruction:v.attr(t,"instr"),lock:v.boolAttr(t,"lock",!1),dirty:v.boolAttr(t,"dirty",!1)});break;case"instrText":r.fieldRun=!0,r.children.push({type:R.Instruction,text:t.textContent});break;case"fldChar":r.fieldRun=!0,r.children.push({type:R.ComplexField,charType:v.attr(t,"fldCharType"),lock:v.boolAttr(t,"lock",!1),dirty:v.boolAttr(t,"dirty",!1)});break;case"noBreakHyphen":r.children.push({type:R.NoBreakHyphen});break;case"br":r.children.push({type:R.Break,break:v.attr(t,"type")||"textWrapping"});break;case"lastRenderedPageBreak":r.children.push({type:R.Break,break:"lastRenderedPageBreak"});break;case"sym":r.children.push({type:R.Symbol,font:a(v.attr(t,"font")),char:v.attr(t,"char")});break;case"tab":r.children.push({type:R.Tab});break;case"footnoteReference":r.children.push({type:R.FootnoteReference,id:v.attr(t,"id")});break;case"endnoteReference":r.children.push({type:R.EndnoteReference,id:v.attr(t,"id")});break;case"drawing":let e=this.parseDrawing(t);e&&(r.children=[e]);break;case"pict":r.children.push(this.parseVmlPicture(t));break;case"rPr":this.parseRunProperties(t,r)}return r}parseMathElement(e){const t=`${e.localName}Pr`,r={type:Ie[e.localName],children:[]};for(const s of v.elements(e)){if(Ie[s.localName])r.children.push(this.parseMathElement(s));else if("r"==s.localName){var a=this.parseRun(s);a.type=R.MmlRun,r.children.push(a)}else s.localName==t&&(r.props=this.parseMathProperies(s))}return r}parseMathProperies(e){const t={};for(const r of v.elements(e))switch(r.localName){case"chr":t.char=v.attr(r,"val");break;case"vertJc":t.verticalJustification=v.attr(r,"val");break;case"pos":t.position=v.attr(r,"val");break;case"degHide":t.hideDegree=v.boolAttr(r,"val");break;case"begChr":t.beginChar=v.attr(r,"val");break;case"endChr":t.endChar=v.attr(r,"val")}return t}parseRunProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,e=>{switch(e.localName){case"rStyle":t.styleName=v.attr(e,"val");break;case"vertAlign":t.verticalAlign=ze.valueOfVertAlign(e,!0);break;default:return!1}return!0})}parseVmlPicture(e){const t={type:R.VmlPicture,children:[]};for(const r of v.elements(e)){const e=Ce(r,this);e&&t.children.push(e)}return t}checkAlternateContent(e){if("AlternateContent"!=e.localName)return e;var t=v.element(e,"Choice");if(t){var r=v.attr(t,"Requires"),a=e.lookupNamespaceURI(r);if(Le.includes(a))return t.firstElementChild}return v.element(e,"Fallback")?.firstElementChild}parseDrawing(e){for(var t of v.elements(e))switch(t.localName){case"inline":case"anchor":return this.parseDrawingWrapper(t)}}parseDrawingWrapper(e){var t={type:R.Drawing,children:[],cssStyle:{}},r="anchor"==e.localName;let a=null,s=v.boolAttr(e,"simplePos");v.boolAttr(e,"behindDoc");let n={relative:"page",align:"left",offset:"0"},l={relative:"page",align:"top",offset:"0"};for(var o of v.elements(e))switch(o.localName){case"simplePos":s&&(n.offset=v.lengthAttr(o,"x",p),l.offset=v.lengthAttr(o,"y",p));break;case"extent":t.cssStyle.width=v.lengthAttr(o,"cx",p),t.cssStyle.height=v.lengthAttr(o,"cy",p);break;case"positionH":case"positionV":if(!s){let e="positionH"==o.localName?n:l;var i=v.element(o,"align"),c=v.element(o,"posOffset");e.relative=v.attr(o,"relativeFrom")??e.relative,i&&(e.align=i.textContent),c&&(e.offset=b(c.textContent,p))}break;case"wrapTopAndBottom":a="wrapTopAndBottom";break;case"wrapNone":a="wrapNone";break;case"graphic":var h=this.parseGraphic(o);h&&t.children.push(h)}return"wrapTopAndBottom"==a?(t.cssStyle.display="block",n.align&&(t.cssStyle["text-align"]=n.align,t.cssStyle.width="100%")):"wrapNone"==a?(t.cssStyle.display="block",t.cssStyle.position="relative",t.cssStyle.width="0px",t.cssStyle.height="0px",n.offset&&(t.cssStyle.left=n.offset),l.offset&&(t.cssStyle.top=l.offset)):!r||"left"!=n.align&&"right"!=n.align||(t.cssStyle.float=n.align),t}parseGraphic(e){var t=v.element(e,"graphicData");for(let e of v.elements(t))if("pic"===e.localName)return this.parsePicture(e);return null}parsePicture(e){var t={type:R.Image,src:"",cssStyle:{}},r=v.element(e,"blipFill"),a=v.element(r,"blip"),s=v.element(r,"srcRect");t.src=v.attr(a,"embed"),s&&(t.srcRect=[v.intAttr(s,"l",0)/1e5,v.intAttr(s,"t",0)/1e5,v.intAttr(s,"r",0)/1e5,v.intAttr(s,"b",0)/1e5]);var n=v.element(e,"spPr"),l=v.element(n,"xfrm");if(t.cssStyle.position="relative",l)for(var o of(t.rotation=v.intAttr(l,"rot",0)/6e4,v.elements(l)))switch(o.localName){case"ext":t.cssStyle.width=v.lengthAttr(o,"cx",p),t.cssStyle.height=v.lengthAttr(o,"cy",p);break;case"off":t.cssStyle.left=v.lengthAttr(o,"x",p),t.cssStyle.top=v.lengthAttr(o,"y",p)}return t}parseTable(e){var t={type:R.Table,children:[]};for(const r of v.elements(e))switch(r.localName){case"tr":t.children.push(this.parseTableRow(r));break;case"tblGrid":t.columns=this.parseTableColumns(r);break;case"tblPr":this.parseTableProperties(r,t)}return t}parseTableColumns(e){var t=[];for(const r of v.elements(e))if("gridCol"===r.localName)t.push({width:v.lengthAttr(r,"w")});return t}parseTableProperties(e,t){switch(t.cssStyle={},t.cellStyle={},this.parseDefaultProperties(e,t.cssStyle,t.cellStyle,e=>{switch(e.localName){case"tblStyle":t.styleName=v.attr(e,"val");break;case"tblLook":t.className=ze.classNameOftblLook(e);break;case"tblpPr":this.parseTablePosition(e,t);break;case"tblStyleColBandSize":t.colBandSize=v.intAttr(e,"val");break;case"tblStyleRowBandSize":t.rowBandSize=v.intAttr(e,"val");break;case"hidden":t.cssStyle.display="none";break;default:return!1}return!0}),t.cssStyle["text-align"]){case"center":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto",t.cssStyle["margin-right"]="auto";break;case"right":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto"}}parseTablePosition(e,t){var r=v.lengthAttr(e,"topFromText"),a=v.lengthAttr(e,"bottomFromText"),s=v.lengthAttr(e,"rightFromText"),n=v.lengthAttr(e,"leftFromText");t.cssStyle.float="left",t.cssStyle["margin-bottom"]=ze.addSize(t.cssStyle["margin-bottom"],a),t.cssStyle["margin-left"]=ze.addSize(t.cssStyle["margin-left"],n),t.cssStyle["margin-right"]=ze.addSize(t.cssStyle["margin-right"],s),t.cssStyle["margin-top"]=ze.addSize(t.cssStyle["margin-top"],r)}parseTableRow(e){var t={type:R.Row,children:[]};for(const r of v.elements(e))switch(r.localName){case"tc":t.children.push(this.parseTableCell(r));break;case"trPr":case"tblPrEx":this.parseTableRowProperties(r,t)}return t}parseTableRowProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,e=>{switch(e.localName){case"cnfStyle":t.className=ze.classNameOfCnfStyle(e);break;case"tblHeader":t.isHeader=v.boolAttr(e,"val");break;case"gridBefore":t.gridBefore=v.intAttr(e,"val");break;case"gridAfter":t.gridAfter=v.intAttr(e,"val");break;default:return!1}return!0})}parseTableCell(e){var t={type:R.Cell,children:[]};for(const r of v.elements(e))switch(r.localName){case"tbl":t.children.push(this.parseTable(r));break;case"p":t.children.push(this.parseParagraph(r));break;case"tcPr":this.parseTableCellProperties(r,t)}return t}parseTableCellProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,e=>{switch(e.localName){case"gridSpan":t.span=v.intAttr(e,"val",null);break;case"vMerge":t.verticalMerge=v.attr(e,"val")??"continue";break;case"cnfStyle":t.className=ze.classNameOfCnfStyle(e);break;default:return!1}return!0}),this.parseTableCellVerticalText(e,t)}parseTableCellVerticalText(e,t){const r={btLr:{writingMode:"vertical-rl",transform:"rotate(180deg)"},lrTb:{writingMode:"vertical-lr",transform:"none"},tbRl:{writingMode:"vertical-rl",transform:"none"}};for(const a of v.elements(e))if("textDirection"===a.localName){const e=r[v.attr(a,"val")]||{writingMode:"horizontal-tb"};t.cssStyle["writing-mode"]=e.writingMode,t.cssStyle.transform=e.transform}}parseDefaultProperties(e,t=null,r=null,a=null){t=t||{};for(const s of v.elements(e))if(!a?.(s))switch(s.localName){case"jc":t["text-align"]=ze.valueOfJc(s);break;case"textAlignment":t["vertical-align"]=ze.valueOfTextAlignment(s);break;case"color":t.color=_e.colorAttr(s,"val",null,De);break;case"sz":t["font-size"]=t["min-height"]=v.lengthAttr(s,"val",u);break;case"shd":t["background-color"]=_e.colorAttr(s,"fill",null,Be);break;case"highlight":t["background-color"]=_e.colorAttr(s,"val",null,Fe);break;case"vertAlign":break;case"position":t.verticalAlign=v.lengthAttr(s,"val",u);break;case"tcW":if(this.options.ignoreWidth)break;case"tblW":t.width=ze.valueOfSize(s,"w");break;case"trHeight":this.parseTrHeight(s,t);break;case"strike":t["text-decoration"]=v.boolAttr(s,"val",!0)?"line-through":"none";break;case"b":t["font-weight"]=v.boolAttr(s,"val",!0)?"bold":"normal";break;case"i":t["font-style"]=v.boolAttr(s,"val",!0)?"italic":"normal";break;case"caps":t["text-transform"]=v.boolAttr(s,"val",!0)?"uppercase":"none";break;case"smallCaps":t["font-variant"]=v.boolAttr(s,"val",!0)?"small-caps":"none";break;case"u":this.parseUnderline(s,t);break;case"ind":case"tblInd":this.parseIndentation(s,t);break;case"rFonts":this.parseFont(s,t);break;case"tblBorders":this.parseBorderProperties(s,r||t);break;case"tblCellSpacing":t["border-spacing"]=ze.valueOfMargin(s),t["border-collapse"]="separate";break;case"pBdr":this.parseBorderProperties(s,t);break;case"bdr":t.border=ze.valueOfBorder(s);break;case"tcBorders":this.parseBorderProperties(s,t);break;case"vanish":v.boolAttr(s,"val",!0)&&(t.display="none");break;case"kern":case"noWrap":break;case"tblCellMar":case"tcMar":this.parseMarginProperties(s,r||t);break;case"tblLayout":t["table-layout"]=ze.valueOfTblLayout(s);break;case"vAlign":t["vertical-align"]=ze.valueOfTextAlignment(s);break;case"spacing":"pPr"==e.localName&&this.parseSpacing(s,t);break;case"wordWrap":v.boolAttr(s,"val")&&(t["overflow-wrap"]="break-word");break;case"suppressAutoHyphens":t.hyphens=v.boolAttr(s,"val",!0)?"none":"auto";break;case"lang":t.$lang=v.attr(s,"val");break;case"rtl":case"bidi":v.boolAttr(s,"val",!0)&&(t.direction="rtl");break;case"bCs":case"iCs":case"szCs":case"tabs":case"outlineLvl":case"contextualSpacing":case"tblStyleColBandSize":case"tblStyleRowBandSize":case"webHidden":case"pageBreakBefore":case"suppressLineNumbers":case"keepLines":case"keepNext":case"widowControl":case"bidi":case"rtl":case"noProof":break;default:this.options.debug&&console.warn(`DOCX: Unknown document element: ${e.localName}.${s.localName}`)}return t}parseUnderline(e,t){var r=v.attr(e,"val");if(null!=r){switch(r){case"dash":case"dashDotDotHeavy":case"dashDotHeavy":case"dashedHeavy":case"dashLong":case"dashLongHeavy":case"dotDash":case"dotDotDash":t["text-decoration"]="underline dashed";break;case"dotted":case"dottedHeavy":t["text-decoration"]="underline dotted";break;case"double":t["text-decoration"]="underline double";break;case"single":case"thick":case"words":t["text-decoration"]="underline";break;case"wave":case"wavyDouble":case"wavyHeavy":t["text-decoration"]="underline wavy";break;case"none":t["text-decoration"]="none"}var a=_e.colorAttr(e,"color");a&&(t["text-decoration-color"]=a)}}parseFont(e,t){var r=[v.attr(e,"ascii"),ze.themeValue(e,"asciiTheme"),v.attr(e,"eastAsia")].filter(e=>e).map(e=>a(e));r.length>0&&(t["font-family"]=[...new Set(r)].join(", "))}parseIndentation(e,t){var r=v.lengthAttr(e,"firstLine"),a=v.lengthAttr(e,"hanging"),s=v.lengthAttr(e,"left"),n=v.lengthAttr(e,"start"),l=v.lengthAttr(e,"right"),o=v.lengthAttr(e,"end");r&&(t["text-indent"]=r),a&&(t["text-indent"]=`-${a}`),(s||n)&&(t["margin-inline-start"]=s||n),(l||o)&&(t["margin-inline-end"]=l||o)}parseSpacing(e,t){var r=v.lengthAttr(e,"before"),a=v.lengthAttr(e,"after"),s=v.intAttr(e,"line",null),n=v.attr(e,"lineRule");if(r&&(t["margin-top"]=r),a&&(t["margin-bottom"]=a),null!==s)switch(n){case"auto":t["line-height"]=`${(s/240).toFixed(2)}`;break;case"atLeast":t["line-height"]=`calc(100% + ${s/20}pt)`;break;default:t["line-height"]=t["min-height"]=s/20+"pt"}}parseMarginProperties(e,t){for(const r of v.elements(e))switch(r.localName){case"left":t["padding-left"]=ze.valueOfMargin(r);break;case"right":t["padding-right"]=ze.valueOfMargin(r);break;case"top":t["padding-top"]=ze.valueOfMargin(r);break;case"bottom":t["padding-bottom"]=ze.valueOfMargin(r)}}parseTrHeight(e,t){v.attr(e,"hRule"),t.height=v.lengthAttr(e,"val")}parseBorderProperties(e,t){for(const r of v.elements(e))switch(r.localName){case"start":case"left":t["border-left"]=ze.valueOfBorder(r);break;case"end":case"right":t["border-right"]=ze.valueOfBorder(r);break;case"top":t["border-top"]=ze.valueOfBorder(r);break;case"bottom":t["border-bottom"]=ze.valueOfBorder(r)}}}const He=["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","none","red","white","yellow"];class _e{static colorAttr(e,t,r=null,a="black"){var s=v.attr(e,t);if(s)return"auto"==s?a:He.includes(s)?s:`#${s}`;var n=v.attr(e,"themeColor");return n?`var(--docx-${n}-color)`:r}}class ze{static themeValue(e,t){var r=v.attr(e,t);return r?`var(--docx-${r}-font)`:null}static valueOfSize(e,t){var r=m;switch(v.attr(e,"type")){case"dxa":break;case"pct":r=g;break;case"auto":return"auto"}return v.lengthAttr(e,t,r)}static valueOfMargin(e){return v.lengthAttr(e,"w")}static valueOfBorder(e){var t=ze.parseBorderType(v.attr(e,"val"));if("none"==t)return"none";var r=_e.colorAttr(e,"color");return`${v.lengthAttr(e,"sz",d)} ${t} ${"auto"==r?$e:r}`}static parseBorderType(e){switch(e){case"single":case"dashDotStroked":case"thick":case"thickThinLargeGap":case"thickThinMediumGap":case"thickThinSmallGap":case"thinThickLargeGap":case"thinThickMediumGap":case"thinThickSmallGap":case"thinThickThinLargeGap":case"thinThickThinMediumGap":case"thinThickThinSmallGap":case"threeDEmboss":case"threeDEngrave":case"wave":return"solid";case"dashed":case"dashSmallGap":return"dashed";case"dotDash":case"dotDotDash":case"dotted":return"dotted";case"double":case"doubleWave":case"triple":return"double";case"inset":return"inset";case"nil":case"none":return"none";case"outset":return"outset"}return"solid"}static valueOfTblLayout(e){return"fixed"==v.attr(e,"val")?"fixed":"auto"}static classNameOfCnfStyle(e){const t=v.attr(e,"val");return["first-row","last-row","first-col","last-col","odd-col","even-col","odd-row","even-row","ne-cell","nw-cell","se-cell","sw-cell"].filter((e,r)=>"1"==t[r]).join(" ")}static valueOfJc(e){var t=v.attr(e,"val");switch(t){case"start":case"left":return"left";case"center":return"center";case"end":case"right":return"right";case"both":return"justify"}return t}static valueOfVertAlign(e,t=!1){var r=v.attr(e,"val");switch(r){case"subscript":return"sub";case"superscript":return t?"sup":"super"}return t?null:r}static valueOfTextAlignment(e){var t=v.attr(e,"val");switch(t){case"auto":case"baseline":return"baseline";case"top":return"top";case"center":return"middle";case"bottom":return"bottom"}return t}static addSize(e,t){return null==e?t:null==t?e:`calc(${e} + ${t})`}static classNameOftblLook(e){const t=v.hexAttr(e,"val",0);let r="";return(v.boolAttr(e,"firstRow")||32&t)&&(r+=" first-row"),(v.boolAttr(e,"lastRow")||64&t)&&(r+=" last-row"),(v.boolAttr(e,"firstColumn")||128&t)&&(r+=" first-col"),(v.boolAttr(e,"lastColumn")||256&t)&&(r+=" last-col"),(v.boolAttr(e,"noHBand")||512&t)&&(r+=" no-hband"),(v.boolAttr(e,"noVBand")||1024&t)&&(r+=" no-vband"),r.trim()}}const Ve={pos:0,leader:"none",style:"left"};function je(e,t,r,a=.75){const s=e.closest("p"),n=e.getBoundingClientRect(),l=s.getBoundingClientRect(),o=getComputedStyle(s),i=t?.length>0?t.map(e=>({pos:We(e.position),leader:e.leader,style:e.style})).sort((e,t)=>e.pos-t.pos):[Ve],c=i[i.length-1],h=l.width*a,m=We(r);let p=c.pos+m;if(p"clear"!=e.style&&e.pos>f);if(null==g)return;let b=1;if("right"==g.style||"center"==g.style){const t=Array.from(s.querySelectorAll(`.${e.className}`)),r=t.indexOf(e)+1,n=document.createRange();n.setStart(e,1),re.id)),e.endnotesPart&&(this.endnoteMap=l(e.endnotesPart.notes,e=>e.id)),e.settingsPart&&(this.defaultTabSize=e.settingsPart.settings?.defaultTabStop),!a.ignoreFonts&&e.fontTablePart&&this.renderFontTable(e.fontTablePart,r);var s=this.renderSections(e.documentPart.body);this.options.inWrapper?t.appendChild(this.renderWrapper(s)):Je(t,s),this.commentHighlight&&a.renderComments&&CSS.highlights.set(`${this.className}-comments`,this.commentHighlight),this.postRenderTasks.forEach(e=>e()),await Promise.allSettled(this.tasks),this.refreshTabStops()}renderTheme(e,t){const r={},a=e.theme?.fontScheme;a&&(a.majorFont&&(r["--docx-majorHAnsi-font"]=a.majorFont.latinTypeface),a.minorFont&&(r["--docx-minorHAnsi-font"]=a.minorFont.latinTypeface));const s=e.theme?.colorScheme;if(s)for(let[e,t]of Object.entries(s.colors))r[`--docx-${e}-color`]=`#${t}`;const n=this.styleToString(`.${this.className}`,r);t.appendChild(this.createStyleElement(n))}renderFontTable(e,t){for(let r of e.fonts)for(let e of r.embedFontRefs)this.tasks.push(this.document.loadFont(e.id,e.key).then(s=>{const n={"font-family":a(r.name),src:`url(${s})`};"bold"!=e.type&&"boldItalic"!=e.type||(n["font-weight"]="bold"),"italic"!=e.type&&"boldItalic"!=e.type||(n["font-style"]="italic");const l=this.styleToString("@font-face",n);t.appendChild(this.createComment(`docxjs ${r.name} font`)),t.appendChild(this.createStyleElement(l))}))}processStyleName(e){return e?`${this.className}_${function(e){return e?.replace(/[ .]+/g,"-").replace(/[&]+/g,"and").toLowerCase()}(e)}`:this.className}processStyles(e){const t=l(e.filter(e=>null!=e.id),e=>e.id);for(const a of e.filter(e=>e.basedOn)){var r=t[a.basedOn];if(r){a.paragraphProps=i(a.paragraphProps,r.paragraphProps),a.runProps=i(a.runProps,r.runProps);for(const e of r.styles){const t=a.styles.find(t=>t.target==e.target);t?this.copyStyleProperties(e.values,t.values):a.styles.push({...e,values:{...e.values}})}}else this.options.debug&&console.warn(`Can't find base style ${a.basedOn}`)}for(let t of e)t.cssName=this.processStyleName(t.id);return t}prodessNumberings(e){for(let t of e.filter(e=>e.pStyleName)){const e=this.findStyle(t.pStyleName);e?.paragraphProps?.numbering&&(e.paragraphProps.numbering.level=t.level)}}processElement(e){if(e.children)for(var t of e.children)t.parent=e,t.type==R.Table?this.processTable(t):this.processElement(t)}processTable(e){for(var t of e.children)for(var r of t.children)r.cssStyle=this.copyStyleProperties(e.cellStyle,r.cssStyle,["border-left","border-right","border-top","border-bottom","padding-left","padding-right","padding-top","padding-bottom"]),this.processElement(r)}copyStyleProperties(e,t,r=null){if(!e)return t;for(var a of(null==t&&(t={}),null==r&&(r=Object.getOwnPropertyNames(e)),r))e.hasOwnProperty(a)&&!t.hasOwnProperty(a)&&(t[a]=e[a]);return t}createPageElement(e,t){var r=this.createElement("section",{className:e});return t&&(t.pageMargins&&(r.style.paddingLeft=t.pageMargins.left,r.style.paddingRight=t.pageMargins.right,r.style.paddingTop=t.pageMargins.top,r.style.paddingBottom=t.pageMargins.bottom),t.pageSize&&(this.options.ignoreWidth||(r.style.width=t.pageSize.width),this.options.ignoreHeight||(r.style.minHeight=t.pageSize.height))),r}createSectionContent(e){var t=this.createElement("article");return e.columns&&e.columns.numberOfColumns&&(t.style.columnCount=`${e.columns.numberOfColumns}`,t.style.columnGap=e.columns.space,e.columns.separator&&(t.style.columnRule="1px solid black")),t}renderSections(e){const t=[];this.processElement(e);const r=this.splitBySection(e.children,e.props),a=this.groupByPageBreaks(r);let s=null;for(let r=0,l=a.length;r"first"==e.type):null)??(r%2==1?e.find(e=>"even"==e.type):null)??e.find(e=>"default"==e.type),l=n&&this.document.findPartByRelId(n.id,this.document.documentPart);if(l){this.currentPart=l,this.usedHederFooterParts.includes(l.path)||(this.processElement(l.rootElement),this.usedHederFooterParts.push(l.path));const[e]=this.renderElements([l.rootElement],s);t?.pageMargins&&(l.rootElement.type===R.Header?(e.style.marginTop=`calc(${t.pageMargins.header} - ${t.pageMargins.top})`,e.style.minHeight=`calc(${t.pageMargins.top} - ${t.pageMargins.header})`):l.rootElement.type===R.Footer&&(e.style.marginBottom=`calc(${t.pageMargins.footer} - ${t.pageMargins.bottom})`,e.style.minHeight=`calc(${t.pageMargins.bottom} - ${t.pageMargins.footer})`)),this.currentPart=null}}}isPageBreakElement(e){return e.type==R.Break&&("lastRenderedPageBreak"==e.break?!this.options.ignoreLastRenderedPageBreak:"page"==e.break)}isPageBreakSection(e,t){return!!e&&(!!t&&(e.pageSize?.orientation!=t.pageSize?.orientation||e.pageSize?.width!=t.pageSize?.width||e.pageSize?.height!=t.pageSize?.height))}splitBySection(e,t){var r={sectProps:null,elements:[],pageBreak:!1},a=[r];for(let t of e){if(t.type==R.Paragraph){const e=this.findStyle(t.styleName);e?.paragraphProps?.pageBreakBefore&&(r.sectProps=s,r.pageBreak=!0,r={sectProps:null,elements:[],pageBreak:!1},a.push(r))}if(r.elements.push(t),t.type==R.Paragraph){const e=t;var s=e.sectionProps,n=-1,l=-1;if(this.options.breakPages&&e.children&&(n=e.children.findIndex(e=>-1!=(l=e.children?.findIndex(this.isPageBreakElement.bind(this))??-1))),(s||-1!=n)&&(r.sectProps=s,r.pageBreak=-1!=n,r={sectProps:null,elements:[],pageBreak:!1},a.push(r)),-1!=n){let a=e.children[n],s=l=0;e--)null==a[e].sectProps?a[e].sectProps=c??t:c=a[e].sectProps;return a}groupByPageBreaks(e){let t,r=[];const a=[r];for(let s of e)r.push(s),(this.options.ignoreLastRenderedPageBreak||s.pageBreak||this.isPageBreakSection(t,s.sectProps))&&a.push(r=[]),t=s.sectProps;return a.filter(e=>e.length>0)}renderWrapper(e){return this.createElement("div",{className:`${this.className}-wrapper`},e)}renderDefaultStyle(){var e=this.className,t=`\n.${e}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } \n.${e}-wrapper>section.${e} { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); margin-bottom: 30px; }`;this.options.hideWrapperOnPrint&&(t=`@media not print { ${t} }`);var r=`${t}\n.${e} { color: black; hyphens: auto; text-underline-position: from-font; }\nsection.${e} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; }\nsection.${e}>article { margin-bottom: auto; z-index: 1; }\nsection.${e}>footer { z-index: 1; }\n.${e} table { border-collapse: collapse; }\n.${e} table td, .${e} table th { vertical-align: top; }\n.${e} p { margin: 0pt; min-height: 1em; }\n.${e} span { white-space: pre-wrap; overflow-wrap: break-word; }\n.${e} a { color: inherit; text-decoration: inherit; }\n.${e} svg { fill: transparent; }\n`;return this.options.renderComments&&(r+=`\n.${e}-comment-ref { cursor: default; }\n.${e}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; }\n.${e}-comment-ref:hover~.${e}-comment-popover { display: block; }\n.${e}-comment-author,.${e}-comment-date { font-size: 0.875rem; color: #888; }\n`),this.createStyleElement(r)}renderNumbering(e,t){var r="",a=[];for(var s of e){var n=`p.${this.numberingClass(s.id,s.level)}`,l="none";if(s.bullet){let e=`--${this.className}-${s.bullet.src}`.toLowerCase();r+=this.styleToString(`${n}:before`,{content:"' '",display:"inline-block",background:`var(${e})`},s.bullet.style),this.tasks.push(this.document.loadNumberingImage(s.bullet.src).then(r=>{var a=`${this.rootSelector} { ${e}: url(${r}) }`;t.appendChild(this.createStyleElement(a))}))}else if(s.levelText){let e=this.numberingCounter(s.id,s.level);const t=e+" "+(s.start-1);s.level>0&&(r+=this.styleToString(`p.${this.numberingClass(s.id,s.level-1)}`,{"counter-set":t})),a.push(t),r+=this.styleToString(`${n}:before`,{content:this.levelTextToContent(s.levelText,s.suff,s.id,this.numFormatToCssValue(s.format)),"counter-increment":e,...s.rStyle})}else l=this.numFormatToCssValue(s.format);r+=this.styleToString(n,{display:"list-item","list-style-position":"inside","list-style-type":l,...s.pStyle})}return a.length>0&&(r+=this.styleToString(this.rootSelector,{"counter-reset":a.join(" ")})),this.createStyleElement(r)}renderStyles(e){var t="";const r=this.styleMap,a=l(e.filter(e=>e.isDefault),e=>e.target);for(const l of e){var s=l.styles;if(l.linked){var n=l.linked&&r[l.linked];n?s=s.concat(n.styles):this.options.debug&&console.warn(`Can't find linked style ${l.linked}`)}for(const e of s){var o=`${l.target??""}.${l.cssName}`;l.target!=e.target&&(o+=` ${e.target}`),a[l.target]==l&&(o=`.${this.className} ${l.target}, `+o),t+=this.styleToString(o,e.values)}}return this.createStyleElement(t)}renderNotes(e,t,r){var a=e.map(e=>t[e]).filter(e=>e);if(a.length>0){var s=this.createElement("ol",null,this.renderElements(a));r.appendChild(s)}}renderElement(e){switch(e.type){case R.Paragraph:return this.renderParagraph(e);case R.BookmarkStart:return this.renderBookmarkStart(e);case R.BookmarkEnd:return null;case R.Run:return this.renderRun(e);case R.Table:return this.renderTable(e);case R.Row:return this.renderTableRow(e);case R.Cell:return this.renderTableCell(e);case R.Hyperlink:return this.renderHyperlink(e);case R.SmartTag:return this.renderSmartTag(e);case R.Drawing:return this.renderDrawing(e);case R.Image:return this.renderImage(e);case R.Text:case R.Text:return this.renderText(e);case R.DeletedText:return this.renderDeletedText(e);case R.Tab:return this.renderTab(e);case R.Symbol:return this.renderSymbol(e);case R.Break:return this.renderBreak(e);case R.Footer:return this.renderContainer(e,"footer");case R.Header:return this.renderContainer(e,"header");case R.Footnote:case R.Endnote:return this.renderContainer(e,"li");case R.FootnoteReference:return this.renderFootnoteReference(e);case R.EndnoteReference:return this.renderEndnoteReference(e);case R.NoBreakHyphen:return this.createElement("wbr");case R.VmlPicture:return this.renderVmlPicture(e);case R.VmlElement:return this.renderVmlElement(e);case R.MmlMath:return this.renderContainerNS(e,Ge,"math",{xmlns:Ge});case R.MmlMathParagraph:return this.renderContainer(e,"span");case R.MmlFraction:return this.renderContainerNS(e,Ge,"mfrac");case R.MmlBase:return this.renderContainerNS(e,Ge,e.parent.type==R.MmlMatrixRow?"mtd":"mrow");case R.MmlNumerator:case R.MmlDenominator:case R.MmlFunction:case R.MmlLimit:case R.MmlBox:return this.renderContainerNS(e,Ge,"mrow");case R.MmlGroupChar:return this.renderMmlGroupChar(e);case R.MmlLimitLower:return this.renderContainerNS(e,Ge,"munder");case R.MmlMatrix:return this.renderContainerNS(e,Ge,"mtable");case R.MmlMatrixRow:return this.renderContainerNS(e,Ge,"mtr");case R.MmlRadical:return this.renderMmlRadical(e);case R.MmlSuperscript:return this.renderContainerNS(e,Ge,"msup");case R.MmlSubscript:return this.renderContainerNS(e,Ge,"msub");case R.MmlDegree:case R.MmlSuperArgument:case R.MmlSubArgument:return this.renderContainerNS(e,Ge,"mn");case R.MmlFunctionName:return this.renderContainerNS(e,Ge,"ms");case R.MmlDelimiter:return this.renderMmlDelimiter(e);case R.MmlRun:return this.renderMmlRun(e);case R.MmlNary:return this.renderMmlNary(e);case R.MmlPreSubSuper:return this.renderMmlPreSubSuper(e);case R.MmlBar:return this.renderMmlBar(e);case R.MmlEquationArray:return this.renderMllList(e);case R.Inserted:return this.renderInserted(e);case R.Deleted:return this.renderDeleted(e);case R.CommentRangeStart:return this.renderCommentRangeStart(e);case R.CommentRangeEnd:return this.renderCommentRangeEnd(e);case R.CommentReference:return this.renderCommentReference(e);case R.AltChunk:return this.renderAltChunk(e)}return null}renderElements(e,t){if(null==e)return null;var r=e.flatMap(e=>this.renderElement(e)).filter(e=>null!=e);return t&&Je(t,r),r}renderContainer(e,t,r){return this.createElement(t,r,this.renderElements(e.children))}renderContainerNS(e,t,r,a){return this.createElementNS(t,r,a,this.renderElements(e.children))}renderParagraph(e){var t=this.renderContainer(e,"p");const r=this.findStyle(e.styleName);e.tabs??(e.tabs=r?.paragraphProps?.tabs),this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),this.renderCommonProperties(t.style,e);const a=e.numbering??r?.paragraphProps?.numbering;return a&&t.classList.add(this.numberingClass(a.id,a.level)),t}renderRunProperties(e,t){this.renderCommonProperties(e,t)}renderCommonProperties(e,t){null!=t&&(t.color&&(e.color=t.color),t.fontSize&&(e["font-size"]=t.fontSize))}renderHyperlink(e){var t=this.renderContainer(e,"a");this.renderStyleValues(e.cssStyle,t);let r="";if(e.id){const t=this.document.documentPart.rels.find(t=>t.id==e.id&&"External"===t.targetMode);r=t?.target??r}return e.anchor&&(r+=`#${e.anchor}`),t.href=r,t}renderSmartTag(e){return this.renderContainer(e,"span")}renderCommentRangeStart(e){if(!this.options.renderComments)return null;const t=new Range;this.commentHighlight?.add(t);const r=this.createComment(`start of comment #${e.id}`);return this.later(()=>t.setStart(r,0)),this.commentMap[e.id]=t,r}renderCommentRangeEnd(e){if(!this.options.renderComments)return null;const t=this.commentMap[e.id],r=this.createComment(`end of comment #${e.id}`);return this.later(()=>t?.setEnd(r,0)),r}renderCommentReference(e){if(!this.options.renderComments)return null;var t=this.document.commentsPart?.commentMap[e.id];if(!t)return null;const r=new DocumentFragment,a=this.createElement("span",{className:`${this.className}-comment-ref`},["💬"]),s=this.createElement("div",{className:`${this.className}-comment-popover`});return this.renderCommentContent(t,s),r.appendChild(this.createComment(`comment #${t.id} by ${t.author} on ${t.date}`)),r.appendChild(a),r.appendChild(s),r}renderAltChunk(e){if(!this.options.renderAltChunks)return null;var t=this.createElement("iframe");return this.tasks.push(this.document.loadAltChunk(e.id,this.currentPart).then(e=>{t.srcdoc=e})),t}renderCommentContent(e,t){t.appendChild(this.createElement("div",{className:`${this.className}-comment-author`},[e.author])),t.appendChild(this.createElement("div",{className:`${this.className}-comment-date`},[new Date(e.date).toLocaleString()])),this.renderElements(e.children,t)}renderDrawing(e){var t=this.renderContainer(e,"div");return t.style.display="inline-block",t.style.position="relative",t.style.textIndent="0px",this.renderStyleValues(e.cssStyle,t),t}renderImage(e){let t=this.createElement("img"),r=e.cssStyle?.transform;if(this.renderStyleValues(e.cssStyle,t),e.srcRect&&e.srcRect.some(e=>0!=e)){var[a,s,n,l]=e.srcRect;r=`scale(${1/(1-a-n)}, ${1/(1-s-l)})`,t.style["clip-path"]=`rect(${(100*s).toFixed(2)}% ${(100*(1-n)).toFixed(2)}% ${(100*(1-l)).toFixed(2)}% ${(100*a).toFixed(2)}%)`}return e.rotation&&(r=`rotate(${e.rotation}deg) ${r??""}`),t.style.transform=r?.trim(),this.document&&this.tasks.push(this.document.loadDocumentImage(e.src,this.currentPart).then(e=>{t.src=e})),t}renderText(e){return this.htmlDocument.createTextNode(e.text)}renderDeletedText(e){return this.options.renderChanges?this.renderText(e):null}renderBreak(e){return"textWrapping"==e.break?this.createElement("br"):null}renderInserted(e){return this.options.renderChanges?this.renderContainer(e,"ins"):this.renderElements(e.children)}renderDeleted(e){return this.options.renderChanges?this.renderContainer(e,"del"):null}renderSymbol(e){var t=this.createElement("span");return t.style.fontFamily=e.font,t.innerHTML=`&#x${e.char};`,t}renderFootnoteReference(e){var t=this.createElement("sup");return this.currentFootnoteIds.push(e.id),t.textContent=`${this.currentFootnoteIds.length}`,t}renderEndnoteReference(e){var t=this.createElement("sup");return this.currentEndnoteIds.push(e.id),t.textContent=`${this.currentEndnoteIds.length}`,t}renderTab(e){var t=this.createElement("span");if(t.innerHTML=" ",this.options.experimental){t.className=this.tabStopClass();var r=function(e,t){var r=e.parent;for(;null!=r&&r.type!=t;)r=r.parent;return r}(e,R.Paragraph)?.tabs;this.currentTabs.push({stops:r,span:t})}return t}renderBookmarkStart(e){return this.createElement("span",{id:e.name})}renderRun(e){if(e.fieldRun)return null;const t=this.createElement("span");if(e.id&&(t.id=e.id),this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),e.verticalAlign){const r=this.createElement(e.verticalAlign);this.renderElements(e.children,r),t.appendChild(r)}else this.renderElements(e.children,t);return t}renderTable(e){let t=this.createElement("table");return this.tableCellPositions.push(this.currentCellPosition),this.tableVerticalMerges.push(this.currentVerticalMerge),this.currentVerticalMerge={},this.currentCellPosition={col:0,row:0},e.columns&&t.appendChild(this.renderTableColumns(e.columns)),this.renderClass(e,t),this.renderElements(e.children,t),this.renderStyleValues(e.cssStyle,t),this.currentVerticalMerge=this.tableVerticalMerges.pop(),this.currentCellPosition=this.tableCellPositions.pop(),t}renderTableColumns(e){let t=this.createElement("colgroup");for(let r of e){let e=this.createElement("col");r.width&&(e.style.width=r.width),t.appendChild(e)}return t}renderTableRow(e){let t=this.createElement("tr");return this.currentCellPosition.col=0,e.gridBefore&&t.appendChild(this.renderTableCellPlaceholder(e.gridBefore)),this.renderClass(e,t),this.renderElements(e.children,t),this.renderStyleValues(e.cssStyle,t),e.gridAfter&&t.appendChild(this.renderTableCellPlaceholder(e.gridAfter)),this.currentCellPosition.row++,t}renderTableCellPlaceholder(e){const t=this.createElement("td",{colSpan:e});return t.style.border="none",t}renderTableCell(e){let t=this.renderContainer(e,"td");const r=this.currentCellPosition.col;return e.verticalMerge?"restart"==e.verticalMerge?(this.currentVerticalMerge[r]=t,t.rowSpan=1):this.currentVerticalMerge[r]&&(this.currentVerticalMerge[r].rowSpan+=1,t.style.display="none"):this.currentVerticalMerge[r]=null,this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),e.span&&(t.colSpan=e.span),this.currentCellPosition.col+=t.colSpan,t}renderVmlPicture(e){return this.renderContainer(e,"div")}renderVmlElement(e){var t=this.createSvgElement("svg");t.setAttribute("style",e.cssStyleText);const r=this.renderVmlChildElement(e);return e.imageHref?.id&&this.tasks.push(this.document?.loadDocumentImage(e.imageHref.id,this.currentPart).then(e=>r.setAttribute("href",e))),t.appendChild(r),requestAnimationFrame(()=>{const e=t.firstElementChild.getBBox();t.setAttribute("width",`${Math.ceil(e.x+e.width)}`),t.setAttribute("height",`${Math.ceil(e.y+e.height)}`)}),t}renderVmlChildElement(e){const t=this.createSvgElement(e.tagName);Object.entries(e.attrs).forEach(([e,r])=>t.setAttribute(e,r));for(let r of e.children)r.type==R.VmlElement?t.appendChild(this.renderVmlChildElement(r)):t.appendChild(...c(this.renderElement(r)));return t}renderMmlRadical(e){const t=e.children.find(e=>e.type==R.MmlBase);if(e.props?.hideDegree)return this.createElementNS(Ge,"msqrt",null,this.renderElements([t]));const r=e.children.find(e=>e.type==R.MmlDegree);return this.createElementNS(Ge,"mroot",null,this.renderElements([t,r]))}renderMmlDelimiter(e){const t=[];return t.push(this.createElementNS(Ge,"mo",null,[e.props.beginChar??"("])),t.push(...this.renderElements(e.children)),t.push(this.createElementNS(Ge,"mo",null,[e.props.endChar??")"])),this.createElementNS(Ge,"mrow",null,t)}renderMmlNary(e){const t=[],r=l(e.children,e=>e.type),a=r[R.MmlSuperArgument],s=r[R.MmlSubArgument],n=a?this.createElementNS(Ge,"mo",null,c(this.renderElement(a))):null,o=s?this.createElementNS(Ge,"mo",null,c(this.renderElement(s))):null,i=this.createElementNS(Ge,"mo",null,[e.props?.char??"∫"]);return n||o?t.push(this.createElementNS(Ge,"munderover",null,[i,o,n])):n?t.push(this.createElementNS(Ge,"mover",null,[i,n])):o?t.push(this.createElementNS(Ge,"munder",null,[i,o])):t.push(i),t.push(...this.renderElements(r[R.MmlBase].children)),this.createElementNS(Ge,"mrow",null,t)}renderMmlPreSubSuper(e){const t=[],r=l(e.children,e=>e.type),a=r[R.MmlSuperArgument],s=r[R.MmlSubArgument],n=a?this.createElementNS(Ge,"mo",null,c(this.renderElement(a))):null,o=s?this.createElementNS(Ge,"mo",null,c(this.renderElement(s))):null,i=this.createElementNS(Ge,"mo",null);return t.push(this.createElementNS(Ge,"msubsup",null,[i,o,n])),t.push(...this.renderElements(r[R.MmlBase].children)),this.createElementNS(Ge,"mrow",null,t)}renderMmlGroupChar(e){const t="bot"===e.props.verticalJustification?"mover":"munder",r=this.renderContainerNS(e,Ge,t);return e.props.char&&r.appendChild(this.createElementNS(Ge,"mo",null,[e.props.char])),r}renderMmlBar(e){const t=this.renderContainerNS(e,Ge,"mrow");switch(e.props.position){case"top":t.style.textDecoration="overline";break;case"bottom":t.style.textDecoration="underline"}return t}renderMmlRun(e){const t=this.createElementNS(Ge,"ms",null,this.renderElements(e.children));return this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),t}renderMllList(e){const t=this.createElementNS(Ge,"mtable");this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t);for(let r of this.renderElements(e.children))t.appendChild(this.createElementNS(Ge,"mtr",null,[this.createElementNS(Ge,"mtd",null,[r])]));return t}renderStyleValues(e,t){for(let r in e)r.startsWith("$")?t.setAttribute(r.slice(1),e[r]):t.style[r]=e[r]}renderClass(e,t){e.className&&(t.className=e.className),e.styleName&&t.classList.add(this.processStyleName(e.styleName))}findStyle(e){return e&&this.styleMap?.[e]}numberingClass(e,t){return`${this.className}-num-${e}-${t}`}tabStopClass(){return`${this.className}-tab-stop`}styleToString(e,t,r=null){let a=`${e} {\r\n`;for(const e in t)e.startsWith("$")||(a+=` ${e}: ${t[e]};\r\n`);return r&&(a+=r),a+"}\r\n"}numberingCounter(e,t){return`${this.className}-num-${e}-${t}`}levelTextToContent(e,t,r,a){return`"${e.replace(/%\d*/g,e=>{let t=parseInt(e.substring(1),10)-1;return`"counter(${this.numberingCounter(r,t)}, ${a})"`})}${{tab:"\\9",space:"\\a0"}[t]??""}"`}numFormatToCssValue(e){return{none:"none",bullet:"disc",decimal:"decimal",lowerLetter:"lower-alpha",upperLetter:"upper-alpha",lowerRoman:"lower-roman",upperRoman:"upper-roman",decimalZero:"decimal-leading-zero",aiueo:"katakana",aiueoFullWidth:"katakana",chineseCounting:"simp-chinese-informal",chineseCountingThousand:"simp-chinese-informal",chineseLegalSimplified:"simp-chinese-formal",chosung:"hangul-consonant",ideographDigital:"cjk-ideographic",ideographTraditional:"cjk-heavenly-stem",ideographLegalTraditional:"trad-chinese-formal",ideographZodiac:"cjk-earthly-branch",iroha:"katakana-iroha",irohaFullWidth:"katakana-iroha",japaneseCounting:"japanese-informal",japaneseDigitalTenThousand:"cjk-decimal",japaneseLegal:"japanese-formal",thaiNumbers:"thai",koreanCounting:"korean-hangul-formal",koreanDigital:"korean-hangul-formal",koreanDigital2:"korean-hanja-informal",hebrew1:"hebrew",hebrew2:"hebrew",hindiNumbers:"devanagari",ganada:"hangul",taiwaneseCounting:"cjk-ideographic",taiwaneseCountingThousand:"cjk-ideographic",taiwaneseDigital:"cjk-decimal"}[e]??e}refreshTabStops(){this.options.experimental&&setTimeout(()=>{const e=function(e=document.body){const t=document.createElement("div");t.style.width="100pt",e.appendChild(t);const r=100/t.offsetWidth;return e.removeChild(t),r}();for(let t of this.currentTabs)je(t.span,t.stops,this.defaultTabSize,e)},500)}createElementNS(e,t,r,a){var s=e?this.htmlDocument.createElementNS(e,t):this.htmlDocument.createElement(t);return Object.assign(s,r),a&&Je(s,a),s}createElement(e,t,r){return this.createElementNS(void 0,e,t,r)}createSvgElement(e,t,r){return this.createElementNS(Xe,e,t,r)}createStyleElement(e){return this.createElement("style",{innerHTML:e})}createComment(e){return this.htmlDocument.createComment(e)}later(e){this.postRenderTasks.push(e)}}function qe(e){e.innerHTML=""}function Je(e,t){t.forEach(t=>{return e.appendChild("string"==typeof(r=t)||r instanceof String?document.createTextNode(t):t);var r})}const Ze={ignoreHeight:!1,ignoreWidth:!1,ignoreFonts:!1,breakPages:!0,debug:!1,experimental:!1,className:"docx",inWrapper:!0,hideWrapperOnPrint:!1,trimXmlDeclaration:!0,ignoreLastRenderedPageBreak:!0,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,renderEndnotes:!0,useBase64URL:!1,renderChanges:!1,renderComments:!1,renderAltChunks:!0};function Ke(e,t){const r={...Ze,...t};return ke.load(e,new Oe(r),r)}async function Ye(e,t,r,a){const s={...Ze,...a},n=new Ue(window.document);return await n.render(e,t,r,s)}e.defaultOptions=Ze,e.parseAsync=Ke,e.renderAsync=async function(e,t,r,a){const s=await Ke(e,a);return await Ye(s,t,r,a),s},e.renderDocument=Ye}); //# sourceMappingURL=docx-preview.min.js.map diff --git a/docxjs/dist/docx-preview.min.js.map b/docxjs/dist/docx-preview.min.js.map index e41889e..0718618 100644 --- a/docxjs/dist/docx-preview.min.js.map +++ b/docxjs/dist/docx-preview.min.js.map @@ -1 +1 @@ -{"version":3,"file":"docx-preview.min.js","sources":["../src/common/relationship.ts","../src/utils.ts","../src/document/common.ts","../src/parser/xml-parser.ts","../src/common/part.ts","../src/font-table/fonts.ts","../src/font-table/font-table.ts","../src/common/open-xml-package.ts","../src/document/document-part.ts","../src/document/border.ts","../src/document/section.ts","../src/document/dom.ts","../src/document/run.ts","../src/document/paragraph.ts","../src/document/line-spacing.ts","../src/numbering/numbering.ts","../src/numbering/numbering-part.ts","../src/styles/styles-part.ts","../src/header-footer/elements.ts","../src/header-footer/parts.ts","../src/document-props/extended-props.ts","../src/document-props/extended-props-part.ts","../src/document-props/core-props-part.ts","../src/document-props/core-props.ts","../src/theme/theme.ts","../src/theme/theme-part.ts","../src/notes/elements.ts","../src/notes/parts.ts","../src/settings/settings.ts","../src/settings/settings-part.ts","../src/document-props/custom-props-part.ts","../src/document-props/custom-props.ts","../src/comments/comments-part.ts","../src/comments/comments-extended-part.ts","../src/word-document.ts","../src/document/bookmarks.ts","../src/vml/vml.ts","../src/comments/elements.ts","../src/document-parser.ts","../src/javascript.ts","../src/html-renderer.ts","../src/docx-preview.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["RelationshipTypes","encloseFontFamily","fontFamily","test","splitPath","path","si","lastIndexOf","substring","resolvePath","base","prefix","URL","toString","length","keyBy","array","by","reduce","a","x","isObject","item","Array","isArray","mergeDeep","target","sources","source","shift","key","asArray","val","ns","wordml","drawingml","picture","compatibility","math","LengthUsage","Dxa","mul","unit","Emu","FontSize","Border","min","max","Point","Percent","LineHeight","VmlEmu","convertLength","usage","num","parseInt","clamp","toFixed","parseCommonProperty","elem","props","xml","namespaceURI","localName","color","attr","fontSize","lengthAttr","XmlParser","elements","result","i","l","childNodes","c","nodeType","push","element","elementAttr","attrLocalName","el","this","undefined","attrs","from","attributes","value","intAttr","node","attrName","defaultValue","hexAttr","floatAttr","parseFloat","boolAttr","v","convertBoolean","globalXmlParser","Part","constructor","_package","load","rels","loadRelationships","xmlText","xmlDoc","parseXmlDocument","options","keepOrigin","_xmlDocument","parseXml","firstElementChild","save","update","XMLSerializer","serializeToString","root","embedFontTypeMap","embedRegular","embedBold","embedItalic","embedBoldItalic","parseFonts","map","name","embedFontRefs","family","altName","parseEmbedFontRef","parseFont","id","type","FontTablePart","fonts","xmlParser","OpenXmlPackage","_zip","get","p","startsWith","substr","normalizePath","files","replace","content","file","input","zip","JSZip","loadAsync","generateAsync","async","Promise","resolve","relsPath","f","fn","txt","e","targetMode","xmlString","trimXmlDeclaration","data","charCodeAt","DOMParser","parseFromString","errorText","doc","getElementsByTagName","textContent","Error","parseXmlString","DocumentPart","pkg","parser","super","_documentParser","body","parseDocumentFile","parseBorder","size","offset","frame","shadow","parseBorders","left","top","right","bottom","SectionType","DomType","parseSectionProperties","section","pageSize","width","height","orientation","pageMargins","header","footer","gutter","columns","parseColumns","headerRefs","parseFooterHeaderReference","footerRefs","titlePage","pageBorders","pageNumber","parsePageNumber","numberOfColumns","space","separator","equalWidth","chapSep","chapStyle","format","start","parseRunProperties","parseRunProperty","parseParagraphProperties","parseParagraphProperty","tabs","position","leader","style","parseTabs","sectionProps","numbering","level","parseNumbering","lineSpacing","before","after","line","lineRule","parseLineSpacing","textAlignment","keepLines","keepNext","pageBreakBefore","outlineLevel","styleName","runProps","overrides","abstractId","parseNumberingLevelOverrride","parseAbstractNumbering","levels","multiLevelType","numberingStyleLink","styleLink","parseNumberingLevel","restart","text","justification","bulletPictureId","paragraphStyle","paragraphProps","numberingLevel","parseNumberingBulletPicture","pict","shape","imagedata","referenceId","NumberingPart","Object","assign","numberings","abstractNumberings","bulletPictures","parseNumberingPart","domNumberings","parseNumberingFile","StylesPart","styles","parseStylesFile","OpenXmlElementBase","children","cssStyle","WmlHeader","Header","WmlFooter","Footer","BaseHeaderFooterPart","rootElement","createRootElement","parseBodyElements","HeaderPart","FooterPart","safeParseToInt","ExtendedPropsPart","template","pages","words","characters","application","lines","paragraphs","company","appVersion","parseExtendedProps","CorePropsPart","title","description","subject","creator","keywords","language","lastModifiedBy","revision","parseCoreProps","DmlTheme","parseColorScheme","colors","srgbClr","sysClr","parseFontScheme","majorFont","parseFontInfo","minorFont","latinTypeface","eaTypeface","csTypeface","ThemePart","theme","themeElements","colorScheme","fontScheme","parseTheme","WmlBaseNote","WmlFootnote","Footnote","WmlEndnote","Endnote","BaseNotePart","FootnotesPart","notes","parseNotes","EndnotesPart","parseNoteProperties","defaultNoteIds","nummeringFormat","SettingsPart","settings","defaultTabStop","footnoteProps","endnoteProps","autoHyphenation","parseSettings","CustomPropsPart","firstChild","formatId","nodeName","parseCustomProps","CommentsPart","comments","parseComments","commentMap","CommentsExtendedPart","paraId","paraIdParent","done","topLevelRels","OfficeDocument","ExtendedProperties","CoreProperties","CustomProperties","WordDocument","parts","partsMap","blob","d","_options","_parser","all","rel","r","find","loadRelationshipPart","part","documentPart","FontTable","fontTablePart","Numbering","numberingPart","Styles","stylesPart","Theme","themePart","Footnotes","footnotesPart","Endnotes","endnotesPart","corePropsPart","extendedPropsPart","Settings","settingsPart","Comments","commentsPart","CommentsExtended","commentsExtendedPart","folder","loadDocumentImage","loadResource","blobToURL","loadNumberingImage","loadFont","Blob","deobfuscate","loadAltChunk","useBase64URL","reject","reader","FileReader","onloadend","onerror","readAsDataURL","blobToBase64","createObjectURL","findPartByRelId","basePart","getPathById","outputType","guidKey","trimmed","numbers","parseBookmarkEnd","BookmarkEnd","VmlElement","parseVmlElement","tagName","cx","cy","rx","ry","at","cssStyleText","fill","x1","y1","parsePoint","x2","y2","parseStroke","imageHref","child","stroke","split","WmlComment","Comment","WmlCommentReference","CommentReference","WmlCommentRangeStart","CommentRangeStart","WmlCommentRangeEnd","CommentRangeEnd","autos","supportedNamespaceURIs","mmlTagMap","oMath","MmlMath","oMathPara","MmlMathParagraph","MmlFraction","func","MmlFunction","fName","MmlFunctionName","MmlNumerator","den","MmlDenominator","rad","MmlRadical","deg","MmlDegree","MmlBase","sSup","MmlSuperscript","sSub","MmlSubscript","sPre","MmlPreSubSuper","sup","MmlSuperArgument","sub","MmlSubArgument","MmlDelimiter","nary","MmlNary","eqArr","MmlEquationArray","lim","MmlLimit","limLow","MmlLimitLower","m","MmlMatrix","mr","MmlMatrixRow","box","MmlBox","bar","MmlBar","groupChr","MmlGroupChar","DocumentParser","ignoreWidth","debug","elemName","elemClass","noteType","author","initials","date","xbody","background","sectPr","Document","parseBackground","xmlUtil","colorAttr","parseParagraph","parseAltChunk","parseTable","parseSdt","xstyles","foreach","n","parseStyle","parseDefaultStyles","basedOn","rPr","values","parseDefaultProperties","pPr","isDefault","linked","next","aliases","s","parseTableStyle","console","warn","selector","modificator","mod","xnums","mapping","bullets","forEach","parseNumberingPicBullet","numId","abstractNumId","src","pStyleName","pStyle","rStyle","suff","bullet","levelText","sdtContent","parseInserted","parentParser","Inserted","parseDeleted","Deleted","AltChunk","Paragraph","parseRun","parseHyperlink","parseSmartTag","BookmarkStart","colFirst","colLast","parseMathElement","paragraph","className","classNameOfCnfStyle","parseFrame","parent","Hyperlink","anchor","SmartTag","uri","Run","checkAlternateContent","Text","DeletedText","SimpleField","instruction","lock","dirty","fieldRun","Instruction","ComplexField","charType","NoBreakHyphen","Break","break","Symbol","font","char","Tab","FootnoteReference","EndnoteReference","parseDrawing","parseVmlPicture","propsTag","run","MmlRun","parseMathProperies","verticalJustification","hideDegree","beginChar","endChar","verticalAlign","valueOfVertAlign","VmlPicture","choice","requires","lookupNamespaceURI","includes","parseDrawingWrapper","Drawing","isAnchor","wrapType","simplePos","posX","relative","align","posY","pos","alignNode","offsetNode","sizeValue","g","parseGraphic","graphicData","parsePicture","Image","blipFill","blip","spPr","xfrm","Table","parseTableRow","parseTableColumns","parseTableProperties","table","cellStyle","classNameOftblLook","parseTablePosition","colBandSize","rowBandSize","topFromText","bottomFromText","rightFromText","leftFromText","addSize","Row","parseTableCell","parseTableRowProperties","row","isHeader","gridBefore","gridAfter","Cell","parseTableCellProperties","cell","span","verticalMerge","parseTableCellVerticalText","directionMap","btLr","writingMode","transform","lrTb","tbRl","direction","childStyle","handler","valueOfJc","valueOfTextAlignment","valueOfSize","parseTrHeight","parseUnderline","parseIndentation","parseBorderProperties","valueOfMargin","valueOfBorder","parseMarginProperties","valueOfTblLayout","parseSpacing","col","themeValue","filter","Set","join","firstLine","hanging","end","output","knownColors","cb","Node","ELEMENT_NODE","defValue","autoColor","themeColor","parseBorderType","_","asTagName","b","trim","defaultTab","updateTabStop","defaultTabSize","pixelToPoint","closest","ebb","getBoundingClientRect","pbb","pcs","getComputedStyle","tabStops","t","lengthToPoint","sort","lastTab","pWidthPt","marginLeft","pOffset","tab","querySelectorAll","nextIdx","indexOf","range","document","createRange","setStart","setEndBefore","setEndAfter","nextBB","innerHTML","textDecoration","wordSpacing","textDecorationStyle","HtmlRenderer","htmlDocument","styleMap","currentPart","tableVerticalMerges","currentVerticalMerge","tableCellPositions","currentCellPosition","footnoteMap","endnoteMap","currentEndnoteIds","usedHederFooterParts","currentTabs","tasks","postRenderTasks","render","bodyContainer","styleContainer","rootSelector","inWrapper","renderComments","globalThis","Highlight","commentHighlight","removeAllElements","appendChild","createComment","renderDefaultStyle","renderTheme","processStyles","renderStyles","prodessNumberings","renderNumbering","ignoreFonts","renderFontTable","sectionElements","renderSections","renderWrapper","appendChildren","CSS","highlights","set","allSettled","refreshTabStops","variables","k","entries","cssText","styleToString","createStyleElement","fontsPart","ref","then","fontData","cssValues","processStyleName","toLowerCase","escapeClassName","stylesMap","baseStyle","baseValues","styleValues","copyStyleProperties","cssName","findStyle","processElement","processTable","getOwnPropertyNames","hasOwnProperty","createPageElement","createElement","paddingLeft","paddingRight","paddingTop","paddingBottom","ignoreHeight","minHeight","createSectionContent","columnCount","columnGap","columnRule","sections","splitBySection","groupByPageBreaks","prevProps","currentFootnoteIds","sectProps","pageElement","renderStyleValues","renderHeaders","renderHeaderFooter","sect","contentElement","renderElements","renderFootnotes","renderNotes","renderEndnotes","renderFooters","refs","page","firstOfSection","into","marginTop","marginBottom","isPageBreakElement","ignoreLastRenderedPageBreak","isPageBreakSection","prev","defaultProps","current","pageBreak","pBreakIndex","rBreakIndex","breakPages","findIndex","bind","breakRun","splitRun","newParagraph","slice","runChildren","newRun","currentSectProps","wrapperStyle","hideWrapperOnPrint","styleText","resetCounters","numberingClass","listStyleType","valiable","display","counter","numberingCounter","counterReset","levelTextToContent","numFormatToCssValue","defautStyles","subStyles","linkedStyle","concat","subStyle","noteIds","notesMap","renderElement","renderParagraph","renderBookmarkStart","renderRun","renderTable","renderTableRow","renderTableCell","renderHyperlink","renderSmartTag","renderDrawing","renderImage","renderText","renderDeletedText","renderTab","renderSymbol","renderBreak","renderContainer","renderFootnoteReference","renderEndnoteReference","renderVmlPicture","renderVmlElement","renderContainerNS","xmlns","renderMmlGroupChar","renderMmlRadical","renderMmlDelimiter","renderMmlRun","renderMmlNary","renderMmlPreSubSuper","renderMmlBar","renderMllList","renderInserted","renderDeleted","renderCommentRangeStart","renderCommentRangeEnd","renderCommentReference","renderAltChunk","elems","flatMap","createElementNS","renderClass","renderCommonProperties","classList","add","renderRunProperties","href","it","commentStart","rng","Range","later","commentEnd","setEnd","commentRef","comment","frg","DocumentFragment","commentRefEl","commentsContainerEl","renderCommentContent","renderAltChunks","srcdoc","container","Date","toLocaleString","textIndent","createTextNode","renderChanges","tabSpan","experimental","tabStopClass","stops","findParent","wrapper","renderTableColumns","pop","colElem","renderTableCellPlaceholder","colSpan","rowSpan","createSvgElement","setAttribute","renderVmlChildElement","requestAnimationFrame","bb","getBBox","Math","ceil","y","degree","grouped","supElem","subElem","charElem","stubElem","ouput","lvl","selectors","numformat","none","decimal","lowerLetter","upperLetter","lowerRoman","upperRoman","decimalZero","aiueo","aiueoFullWidth","chineseCounting","chineseCountingThousand","chineseLegalSimplified","chosung","ideographDigital","ideographTraditional","ideographLegalTraditional","ideographZodiac","iroha","irohaFullWidth","japaneseCounting","japaneseDigitalTenThousand","japaneseLegal","thaiNumbers","koreanCounting","koreanDigital","koreanDigital2","hebrew1","hebrew2","hindiNumbers","ganada","taiwaneseCounting","taiwaneseCountingThousand","taiwaneseDigital","setTimeout","temp","offsetWidth","removeChild","computePixelToPoint","String","defaultOptions","parseAsync","userOptions","ops","renderDocument","renderer","window"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"docx-preview.min.js","sources":["../src/common/relationship.ts","../src/utils.ts","../src/document/common.ts","../src/parser/xml-parser.ts","../src/common/part.ts","../src/font-table/fonts.ts","../src/font-table/font-table.ts","../src/common/open-xml-package.ts","../src/document/document-part.ts","../src/document/border.ts","../src/document/section.ts","../src/document/dom.ts","../src/document/run.ts","../src/document/paragraph.ts","../src/document/line-spacing.ts","../src/numbering/numbering.ts","../src/numbering/numbering-part.ts","../src/styles/styles-part.ts","../src/header-footer/elements.ts","../src/header-footer/parts.ts","../src/document-props/extended-props.ts","../src/document-props/extended-props-part.ts","../src/document-props/core-props-part.ts","../src/document-props/core-props.ts","../src/theme/theme.ts","../src/theme/theme-part.ts","../src/notes/elements.ts","../src/notes/parts.ts","../src/settings/settings.ts","../src/settings/settings-part.ts","../src/document-props/custom-props-part.ts","../src/document-props/custom-props.ts","../src/comments/comments-part.ts","../src/comments/comments-extended-part.ts","../src/word-document.ts","../src/document/bookmarks.ts","../src/vml/vml.ts","../src/comments/elements.ts","../src/document-parser.ts","../src/javascript.ts","../src/html-renderer.ts","../src/docx-preview.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["RelationshipTypes","encloseFontFamily","fontFamily","test","splitPath","path","si","lastIndexOf","substring","resolvePath","base","prefix","URL","toString","length","keyBy","array","by","reduce","a","x","isObject","item","Array","isArray","mergeDeep","target","sources","source","shift","key","asArray","val","ns","LengthUsage","mul","unit","min","max","convertLength","usage","num","parseInt","clamp","toFixed","parseCommonProperty","elem","props","xml","namespaceURI","localName","color","attr","fontSize","lengthAttr","XmlParser","elements","result","i","l","childNodes","c","nodeType","Node","ELEMENT_NODE","push","element","elementAttr","attrLocalName","el","this","undefined","attrs","from","attributes","value","intAttr","node","attrName","defaultValue","hexAttr","floatAttr","parseFloat","boolAttr","v","convertBoolean","globalXmlParser","Part","constructor","_package","load","rels","loadRelationships","xmlText","xmlDoc","parseXmlDocument","options","keepOrigin","_xmlDocument","parseXml","firstElementChild","save","update","XMLSerializer","serializeToString","root","embedFontTypeMap","embedRegular","embedBold","embedItalic","embedBoldItalic","parseFonts","map","name","embedFontRefs","family","altName","parseEmbedFontRef","parseFont","id","type","FontTablePart","fonts","xmlParser","OpenXmlPackage","_zip","get","p","startsWith","substr","normalizePath","files","replace","content","file","input","zip","JSZip","loadAsync","generateAsync","async","Promise","resolve","relsPath","f","fn","txt","e","targetMode","xmlString","trimXmlDeclaration","data","charCodeAt","DOMParser","parseFromString","errorText","doc","getElementsByTagName","textContent","Error","parseXmlString","DocumentPart","pkg","parser","super","_documentParser","body","parseDocumentFile","parseBorder","size","offset","frame","shadow","parseBorders","left","top","right","bottom","SectionType","DomType","parseSectionProperties","section","pageSize","width","height","orientation","pageMargins","header","footer","gutter","columns","parseColumns","headerRefs","parseFooterHeaderReference","footerRefs","titlePage","pageBorders","pageNumber","parsePageNumber","numberOfColumns","space","separator","equalWidth","chapSep","chapStyle","format","start","parseRunProperties","parseRunProperty","parseParagraphProperties","parseParagraphProperty","tabs","position","leader","style","parseTabs","sectionProps","numbering","level","parseNumbering","lineSpacing","before","after","line","lineRule","parseLineSpacing","textAlignment","keepLines","keepNext","pageBreakBefore","outlineLevel","styleName","runProps","overrides","abstractId","parseNumberingLevelOverrride","parseAbstractNumbering","levels","multiLevelType","numberingStyleLink","styleLink","parseNumberingLevel","restart","text","justification","bulletPictureId","paragraphStyle","paragraphProps","numberingLevel","parseNumberingBulletPicture","pict","shape","imagedata","referenceId","NumberingPart","Object","assign","numberings","abstractNumberings","bulletPictures","parseNumberingPart","domNumberings","parseNumberingFile","StylesPart","styles","parseStylesFile","OpenXmlElementBase","children","cssStyle","WmlHeader","Header","WmlFooter","Footer","BaseHeaderFooterPart","rootElement","createRootElement","parseBodyElements","HeaderPart","FooterPart","safeParseToInt","ExtendedPropsPart","template","pages","words","characters","application","lines","paragraphs","company","appVersion","parseExtendedProps","CorePropsPart","title","description","subject","creator","keywords","language","lastModifiedBy","revision","parseCoreProps","DmlTheme","parseColorScheme","colors","srgbClr","sysClr","parseFontScheme","majorFont","parseFontInfo","minorFont","latinTypeface","eaTypeface","csTypeface","ThemePart","theme","themeElements","colorScheme","fontScheme","parseTheme","WmlBaseNote","WmlFootnote","Footnote","WmlEndnote","Endnote","BaseNotePart","FootnotesPart","notes","parseNotes","EndnotesPart","parseNoteProperties","defaultNoteIds","nummeringFormat","SettingsPart","settings","defaultTabStop","footnoteProps","endnoteProps","autoHyphenation","parseSettings","CustomPropsPart","firstChild","formatId","nodeName","parseCustomProps","CommentsPart","comments","parseComments","commentMap","CommentsExtendedPart","paraId","paraIdParent","done","topLevelRels","OfficeDocument","ExtendedProperties","CoreProperties","CustomProperties","WordDocument","parts","partsMap","blob","d","_options","_parser","all","rel","r","find","loadRelationshipPart","part","documentPart","FontTable","fontTablePart","Numbering","numberingPart","Styles","stylesPart","Theme","themePart","Footnotes","footnotesPart","Endnotes","endnotesPart","corePropsPart","extendedPropsPart","Settings","settingsPart","Comments","commentsPart","CommentsExtended","commentsExtendedPart","folder","loadDocumentImage","loadResource","blobToURL","loadNumberingImage","loadFont","Blob","deobfuscate","loadAltChunk","useBase64URL","reject","reader","FileReader","onloadend","onerror","readAsDataURL","blobToBase64","createObjectURL","findPartByRelId","basePart","getPathById","outputType","guidKey","trimmed","numbers","parseBookmarkStart","BookmarkStart","colFirst","colLast","parseBookmarkEnd","BookmarkEnd","VmlElement","parseVmlElement","tagName","cx","cy","rx","ry","at","cssStyleText","fill","x1","y1","parsePoint","x2","y2","parseStroke","parseFill","imageHref","child","stroke","split","WmlComment","Comment","WmlCommentReference","CommentReference","WmlCommentRangeStart","CommentRangeStart","WmlCommentRangeEnd","CommentRangeEnd","autos","supportedNamespaceURIs","mmlTagMap","oMath","MmlMath","oMathPara","MmlMathParagraph","MmlFraction","func","MmlFunction","fName","MmlFunctionName","MmlNumerator","den","MmlDenominator","rad","MmlRadical","deg","MmlDegree","MmlBase","sSup","MmlSuperscript","sSub","MmlSubscript","sPre","MmlPreSubSuper","sup","MmlSuperArgument","sub","MmlSubArgument","MmlDelimiter","nary","MmlNary","eqArr","MmlEquationArray","lim","MmlLimit","limLow","MmlLimitLower","m","MmlMatrix","mr","MmlMatrixRow","box","MmlBox","bar","MmlBar","groupChr","MmlGroupChar","DocumentParser","ignoreWidth","debug","elemName","elemClass","noteType","author","initials","date","xbody","background","sectPr","Document","parseBackground","xmlUtil","colorAttr","parseParagraph","parseAltChunk","parseTable","parseSdt","xstyles","n","parseStyle","parseDefaultStyles","basedOn","rPr","values","parseDefaultProperties","pPr","isDefault","linked","next","aliases","s","parseTableStyle","console","warn","selector","modificator","mod","mapping","bullets","forEach","parseNumberingPicBullet","numId","abstractNumId","src","pStyleName","pStyle","rStyle","suff","bulletId","bullet","levelText","sdtContent","parseInserted","parentParser","Inserted","parseDeleted","Deleted","AltChunk","Paragraph","parseRun","parseHyperlink","parseSmartTag","parseMathElement","paragraph","className","classNameOfCnfStyle","parseFrame","parent","Hyperlink","anchor","SmartTag","uri","Run","checkAlternateContent","Text","DeletedText","SimpleField","instruction","lock","dirty","fieldRun","Instruction","ComplexField","charType","NoBreakHyphen","Break","break","Symbol","font","char","Tab","FootnoteReference","EndnoteReference","parseDrawing","parseVmlPicture","propsTag","run","MmlRun","parseMathProperies","verticalJustification","hideDegree","beginChar","endChar","verticalAlign","valueOfVertAlign","VmlPicture","choice","requires","lookupNamespaceURI","includes","parseDrawingWrapper","Drawing","isAnchor","wrapType","simplePos","posX","relative","align","posY","pos","alignNode","offsetNode","g","parseGraphic","graphicData","parsePicture","Image","blipFill","blip","srcRect","spPr","xfrm","rotation","Table","parseTableRow","parseTableColumns","parseTableProperties","table","cellStyle","classNameOftblLook","parseTablePosition","colBandSize","rowBandSize","topFromText","bottomFromText","rightFromText","leftFromText","addSize","Row","parseTableCell","parseTableRowProperties","row","isHeader","gridBefore","gridAfter","Cell","parseTableCellProperties","cell","span","verticalMerge","parseTableCellVerticalText","directionMap","btLr","writingMode","transform","lrTb","tbRl","childStyle","handler","valueOfJc","valueOfTextAlignment","valueOfSize","parseTrHeight","parseUnderline","parseIndentation","parseBorderProperties","valueOfMargin","valueOfBorder","parseMarginProperties","valueOfTblLayout","parseSpacing","col","themeValue","filter","Set","join","firstLine","hanging","end","output","knownColors","defValue","autoColor","themeColor","parseBorderType","_","asTagName","b","trim","defaultTab","updateTabStop","defaultTabSize","pixelToPoint","closest","ebb","getBoundingClientRect","pbb","pcs","getComputedStyle","tabStops","t","lengthToPoint","sort","lastTab","pWidthPt","marginLeft","pOffset","tab","querySelectorAll","nextIdx","indexOf","range","document","createRange","setStart","setEndBefore","setEndAfter","nextBB","innerHTML","textDecoration","wordSpacing","textDecorationStyle","HtmlRenderer","htmlDocument","styleMap","currentPart","tableVerticalMerges","currentVerticalMerge","tableCellPositions","currentCellPosition","footnoteMap","endnoteMap","currentEndnoteIds","usedHederFooterParts","currentTabs","tasks","postRenderTasks","render","bodyContainer","styleContainer","rootSelector","inWrapper","renderComments","globalThis","Highlight","commentHighlight","removeAllElements","appendChild","createComment","renderDefaultStyle","renderTheme","processStyles","renderStyles","prodessNumberings","renderNumbering","ignoreFonts","renderFontTable","sectionElements","renderSections","renderWrapper","appendChildren","CSS","highlights","set","allSettled","refreshTabStops","variables","k","entries","cssText","styleToString","createStyleElement","fontsPart","ref","then","fontData","cssValues","processStyleName","toLowerCase","escapeClassName","stylesMap","baseStyle","baseValues","styleValues","copyStyleProperties","cssName","findStyle","processElement","processTable","getOwnPropertyNames","hasOwnProperty","createPageElement","createElement","paddingLeft","paddingRight","paddingTop","paddingBottom","ignoreHeight","minHeight","createSectionContent","columnCount","columnGap","columnRule","sections","splitBySection","groupByPageBreaks","prevProps","currentFootnoteIds","sectProps","pageElement","renderStyleValues","renderHeaders","renderHeaderFooter","sect","contentElement","renderElements","renderFootnotes","renderNotes","renderEndnotes","renderFooters","refs","page","firstOfSection","into","marginTop","marginBottom","isPageBreakElement","ignoreLastRenderedPageBreak","isPageBreakSection","prev","defaultProps","current","pageBreak","pBreakIndex","rBreakIndex","breakPages","findIndex","bind","breakRun","splitRun","newParagraph","slice","runChildren","newRun","currentSectProps","wrapperStyle","hideWrapperOnPrint","styleText","resetCounters","numberingClass","listStyleType","valiable","display","counter","numberingCounter","counterReset","levelTextToContent","numFormatToCssValue","defautStyles","subStyles","linkedStyle","concat","subStyle","noteIds","notesMap","renderElement","renderParagraph","renderBookmarkStart","renderRun","renderTable","renderTableRow","renderTableCell","renderHyperlink","renderSmartTag","renderDrawing","renderImage","renderText","renderDeletedText","renderTab","renderSymbol","renderBreak","renderContainer","renderFootnoteReference","renderEndnoteReference","renderVmlPicture","renderVmlElement","renderContainerNS","xmlns","renderMmlGroupChar","renderMmlRadical","renderMmlDelimiter","renderMmlRun","renderMmlNary","renderMmlPreSubSuper","renderMmlBar","renderMllList","renderInserted","renderDeleted","renderCommentRangeStart","renderCommentRangeEnd","renderCommentReference","renderAltChunk","elems","flatMap","createElementNS","renderClass","renderCommonProperties","classList","add","renderRunProperties","href","it","commentStart","rng","Range","later","commentEnd","setEnd","commentRef","comment","frg","DocumentFragment","commentRefEl","commentsContainerEl","renderCommentContent","renderAltChunks","srcdoc","container","Date","toLocaleString","textIndent","some","createTextNode","renderChanges","tabSpan","experimental","tabStopClass","stops","findParent","wrapper","renderTableColumns","pop","colElem","renderTableCellPlaceholder","colSpan","rowSpan","createSvgElement","setAttribute","renderVmlChildElement","requestAnimationFrame","bb","getBBox","Math","ceil","y","degree","grouped","supElem","subElem","charElem","stubElem","ouput","lvl","selectors","numformat","none","decimal","lowerLetter","upperLetter","lowerRoman","upperRoman","decimalZero","aiueo","aiueoFullWidth","chineseCounting","chineseCountingThousand","chineseLegalSimplified","chosung","ideographDigital","ideographTraditional","ideographLegalTraditional","ideographZodiac","iroha","irohaFullWidth","japaneseCounting","japaneseDigitalTenThousand","japaneseLegal","thaiNumbers","koreanCounting","koreanDigital","koreanDigital2","hebrew1","hebrew2","hindiNumbers","ganada","taiwaneseCounting","taiwaneseCountingThousand","taiwaneseDigital","setTimeout","temp","offsetWidth","removeChild","computePixelToPoint","String","defaultOptions","parseAsync","userOptions","ops","renderDocument","renderer","window"],"mappings":"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"} \ No newline at end of file diff --git a/docxjs/dist/docx-preview.min.mjs b/docxjs/dist/docx-preview.min.mjs index fc0deb1..39e7832 100644 --- a/docxjs/dist/docx-preview.min.mjs +++ b/docxjs/dist/docx-preview.min.mjs @@ -1,2 +1,8 @@ -import e from"jszip";var t;function r(e){return/^[^"'].*\s.*[^"']$/.test(e)?`'${e}'`:e}function a(e){let t=e.lastIndexOf("/")+1;return[0==t?"":e.substring(0,t),0==t?e:e.substring(t)]}function s(e,t){try{const r="http://docx/";return new URL(e,r+t).toString().substring(r.length)}catch{return`${t}${e}`}}function n(e,t){return e.reduce(((e,r)=>(e[t(r)]=r,e)),{})}function l(e){return e&&"object"==typeof e&&!Array.isArray(e)}function o(e,...t){if(!t.length)return e;const r=t.shift();if(l(e)&&l(r))for(const t in r)if(l(r[t])){o(e[t]??(e[t]={}),r[t])}else e[t]=r[t];return o(e,...t)}function i(e){return Array.isArray(e)?e:[e]}!function(e){e.OfficeDocument="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",e.FontTable="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",e.Image="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",e.Numbering="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",e.Styles="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",e.StylesWithEffects="http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects",e.Theme="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",e.Settings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",e.WebSettings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",e.Hyperlink="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e.Footnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",e.Endnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",e.Footer="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",e.Header="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",e.ExtendedProperties="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",e.CoreProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",e.CustomProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties",e.Comments="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",e.CommentsExtended="http://schemas.microsoft.com/office/2011/relationships/commentsExtended",e.AltChunk="http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk"}(t||(t={}));const c={wordml:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",drawingml:"http://schemas.openxmlformats.org/drawingml/2006/main",picture:"http://schemas.openxmlformats.org/drawingml/2006/picture",compatibility:"http://schemas.openxmlformats.org/markup-compatibility/2006",math:"http://schemas.openxmlformats.org/officeDocument/2006/math"},h={Dxa:{mul:.05,unit:"pt"},Emu:{mul:1/12700,unit:"pt"},FontSize:{mul:.5,unit:"pt"},Border:{mul:.125,unit:"pt",min:.25,max:12},Point:{mul:1,unit:"pt"},Percent:{mul:.02,unit:"%"},LineHeight:{mul:1/240,unit:""},VmlEmu:{mul:1/12700,unit:""}};function m(e,t=h.Dxa){if(null==e||/.+(p[xt]|[%])$/.test(e))return e;var r=parseInt(e)*t.mul;return t.min&&t.max&&(r=function(e,t,r){return t>e?t:rfunction(e,t){let r={name:t.attr(e,"name"),embedFontRefs:[]};for(let a of t.elements(e))switch(a.localName){case"family":r.family=t.attr(a,"val");break;case"altName":r.altName=t.attr(a,"val");break;case"embedRegular":case"embedBold":case"embedItalic":case"embedBoldItalic":r.embedFontRefs.push(y(a,t))}return r}(e,t)))}function y(e,t){return{id:t.attr(e,"id"),key:t.attr(e,"fontKey"),type:f[e.localName]}}class k extends g{parseXml(e){this.fonts=b(e,this._package.xmlParser)}}class v{constructor(e,t){this._zip=e,this.options=t,this.xmlParser=new p}get(e){const t=function(e){return e.startsWith("/")?e.substr(1):e}(e);return this._zip.files[t]??this._zip.files[t.replace(/\//g,"\\")]}update(e,t){this._zip.file(e,t)}static async load(t,r){const a=await e.loadAsync(t);return new v(a,r)}save(e="blob"){return this._zip.generateAsync({type:e})}load(e,t="string"){return this.get(e)?.async(t)??Promise.resolve(null)}async loadRelationships(e=null){let t="_rels/.rels";if(null!=e){const[r,s]=a(e);t=`${r}_rels/${s}.rels`}const r=await this.load(t);return r?(s=this.parseXmlDocument(r).firstElementChild,(n=this.xmlParser).elements(s).map((e=>({id:n.attr(e,"Id"),type:n.attr(e,"Type"),target:n.attr(e,"Target"),targetMode:n.attr(e,"TargetMode")})))):null;var s,n}parseXmlDocument(e){return function(e,t=!1){var r;t&&(e=e.replace(/<[?].*[?]>/,"")),e=65279===(r=e).charCodeAt(0)?r.substring(1):r;const a=(new DOMParser).parseFromString(e,"application/xml"),s=(n=a,n.getElementsByTagName("parsererror")[0]?.textContent);var n;if(s)throw new Error(s);return a}(e,this.options.trimXmlDeclaration)}}class S extends g{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.body=this._documentParser.parseDocumentFile(e)}}function P(e,t){return{type:t.attr(e,"val"),color:t.attr(e,"color"),size:t.lengthAttr(e,"sz",h.Border),offset:t.lengthAttr(e,"space",h.Point),frame:t.boolAttr(e,"frame"),shadow:t.boolAttr(e,"shadow")}}function w(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"left":r.left=P(a,t);break;case"top":r.top=P(a,t);break;case"right":r.right=P(a,t);break;case"bottom":r.bottom=P(a,t)}return r}var C,x;function N(e,t=d){var r={};for(let a of t.elements(e))switch(a.localName){case"pgSz":r.pageSize={width:t.lengthAttr(a,"w"),height:t.lengthAttr(a,"h"),orientation:t.attr(a,"orient")};break;case"type":r.type=t.attr(a,"val");break;case"pgMar":r.pageMargins={left:t.lengthAttr(a,"left"),right:t.lengthAttr(a,"right"),top:t.lengthAttr(a,"top"),bottom:t.lengthAttr(a,"bottom"),header:t.lengthAttr(a,"header"),footer:t.lengthAttr(a,"footer"),gutter:t.lengthAttr(a,"gutter")};break;case"cols":r.columns=M(a,t);break;case"headerReference":(r.headerRefs??(r.headerRefs=[])).push(A(a,t));break;case"footerReference":(r.footerRefs??(r.footerRefs=[])).push(A(a,t));break;case"titlePg":r.titlePage=t.boolAttr(a,"val",!0);break;case"pgBorders":r.pageBorders=w(a,t);break;case"pgNumType":r.pageNumber=E(a,t)}return r}function M(e,t){return{numberOfColumns:t.intAttr(e,"num"),space:t.lengthAttr(e,"space"),separator:t.boolAttr(e,"sep"),equalWidth:t.boolAttr(e,"equalWidth",!0),columns:t.elements(e,"col").map((e=>({width:t.lengthAttr(e,"w"),space:t.lengthAttr(e,"space")})))}}function E(e,t){return{chapSep:t.attr(e,"chapSep"),chapStyle:t.attr(e,"chapStyle"),format:t.attr(e,"fmt"),start:t.intAttr(e,"start")}}function A(e,t){return{id:t.attr(e,"id"),type:t.attr(e,"type")}}function T(e,t){let r={};for(let a of t.elements(e))R(a,r,t);return r}function R(e,t,r){return!!u(e,t,r)}function D(e,t){let r={};for(let a of t.elements(e))B(a,r,t);return r}function B(e,t,r){if(e.namespaceURI!=c.wordml)return!1;if(u(e,t,r))return!0;switch(e.localName){case"tabs":t.tabs=function(e,t){return t.elements(e,"tab").map((e=>({position:t.lengthAttr(e,"pos"),leader:t.attr(e,"leader"),style:t.attr(e,"val")})))}(e,r);break;case"sectPr":t.sectionProps=N(e,r);break;case"numPr":t.numbering=function(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"numId":r.id=t.attr(a,"val");break;case"ilvl":r.level=t.intAttr(a,"val")}return r}(e,r);break;case"spacing":return t.lineSpacing=function(e,t){return{before:t.lengthAttr(e,"before"),after:t.lengthAttr(e,"after"),line:t.intAttr(e,"line"),lineRule:t.attr(e,"lineRule")}}(e,r),!1;case"textAlignment":return t.textAlignment=r.attr(e,"val"),!1;case"keepLines":t.keepLines=r.boolAttr(e,"val",!0);break;case"keepNext":t.keepNext=r.boolAttr(e,"val",!0);break;case"pageBreakBefore":t.pageBreakBefore=r.boolAttr(e,"val",!0);break;case"outlineLvl":t.outlineLevel=r.intAttr(e,"val");break;case"pStyle":t.styleName=r.attr(e,"val");break;case"rPr":t.runProps=T(e,r);break;default:return!1}return!0}function $(e,t){let r={id:t.attr(e,"numId"),overrides:[]};for(let a of t.elements(e))switch(a.localName){case"abstractNumId":r.abstractId=t.attr(a,"val");break;case"lvlOverride":r.overrides.push(I(a,t))}return r}function F(e,t){let r={id:t.attr(e,"abstractNumId"),levels:[]};for(let a of t.elements(e))switch(a.localName){case"name":r.name=t.attr(a,"val");break;case"multiLevelType":r.multiLevelType=t.attr(a,"val");break;case"numStyleLink":r.numberingStyleLink=t.attr(a,"val");break;case"styleLink":r.styleLink=t.attr(a,"val");break;case"lvl":r.levels.push(L(a,t))}return r}function L(e,t){let r={level:t.intAttr(e,"ilvl")};for(let a of t.elements(e))switch(a.localName){case"start":r.start=t.attr(a,"val");break;case"lvlRestart":r.restart=t.intAttr(a,"val");break;case"numFmt":r.format=t.attr(a,"val");break;case"lvlText":r.text=t.attr(a,"val");break;case"lvlJc":r.justification=t.attr(a,"val");break;case"lvlPicBulletId":r.bulletPictureId=t.attr(a,"val");break;case"pStyle":r.paragraphStyle=t.attr(a,"val");break;case"pPr":r.paragraphProps=D(a,t);break;case"rPr":r.runProps=T(a,t)}return r}function I(e,t){let r={level:t.intAttr(e,"ilvl")};for(let a of t.elements(e))switch(a.localName){case"startOverride":r.start=t.intAttr(a,"val");break;case"lvl":r.numberingLevel=L(a,t)}return r}function O(e,t){var r=t.element(e,"pict"),a=r&&t.element(r,"shape"),s=a&&t.element(a,"imagedata");return s?{id:t.attr(e,"numPicBulletId"),referenceId:t.attr(s,"id"),style:t.attr(a,"style")}:null}!function(e){e.Continuous="continuous",e.NextPage="nextPage",e.NextColumn="nextColumn",e.EvenPage="evenPage",e.OddPage="oddPage"}(C||(C={}));class H extends g{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){Object.assign(this,function(e,t){let r={numberings:[],abstractNumberings:[],bulletPictures:[]};for(let a of t.elements(e))switch(a.localName){case"num":r.numberings.push($(a,t));break;case"abstractNum":r.abstractNumberings.push(F(a,t));break;case"numPicBullet":r.bulletPictures.push(O(a,t))}return r}(e,this._package.xmlParser)),this.domNumberings=this._documentParser.parseNumberingFile(e)}}class _ extends g{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.styles=this._documentParser.parseStylesFile(e)}}!function(e){e.Document="document",e.Paragraph="paragraph",e.Run="run",e.Break="break",e.NoBreakHyphen="noBreakHyphen",e.Table="table",e.Row="row",e.Cell="cell",e.Hyperlink="hyperlink",e.SmartTag="smartTag",e.Drawing="drawing",e.Image="image",e.Text="text",e.Tab="tab",e.Symbol="symbol",e.BookmarkStart="bookmarkStart",e.BookmarkEnd="bookmarkEnd",e.Footer="footer",e.Header="header",e.FootnoteReference="footnoteReference",e.EndnoteReference="endnoteReference",e.Footnote="footnote",e.Endnote="endnote",e.SimpleField="simpleField",e.ComplexField="complexField",e.Instruction="instruction",e.VmlPicture="vmlPicture",e.MmlMath="mmlMath",e.MmlMathParagraph="mmlMathParagraph",e.MmlFraction="mmlFraction",e.MmlFunction="mmlFunction",e.MmlFunctionName="mmlFunctionName",e.MmlNumerator="mmlNumerator",e.MmlDenominator="mmlDenominator",e.MmlRadical="mmlRadical",e.MmlBase="mmlBase",e.MmlDegree="mmlDegree",e.MmlSuperscript="mmlSuperscript",e.MmlSubscript="mmlSubscript",e.MmlPreSubSuper="mmlPreSubSuper",e.MmlSubArgument="mmlSubArgument",e.MmlSuperArgument="mmlSuperArgument",e.MmlNary="mmlNary",e.MmlDelimiter="mmlDelimiter",e.MmlRun="mmlRun",e.MmlEquationArray="mmlEquationArray",e.MmlLimit="mmlLimit",e.MmlLimitLower="mmlLimitLower",e.MmlMatrix="mmlMatrix",e.MmlMatrixRow="mmlMatrixRow",e.MmlBox="mmlBox",e.MmlBar="mmlBar",e.MmlGroupChar="mmlGroupChar",e.VmlElement="vmlElement",e.Inserted="inserted",e.Deleted="deleted",e.DeletedText="deletedText",e.Comment="comment",e.CommentReference="commentReference",e.CommentRangeStart="commentRangeStart",e.CommentRangeEnd="commentRangeEnd",e.AltChunk="altChunk"}(x||(x={}));class z{constructor(){this.children=[],this.cssStyle={}}}class V extends z{constructor(){super(...arguments),this.type=x.Header}}class j extends z{constructor(){super(...arguments),this.type=x.Footer}}class W extends g{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.rootElement=this.createRootElement(),this.rootElement.children=this._documentParser.parseBodyElements(e)}}class X extends W{createRootElement(){return new V}}class G extends W{createRootElement(){return new j}}function U(e){if(void 0!==e)return parseInt(e)}class q extends g{parseXml(e){this.props=function(e,t){const r={};for(let a of t.elements(e))switch(a.localName){case"Template":r.template=a.textContent;break;case"Pages":r.pages=U(a.textContent);break;case"Words":r.words=U(a.textContent);break;case"Characters":r.characters=U(a.textContent);break;case"Application":r.application=a.textContent;break;case"Lines":r.lines=U(a.textContent);break;case"Paragraphs":r.paragraphs=U(a.textContent);break;case"Company":r.company=a.textContent;break;case"AppVersion":r.appVersion=a.textContent}return r}(e,this._package.xmlParser)}}class J extends g{parseXml(e){this.props=function(e,t){const r={};for(let a of t.elements(e))switch(a.localName){case"title":r.title=a.textContent;break;case"description":r.description=a.textContent;break;case"subject":r.subject=a.textContent;break;case"creator":r.creator=a.textContent;break;case"keywords":r.keywords=a.textContent;break;case"language":r.language=a.textContent;break;case"lastModifiedBy":r.lastModifiedBy=a.textContent;break;case"revision":a.textContent&&(r.revision=parseInt(a.textContent))}return r}(e,this._package.xmlParser)}}class Z{}function K(e,t){var r={name:t.attr(e,"name"),colors:{}};for(let n of t.elements(e)){var a=t.element(n,"srgbClr"),s=t.element(n,"sysClr");a?r.colors[n.localName]=t.attr(a,"val"):s&&(r.colors[n.localName]=t.attr(s,"lastClr"))}return r}function Y(e,t){var r={name:t.attr(e,"name")};for(let a of t.elements(e))switch(a.localName){case"majorFont":r.majorFont=Q(a,t);break;case"minorFont":r.minorFont=Q(a,t)}return r}function Q(e,t){return{latinTypeface:t.elementAttr(e,"latin","typeface"),eaTypeface:t.elementAttr(e,"ea","typeface"),csTypeface:t.elementAttr(e,"cs","typeface")}}class ee extends g{constructor(e,t){super(e,t)}parseXml(e){this.theme=function(e,t){var r=new Z,a=t.element(e,"themeElements");for(let e of t.elements(a))switch(e.localName){case"clrScheme":r.colorScheme=K(e,t);break;case"fontScheme":r.fontScheme=Y(e,t)}return r}(e,this._package.xmlParser)}}class te{}class re extends te{constructor(){super(...arguments),this.type=x.Footnote}}class ae extends te{constructor(){super(...arguments),this.type=x.Endnote}}class se extends g{constructor(e,t,r){super(e,t),this._documentParser=r}}class ne extends se{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"footnote",re)}}class le extends se{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"endnote",ae)}}function oe(e,t){var r={defaultNoteIds:[]};for(let a of t.elements(e))switch(a.localName){case"numFmt":r.nummeringFormat=t.attr(a,"val");break;case"footnote":case"endnote":r.defaultNoteIds.push(t.attr(a,"id"))}return r}class ie extends g{constructor(e,t){super(e,t)}parseXml(e){this.settings=function(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"defaultTabStop":r.defaultTabStop=t.lengthAttr(a,"val");break;case"footnotePr":r.footnoteProps=oe(a,t);break;case"endnotePr":r.endnoteProps=oe(a,t);break;case"autoHyphenation":r.autoHyphenation=t.boolAttr(a,"val")}return r}(e,this._package.xmlParser)}}class ce extends g{parseXml(e){this.props=function(e,t){return t.elements(e,"property").map((e=>{const r=e.firstChild;return{formatId:t.attr(e,"fmtid"),name:t.attr(e,"name"),type:r.nodeName,value:r.textContent}}))}(e,this._package.xmlParser)}}class he extends g{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.comments=this._documentParser.parseComments(e),this.commentMap=n(this.comments,(e=>e.id))}}class me extends g{constructor(e,t){super(e,t),this.comments=[]}parseXml(e){const t=this._package.xmlParser;for(let r of t.elements(e,"commentEx"))this.comments.push({paraId:t.attr(r,"paraId"),paraIdParent:t.attr(r,"paraIdParent"),done:t.boolAttr(r,"done")});this.commentMap=n(this.comments,(e=>e.paraId))}}const ue=[{type:t.OfficeDocument,target:"word/document.xml"},{type:t.ExtendedProperties,target:"docProps/app.xml"},{type:t.CoreProperties,target:"docProps/core.xml"},{type:t.CustomProperties,target:"docProps/custom.xml"}];class pe{constructor(){this.parts=[],this.partsMap={}}static async load(e,t,r){var a=new pe;return a._options=r,a._parser=t,a._package=await v.load(e,r),a.rels=await a._package.loadRelationships(),await Promise.all(ue.map((e=>{const t=a.rels.find((t=>t.type===e.type))??e;return a.loadRelationshipPart(t.target,t.type)}))),a}save(e="blob"){return this._package.save(e)}async loadRelationshipPart(e,r){if(this.partsMap[e])return this.partsMap[e];if(!this._package.get(e))return null;let n=null;switch(r){case t.OfficeDocument:this.documentPart=n=new S(this._package,e,this._parser);break;case t.FontTable:this.fontTablePart=n=new k(this._package,e);break;case t.Numbering:this.numberingPart=n=new H(this._package,e,this._parser);break;case t.Styles:this.stylesPart=n=new _(this._package,e,this._parser);break;case t.Theme:this.themePart=n=new ee(this._package,e);break;case t.Footnotes:this.footnotesPart=n=new ne(this._package,e,this._parser);break;case t.Endnotes:this.endnotesPart=n=new le(this._package,e,this._parser);break;case t.Footer:n=new G(this._package,e,this._parser);break;case t.Header:n=new X(this._package,e,this._parser);break;case t.CoreProperties:this.corePropsPart=n=new J(this._package,e);break;case t.ExtendedProperties:this.extendedPropsPart=n=new q(this._package,e);break;case t.CustomProperties:n=new ce(this._package,e);break;case t.Settings:this.settingsPart=n=new ie(this._package,e);break;case t.Comments:this.commentsPart=n=new he(this._package,e,this._parser);break;case t.CommentsExtended:this.commentsExtendedPart=n=new me(this._package,e)}if(null==n)return Promise.resolve(null);if(this.partsMap[e]=n,this.parts.push(n),await n.load(),n.rels?.length>0){const[e]=a(n.path);await Promise.all(n.rels.map((t=>this.loadRelationshipPart(s(t.target,e),t.type))))}return n}async loadDocumentImage(e,t){const r=await this.loadResource(t??this.documentPart,e,"blob");return this.blobToURL(r)}async loadNumberingImage(e){const t=await this.loadResource(this.numberingPart,e,"blob");return this.blobToURL(t)}async loadFont(e,t){const r=await this.loadResource(this.fontTablePart,e,"uint8array");return r?this.blobToURL(new Blob([de(r,t)])):r}async loadAltChunk(e,t){return await this.loadResource(t??this.documentPart,e,"string")}blobToURL(e){return e?this._options.useBase64URL?function(e){return new Promise(((t,r)=>{const a=new FileReader;a.onloadend=()=>t(a.result),a.onerror=()=>r(),a.readAsDataURL(e)}))}(e):URL.createObjectURL(e):null}findPartByRelId(e,t=null){var r=(t.rels??this.rels).find((t=>t.id==e));const n=t?a(t.path)[0]:"";return r?this.partsMap[s(r.target,n)]:null}getPathById(e,t){const r=e.rels.find((e=>e.id==t)),[n]=a(e.path);return r?s(r.target,n):null}loadResource(e,t,r){const a=this.getPathById(e,t);return a?this._package.load(a,r):Promise.resolve(null)}}function de(e,t){const r=t.replace(/{|}|-/g,""),a=new Array(16);for(let e=0;e<16;e++)a[16-e-1]=parseInt(r.substr(2*e,2),16);for(let t=0;t<32;t++)e[t]=e[t]^a[t%16];return e}function ge(e,t){return{type:x.BookmarkEnd,id:t.attr(e,"id")}}class fe extends z{constructor(){super(...arguments),this.type=x.VmlElement,this.attrs={}}}function be(e,t){var r=new fe;switch(e.localName){case"rect":r.tagName="rect",Object.assign(r.attrs,{width:"100%",height:"100%"});break;case"oval":r.tagName="ellipse",Object.assign(r.attrs,{cx:"50%",cy:"50%",rx:"50%",ry:"50%"});break;case"line":r.tagName="line";break;case"shape":r.tagName="g";break;case"textbox":r.tagName="foreignObject",Object.assign(r.attrs,{width:"100%",height:"100%"});break;default:return null}for(const t of d.attrs(e))switch(t.localName){case"style":r.cssStyleText=t.value;break;case"fillcolor":r.attrs.fill=t.value;break;case"from":const[e,a]=ke(t.value);Object.assign(r.attrs,{x1:e,y1:a});break;case"to":const[s,n]=ke(t.value);Object.assign(r.attrs,{x2:s,y2:n})}for(const a of d.elements(e))switch(a.localName){case"stroke":Object.assign(r.attrs,ye(a));break;case"fill":Object.assign(r.attrs,{});break;case"imagedata":r.tagName="image",Object.assign(r.attrs,{width:"100%",height:"100%"}),r.imageHref={id:d.attr(a,"id"),title:d.attr(a,"title")};break;case"txbxContent":r.children.push(...t.parseBodyElements(a));break;default:const e=be(a,t);e&&r.children.push(e)}return r}function ye(e){return{stroke:d.attr(e,"color"),"stroke-width":d.lengthAttr(e,"weight",h.Emu)??"1px"}}function ke(e){return e.split(",")}class ve extends z{constructor(){super(...arguments),this.type=x.Comment}}class Se extends z{constructor(e){super(),this.id=e,this.type=x.CommentReference}}class Pe extends z{constructor(e){super(),this.id=e,this.type=x.CommentRangeStart}}class we extends z{constructor(e){super(),this.id=e,this.type=x.CommentRangeEnd}}var Ce="inherit",xe="black",Ne="black",Me="transparent";const Ee=[],Ae={oMath:x.MmlMath,oMathPara:x.MmlMathParagraph,f:x.MmlFraction,func:x.MmlFunction,fName:x.MmlFunctionName,num:x.MmlNumerator,den:x.MmlDenominator,rad:x.MmlRadical,deg:x.MmlDegree,e:x.MmlBase,sSup:x.MmlSuperscript,sSub:x.MmlSubscript,sPre:x.MmlPreSubSuper,sup:x.MmlSuperArgument,sub:x.MmlSubArgument,d:x.MmlDelimiter,nary:x.MmlNary,eqArr:x.MmlEquationArray,lim:x.MmlLimit,limLow:x.MmlLimitLower,m:x.MmlMatrix,mr:x.MmlMatrixRow,box:x.MmlBox,bar:x.MmlBar,groupChr:x.MmlGroupChar};class Te{constructor(e){this.options={ignoreWidth:!1,debug:!1,...e}}parseNotes(e,t,r){var a=[];for(let s of d.elements(e,t)){const e=new r;e.id=d.attr(s,"id"),e.noteType=d.attr(s,"type"),e.children=this.parseBodyElements(s),a.push(e)}return a}parseComments(e){var t=[];for(let r of d.elements(e,"comment")){const e=new ve;e.id=d.attr(r,"id"),e.author=d.attr(r,"author"),e.initials=d.attr(r,"initials"),e.date=d.attr(r,"date"),e.children=this.parseBodyElements(r),t.push(e)}return t}parseDocumentFile(e){var t=d.element(e,"body"),r=d.element(e,"background"),a=d.element(t,"sectPr");return{type:x.Document,children:this.parseBodyElements(t),props:a?N(a,d):{},cssStyle:r?this.parseBackground(r):{}}}parseBackground(e){var t={},r=De.colorAttr(e,"color");return r&&(t["background-color"]=r),t}parseBodyElements(e){var t=[];for(let r of d.elements(e))switch(r.localName){case"p":t.push(this.parseParagraph(r));break;case"altChunk":t.push(this.parseAltChunk(r));break;case"tbl":t.push(this.parseTable(r));break;case"sdt":t.push(...this.parseSdt(r,(e=>this.parseBodyElements(e))))}return t}parseStylesFile(e){var t=[];return De.foreach(e,(e=>{switch(e.localName){case"style":t.push(this.parseStyle(e));break;case"docDefaults":t.push(this.parseDefaultStyles(e))}})),t}parseDefaultStyles(e){var t={id:null,name:null,target:null,basedOn:null,styles:[]};return De.foreach(e,(e=>{switch(e.localName){case"rPrDefault":var r=d.element(e,"rPr");r&&t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})});break;case"pPrDefault":var a=d.element(e,"pPr");a&&t.styles.push({target:"p",values:this.parseDefaultProperties(a,{})})}})),t}parseStyle(e){var t={id:d.attr(e,"styleId"),isDefault:d.boolAttr(e,"default"),name:null,target:null,basedOn:null,styles:[],linked:null};switch(d.attr(e,"type")){case"paragraph":t.target="p";break;case"table":t.target="table";break;case"character":t.target="span"}return De.foreach(e,(e=>{switch(e.localName){case"basedOn":t.basedOn=d.attr(e,"val");break;case"name":t.name=d.attr(e,"val");break;case"link":t.linked=d.attr(e,"val");break;case"next":t.next=d.attr(e,"val");break;case"aliases":t.aliases=d.attr(e,"val").split(",");break;case"pPr":t.styles.push({target:"p",values:this.parseDefaultProperties(e,{})}),t.paragraphProps=D(e,d);break;case"rPr":t.styles.push({target:"span",values:this.parseDefaultProperties(e,{})}),t.runProps=T(e,d);break;case"tblPr":case"tcPr":t.styles.push({target:"td",values:this.parseDefaultProperties(e,{})});break;case"tblStylePr":for(let r of this.parseTableStyle(e))t.styles.push(r);break;case"rsid":case"qFormat":case"hidden":case"semiHidden":case"unhideWhenUsed":case"autoRedefine":case"uiPriority":break;default:this.options.debug&&console.warn(`DOCX: Unknown style element: ${e.localName}`)}})),t}parseTableStyle(e){var t=[],r=d.attr(e,"type"),a="",s="";switch(r){case"firstRow":s=".first-row",a="tr.first-row td";break;case"lastRow":s=".last-row",a="tr.last-row td";break;case"firstCol":s=".first-col",a="td.first-col";break;case"lastCol":s=".last-col",a="td.last-col";break;case"band1Vert":s=":not(.no-vband)",a="td.odd-col";break;case"band2Vert":s=":not(.no-vband)",a="td.even-col";break;case"band1Horz":s=":not(.no-hband)",a="tr.odd-row";break;case"band2Horz":s=":not(.no-hband)",a="tr.even-row";break;default:return[]}return De.foreach(e,(e=>{switch(e.localName){case"pPr":t.push({target:`${a} p`,mod:s,values:this.parseDefaultProperties(e,{})});break;case"rPr":t.push({target:`${a} span`,mod:s,values:this.parseDefaultProperties(e,{})});break;case"tblPr":case"tcPr":t.push({target:a,mod:s,values:this.parseDefaultProperties(e,{})})}})),t}parseNumberingFile(e){var t=[],r={},a=[];return De.foreach(e,(e=>{switch(e.localName){case"abstractNum":this.parseAbstractNumbering(e,a).forEach((e=>t.push(e)));break;case"numPicBullet":a.push(this.parseNumberingPicBullet(e));break;case"num":var s=d.attr(e,"numId"),n=d.elementAttr(e,"abstractNumId","val");r[n]=s}})),t.forEach((e=>e.id=r[e.id])),t}parseNumberingPicBullet(e){var t=d.element(e,"pict"),r=t&&d.element(t,"shape"),a=r&&d.element(r,"imagedata");return a?{id:d.intAttr(e,"numPicBulletId"),src:d.attr(a,"id"),style:d.attr(r,"style")}:null}parseAbstractNumbering(e,t){var r=[],a=d.attr(e,"abstractNumId");return De.foreach(e,(e=>{if("lvl"===e.localName)r.push(this.parseNumberingLevel(a,e,t))})),r}parseNumberingLevel(e,t,r){var a={id:e,level:d.intAttr(t,"ilvl"),start:1,pStyleName:void 0,pStyle:{},rStyle:{},suff:"tab"};return De.foreach(t,(e=>{switch(e.localName){case"start":a.start=d.intAttr(e,"val");break;case"pPr":this.parseDefaultProperties(e,a.pStyle);break;case"rPr":this.parseDefaultProperties(e,a.rStyle);break;case"lvlPicBulletId":var t=d.intAttr(e,"val");a.bullet=r.find((e=>e?.id==t));break;case"lvlText":a.levelText=d.attr(e,"val");break;case"pStyle":a.pStyleName=d.attr(e,"val");break;case"numFmt":a.format=d.attr(e,"val");break;case"suff":a.suff=d.attr(e,"val")}})),a}parseSdt(e,t){const r=d.element(e,"sdtContent");return r?t(r):[]}parseInserted(e,t){return{type:x.Inserted,children:t(e)?.children??[]}}parseDeleted(e,t){return{type:x.Deleted,children:t(e)?.children??[]}}parseAltChunk(e){return{type:x.AltChunk,children:[],id:d.attr(e,"id")}}parseParagraph(e){var t,r,a={type:x.Paragraph,children:[]};for(let s of d.elements(e))switch(s.localName){case"pPr":this.parseParagraphProperties(s,a);break;case"r":a.children.push(this.parseRun(s,a));break;case"hyperlink":a.children.push(this.parseHyperlink(s,a));break;case"smartTag":a.children.push(this.parseSmartTag(s,a));break;case"bookmarkStart":a.children.push((t=s,r=d,{type:x.BookmarkStart,id:r.attr(t,"id"),name:r.attr(t,"name"),colFirst:r.intAttr(t,"colFirst"),colLast:r.intAttr(t,"colLast")}));break;case"bookmarkEnd":a.children.push(ge(s,d));break;case"commentRangeStart":a.children.push(new Pe(d.attr(s,"id")));break;case"commentRangeEnd":a.children.push(new we(d.attr(s,"id")));break;case"oMath":case"oMathPara":a.children.push(this.parseMathElement(s));break;case"sdt":a.children.push(...this.parseSdt(s,(e=>this.parseParagraph(e).children)));break;case"ins":a.children.push(this.parseInserted(s,(e=>this.parseParagraph(e))));break;case"del":a.children.push(this.parseDeleted(s,(e=>this.parseParagraph(e))))}return a}parseParagraphProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,(e=>{if(B(e,t,d))return!0;switch(e.localName){case"pStyle":t.styleName=d.attr(e,"val");break;case"cnfStyle":t.className=Be.classNameOfCnfStyle(e);break;case"framePr":this.parseFrame(e,t);break;case"rPr":break;default:return!1}return!0}))}parseFrame(e,t){"drop"==d.attr(e,"dropCap")&&(t.cssStyle.float="left")}parseHyperlink(e,t){var r={type:x.Hyperlink,parent:t,children:[]};return r.anchor=d.attr(e,"anchor"),r.id=d.attr(e,"id"),De.foreach(e,(e=>{if("r"===e.localName)r.children.push(this.parseRun(e,r))})),r}parseSmartTag(e,t){var r={type:x.SmartTag,parent:t,children:[]},a=d.attr(e,"uri"),s=d.attr(e,"element");return a&&(r.uri=a),s&&(r.element=s),De.foreach(e,(e=>{if("r"===e.localName)r.children.push(this.parseRun(e,r))})),r}parseRun(e,t){var a={type:x.Run,parent:t,children:[]};return De.foreach(e,(e=>{switch((e=this.checkAlternateContent(e)).localName){case"t":a.children.push({type:x.Text,text:e.textContent});break;case"delText":a.children.push({type:x.DeletedText,text:e.textContent});break;case"commentReference":a.children.push(new Se(d.attr(e,"id")));break;case"fldSimple":a.children.push({type:x.SimpleField,instruction:d.attr(e,"instr"),lock:d.boolAttr(e,"lock",!1),dirty:d.boolAttr(e,"dirty",!1)});break;case"instrText":a.fieldRun=!0,a.children.push({type:x.Instruction,text:e.textContent});break;case"fldChar":a.fieldRun=!0,a.children.push({type:x.ComplexField,charType:d.attr(e,"fldCharType"),lock:d.boolAttr(e,"lock",!1),dirty:d.boolAttr(e,"dirty",!1)});break;case"noBreakHyphen":a.children.push({type:x.NoBreakHyphen});break;case"br":a.children.push({type:x.Break,break:d.attr(e,"type")||"textWrapping"});break;case"lastRenderedPageBreak":a.children.push({type:x.Break,break:"lastRenderedPageBreak"});break;case"sym":a.children.push({type:x.Symbol,font:r(d.attr(e,"font")),char:d.attr(e,"char")});break;case"tab":a.children.push({type:x.Tab});break;case"footnoteReference":a.children.push({type:x.FootnoteReference,id:d.attr(e,"id")});break;case"endnoteReference":a.children.push({type:x.EndnoteReference,id:d.attr(e,"id")});break;case"drawing":let t=this.parseDrawing(e);t&&(a.children=[t]);break;case"pict":a.children.push(this.parseVmlPicture(e));break;case"rPr":this.parseRunProperties(e,a)}})),a}parseMathElement(e){const t=`${e.localName}Pr`,r={type:Ae[e.localName],children:[]};for(const s of d.elements(e)){if(Ae[s.localName])r.children.push(this.parseMathElement(s));else if("r"==s.localName){var a=this.parseRun(s);a.type=x.MmlRun,r.children.push(a)}else s.localName==t&&(r.props=this.parseMathProperies(s))}return r}parseMathProperies(e){const t={};for(const r of d.elements(e))switch(r.localName){case"chr":t.char=d.attr(r,"val");break;case"vertJc":t.verticalJustification=d.attr(r,"val");break;case"pos":t.position=d.attr(r,"val");break;case"degHide":t.hideDegree=d.boolAttr(r,"val");break;case"begChr":t.beginChar=d.attr(r,"val");break;case"endChr":t.endChar=d.attr(r,"val")}return t}parseRunProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,(e=>{switch(e.localName){case"rStyle":t.styleName=d.attr(e,"val");break;case"vertAlign":t.verticalAlign=Be.valueOfVertAlign(e,!0);break;default:return!1}return!0}))}parseVmlPicture(e){const t={type:x.VmlPicture,children:[]};for(const r of d.elements(e)){const e=be(r,this);e&&t.children.push(e)}return t}checkAlternateContent(e){if("AlternateContent"!=e.localName)return e;var t=d.element(e,"Choice");if(t){var r=d.attr(t,"Requires"),a=e.lookupNamespaceURI(r);if(Ee.includes(a))return t.firstElementChild}return d.element(e,"Fallback")?.firstElementChild}parseDrawing(e){for(var t of d.elements(e))switch(t.localName){case"inline":case"anchor":return this.parseDrawingWrapper(t)}}parseDrawingWrapper(e){var t={type:x.Drawing,children:[],cssStyle:{}},r="anchor"==e.localName;let a=null,s=d.boolAttr(e,"simplePos");d.boolAttr(e,"behindDoc");let n={relative:"page",align:"left",offset:"0"},l={relative:"page",align:"top",offset:"0"};for(var o of d.elements(e))switch(o.localName){case"simplePos":s&&(n.offset=d.lengthAttr(o,"x",h.Emu),l.offset=d.lengthAttr(o,"y",h.Emu));break;case"extent":t.cssStyle.width=d.lengthAttr(o,"cx",h.Emu),t.cssStyle.height=d.lengthAttr(o,"cy",h.Emu);break;case"positionH":case"positionV":if(!s){let e="positionH"==o.localName?n:l;var i=d.element(o,"align"),c=d.element(o,"posOffset");e.relative=d.attr(o,"relativeFrom")??e.relative,i&&(e.align=i.textContent),c&&(e.offset=De.sizeValue(c,h.Emu))}break;case"wrapTopAndBottom":a="wrapTopAndBottom";break;case"wrapNone":a="wrapNone";break;case"graphic":var m=this.parseGraphic(o);m&&t.children.push(m)}return"wrapTopAndBottom"==a?(t.cssStyle.display="block",n.align&&(t.cssStyle["text-align"]=n.align,t.cssStyle.width="100%")):"wrapNone"==a?(t.cssStyle.display="block",t.cssStyle.position="relative",t.cssStyle.width="0px",t.cssStyle.height="0px",n.offset&&(t.cssStyle.left=n.offset),l.offset&&(t.cssStyle.top=l.offset)):!r||"left"!=n.align&&"right"!=n.align||(t.cssStyle.float=n.align),t}parseGraphic(e){var t=d.element(e,"graphicData");for(let e of d.elements(t))if("pic"===e.localName)return this.parsePicture(e);return null}parsePicture(e){var t={type:x.Image,src:"",cssStyle:{}},r=d.element(e,"blipFill"),a=d.element(r,"blip");t.src=d.attr(a,"embed");var s=d.element(e,"spPr"),n=d.element(s,"xfrm");for(var l of(t.cssStyle.position="relative",d.elements(n)))switch(l.localName){case"ext":t.cssStyle.width=d.lengthAttr(l,"cx",h.Emu),t.cssStyle.height=d.lengthAttr(l,"cy",h.Emu);break;case"off":t.cssStyle.left=d.lengthAttr(l,"x",h.Emu),t.cssStyle.top=d.lengthAttr(l,"y",h.Emu)}return t}parseTable(e){var t={type:x.Table,children:[]};return De.foreach(e,(e=>{switch(e.localName){case"tr":t.children.push(this.parseTableRow(e));break;case"tblGrid":t.columns=this.parseTableColumns(e);break;case"tblPr":this.parseTableProperties(e,t)}})),t}parseTableColumns(e){var t=[];return De.foreach(e,(e=>{if("gridCol"===e.localName)t.push({width:d.lengthAttr(e,"w")})})),t}parseTableProperties(e,t){switch(t.cssStyle={},t.cellStyle={},this.parseDefaultProperties(e,t.cssStyle,t.cellStyle,(e=>{switch(e.localName){case"tblStyle":t.styleName=d.attr(e,"val");break;case"tblLook":t.className=Be.classNameOftblLook(e);break;case"tblpPr":this.parseTablePosition(e,t);break;case"tblStyleColBandSize":t.colBandSize=d.intAttr(e,"val");break;case"tblStyleRowBandSize":t.rowBandSize=d.intAttr(e,"val");break;case"hidden":t.cssStyle.display="none";break;default:return!1}return!0})),t.cssStyle["text-align"]){case"center":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto",t.cssStyle["margin-right"]="auto";break;case"right":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto"}}parseTablePosition(e,t){var r=d.lengthAttr(e,"topFromText"),a=d.lengthAttr(e,"bottomFromText"),s=d.lengthAttr(e,"rightFromText"),n=d.lengthAttr(e,"leftFromText");t.cssStyle.float="left",t.cssStyle["margin-bottom"]=Be.addSize(t.cssStyle["margin-bottom"],a),t.cssStyle["margin-left"]=Be.addSize(t.cssStyle["margin-left"],n),t.cssStyle["margin-right"]=Be.addSize(t.cssStyle["margin-right"],s),t.cssStyle["margin-top"]=Be.addSize(t.cssStyle["margin-top"],r)}parseTableRow(e){var t={type:x.Row,children:[]};return De.foreach(e,(e=>{switch(e.localName){case"tc":t.children.push(this.parseTableCell(e));break;case"trPr":this.parseTableRowProperties(e,t)}})),t}parseTableRowProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,(e=>{switch(e.localName){case"cnfStyle":t.className=Be.classNameOfCnfStyle(e);break;case"tblHeader":t.isHeader=d.boolAttr(e,"val");break;case"gridBefore":t.gridBefore=d.intAttr(e,"val");break;case"gridAfter":t.gridAfter=d.intAttr(e,"val");break;default:return!1}return!0}))}parseTableCell(e){var t={type:x.Cell,children:[]};return De.foreach(e,(e=>{switch(e.localName){case"tbl":t.children.push(this.parseTable(e));break;case"p":t.children.push(this.parseParagraph(e));break;case"tcPr":this.parseTableCellProperties(e,t)}})),t}parseTableCellProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,(e=>{switch(e.localName){case"gridSpan":t.span=d.intAttr(e,"val",null);break;case"vMerge":t.verticalMerge=d.attr(e,"val")??"continue";break;case"cnfStyle":t.className=Be.classNameOfCnfStyle(e);break;default:return!1}return!0})),this.parseTableCellVerticalText(e,t)}parseTableCellVerticalText(e,t){const r={btLr:{writingMode:"vertical-rl",transform:"rotate(180deg)"},lrTb:{writingMode:"vertical-lr",transform:"none"},tbRl:{writingMode:"vertical-rl",transform:"none"}};De.foreach(e,(e=>{if("textDirection"===e.localName){const a=d.attr(e,"val"),s=r[a]||{writingMode:"horizontal-tb"};t.cssStyle["writing-mode"]=s.writingMode,t.cssStyle.transform=s.transform}}))}parseDefaultProperties(e,t=null,r=null,a=null){return t=t||{},De.foreach(e,(s=>{if(!a?.(s))switch(s.localName){case"jc":t["text-align"]=Be.valueOfJc(s);break;case"textAlignment":t["vertical-align"]=Be.valueOfTextAlignment(s);break;case"color":t.color=De.colorAttr(s,"val",null,xe);break;case"sz":t["font-size"]=t["min-height"]=d.lengthAttr(s,"val",h.FontSize);break;case"shd":t["background-color"]=De.colorAttr(s,"fill",null,Ce);break;case"highlight":t["background-color"]=De.colorAttr(s,"val",null,Me);break;case"vertAlign":break;case"position":t.verticalAlign=d.lengthAttr(s,"val",h.FontSize);break;case"tcW":if(this.options.ignoreWidth)break;case"tblW":t.width=Be.valueOfSize(s,"w");break;case"trHeight":this.parseTrHeight(s,t);break;case"strike":t["text-decoration"]=d.boolAttr(s,"val",!0)?"line-through":"none";break;case"b":t["font-weight"]=d.boolAttr(s,"val",!0)?"bold":"normal";break;case"i":t["font-style"]=d.boolAttr(s,"val",!0)?"italic":"normal";break;case"caps":t["text-transform"]=d.boolAttr(s,"val",!0)?"uppercase":"none";break;case"smallCaps":t["font-variant"]=d.boolAttr(s,"val",!0)?"small-caps":"none";break;case"u":this.parseUnderline(s,t);break;case"ind":case"tblInd":this.parseIndentation(s,t);break;case"rFonts":this.parseFont(s,t);break;case"tblBorders":this.parseBorderProperties(s,r||t);break;case"tblCellSpacing":t["border-spacing"]=Be.valueOfMargin(s),t["border-collapse"]="separate";break;case"pBdr":this.parseBorderProperties(s,t);break;case"bdr":t.border=Be.valueOfBorder(s);break;case"tcBorders":this.parseBorderProperties(s,t);break;case"vanish":d.boolAttr(s,"val",!0)&&(t.display="none");break;case"kern":case"noWrap":break;case"tblCellMar":case"tcMar":this.parseMarginProperties(s,r||t);break;case"tblLayout":t["table-layout"]=Be.valueOfTblLayout(s);break;case"vAlign":t["vertical-align"]=Be.valueOfTextAlignment(s);break;case"spacing":"pPr"==e.localName&&this.parseSpacing(s,t);break;case"wordWrap":d.boolAttr(s,"val")&&(t["overflow-wrap"]="break-word");break;case"suppressAutoHyphens":t.hyphens=d.boolAttr(s,"val",!0)?"none":"auto";break;case"lang":t.$lang=d.attr(s,"val");break;case"rtl":case"bidi":d.boolAttr(s,"val",!0)&&(t.direction="rtl");break;case"bCs":case"iCs":case"szCs":case"tabs":case"outlineLvl":case"contextualSpacing":case"tblStyleColBandSize":case"tblStyleRowBandSize":case"webHidden":case"pageBreakBefore":case"suppressLineNumbers":case"keepLines":case"keepNext":case"widowControl":case"bidi":case"rtl":case"noProof":break;default:this.options.debug&&console.warn(`DOCX: Unknown document element: ${e.localName}.${s.localName}`)}})),t}parseUnderline(e,t){var r=d.attr(e,"val");if(null!=r){switch(r){case"dash":case"dashDotDotHeavy":case"dashDotHeavy":case"dashedHeavy":case"dashLong":case"dashLongHeavy":case"dotDash":case"dotDotDash":t["text-decoration"]="underline dashed";break;case"dotted":case"dottedHeavy":t["text-decoration"]="underline dotted";break;case"double":t["text-decoration"]="underline double";break;case"single":case"thick":case"words":t["text-decoration"]="underline";break;case"wave":case"wavyDouble":case"wavyHeavy":t["text-decoration"]="underline wavy";break;case"none":t["text-decoration"]="none"}var a=De.colorAttr(e,"color");a&&(t["text-decoration-color"]=a)}}parseFont(e,t){var a=[d.attr(e,"ascii"),Be.themeValue(e,"asciiTheme"),d.attr(e,"eastAsia")].filter((e=>e)).map((e=>r(e)));a.length>0&&(t["font-family"]=[...new Set(a)].join(", "))}parseIndentation(e,t){var r=d.lengthAttr(e,"firstLine"),a=d.lengthAttr(e,"hanging"),s=d.lengthAttr(e,"left"),n=d.lengthAttr(e,"start"),l=d.lengthAttr(e,"right"),o=d.lengthAttr(e,"end");r&&(t["text-indent"]=r),a&&(t["text-indent"]=`-${a}`),(s||n)&&(t["margin-inline-start"]=s||n),(l||o)&&(t["margin-inline-end"]=l||o)}parseSpacing(e,t){var r=d.lengthAttr(e,"before"),a=d.lengthAttr(e,"after"),s=d.intAttr(e,"line",null),n=d.attr(e,"lineRule");if(r&&(t["margin-top"]=r),a&&(t["margin-bottom"]=a),null!==s)switch(n){case"auto":t["line-height"]=`${(s/240).toFixed(2)}`;break;case"atLeast":t["line-height"]=`calc(100% + ${s/20}pt)`;break;default:t["line-height"]=t["min-height"]=s/20+"pt"}}parseMarginProperties(e,t){De.foreach(e,(e=>{switch(e.localName){case"left":t["padding-left"]=Be.valueOfMargin(e);break;case"right":t["padding-right"]=Be.valueOfMargin(e);break;case"top":t["padding-top"]=Be.valueOfMargin(e);break;case"bottom":t["padding-bottom"]=Be.valueOfMargin(e)}}))}parseTrHeight(e,t){d.attr(e,"hRule"),t.height=d.lengthAttr(e,"val")}parseBorderProperties(e,t){De.foreach(e,(e=>{switch(e.localName){case"start":case"left":t["border-left"]=Be.valueOfBorder(e);break;case"end":case"right":t["border-right"]=Be.valueOfBorder(e);break;case"top":t["border-top"]=Be.valueOfBorder(e);break;case"bottom":t["border-bottom"]=Be.valueOfBorder(e)}}))}}const Re=["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","none","red","white","yellow"];class De{static foreach(e,t){for(var r=0;r"1"==t[r])).join(" ")}static valueOfJc(e){var t=d.attr(e,"val");switch(t){case"start":case"left":return"left";case"center":return"center";case"end":case"right":return"right";case"both":return"justify"}return t}static valueOfVertAlign(e,t=!1){var r=d.attr(e,"val");switch(r){case"subscript":return"sub";case"superscript":return t?"sup":"super"}return t?null:r}static valueOfTextAlignment(e){var t=d.attr(e,"val");switch(t){case"auto":case"baseline":return"baseline";case"top":return"top";case"center":return"middle";case"bottom":return"bottom"}return t}static addSize(e,t){return null==e?t:null==t?e:`calc(${e} + ${t})`}static classNameOftblLook(e){const t=d.hexAttr(e,"val",0);let r="";return(d.boolAttr(e,"firstRow")||32&t)&&(r+=" first-row"),(d.boolAttr(e,"lastRow")||64&t)&&(r+=" last-row"),(d.boolAttr(e,"firstColumn")||128&t)&&(r+=" first-col"),(d.boolAttr(e,"lastColumn")||256&t)&&(r+=" last-col"),(d.boolAttr(e,"noHBand")||512&t)&&(r+=" no-hband"),(d.boolAttr(e,"noVBand")||1024&t)&&(r+=" no-vband"),r.trim()}}const $e={pos:0,leader:"none",style:"left"};function Fe(e,t,r,a=.75){const s=e.closest("p"),n=e.getBoundingClientRect(),l=s.getBoundingClientRect(),o=getComputedStyle(s),i=t?.length>0?t.map((e=>({pos:Le(e.position),leader:e.leader,style:e.style}))).sort(((e,t)=>e.pos-t.pos)):[$e],c=i[i.length-1],h=l.width*a,m=Le(r);let u=c.pos+m;if(u"clear"!=e.style&&e.pos>g));if(null==f)return;let b=1;if("right"==f.style||"center"==f.style){const t=Array.from(s.querySelectorAll(`.${e.className}`)),r=t.indexOf(e)+1,n=document.createRange();n.setStart(e,1),re.id))),e.endnotesPart&&(this.endnoteMap=n(e.endnotesPart.notes,(e=>e.id))),e.settingsPart&&(this.defaultTabSize=e.settingsPart.settings?.defaultTabStop),!a.ignoreFonts&&e.fontTablePart&&this.renderFontTable(e.fontTablePart,r);var s=this.renderSections(e.documentPart.body);this.options.inWrapper?t.appendChild(this.renderWrapper(s)):ze(t,s),this.commentHighlight&&a.renderComments&&CSS.highlights.set(`${this.className}-comments`,this.commentHighlight),this.postRenderTasks.forEach((e=>e())),await Promise.allSettled(this.tasks),this.refreshTabStops()}renderTheme(e,t){const r={},a=e.theme?.fontScheme;a&&(a.majorFont&&(r["--docx-majorHAnsi-font"]=a.majorFont.latinTypeface),a.minorFont&&(r["--docx-minorHAnsi-font"]=a.minorFont.latinTypeface));const s=e.theme?.colorScheme;if(s)for(let[e,t]of Object.entries(s.colors))r[`--docx-${e}-color`]=`#${t}`;const n=this.styleToString(`.${this.className}`,r);t.appendChild(this.createStyleElement(n))}renderFontTable(e,t){for(let a of e.fonts)for(let e of a.embedFontRefs)this.tasks.push(this.document.loadFont(e.id,e.key).then((s=>{const n={"font-family":r(a.name),src:`url(${s})`};"bold"!=e.type&&"boldItalic"!=e.type||(n["font-weight"]="bold"),"italic"!=e.type&&"boldItalic"!=e.type||(n["font-style"]="italic");const l=this.styleToString("@font-face",n);t.appendChild(this.createComment(`docxjs ${a.name} font`)),t.appendChild(this.createStyleElement(l))})))}processStyleName(e){return e?`${this.className}_${function(e){return e?.replace(/[ .]+/g,"-").replace(/[&]+/g,"and").toLowerCase()}(e)}`:this.className}processStyles(e){const t=n(e.filter((e=>null!=e.id)),(e=>e.id));for(const a of e.filter((e=>e.basedOn))){var r=t[a.basedOn];if(r){a.paragraphProps=o(a.paragraphProps,r.paragraphProps),a.runProps=o(a.runProps,r.runProps);for(const e of r.styles){const t=a.styles.find((t=>t.target==e.target));t?this.copyStyleProperties(e.values,t.values):a.styles.push({...e,values:{...e.values}})}}else this.options.debug&&console.warn(`Can't find base style ${a.basedOn}`)}for(let t of e)t.cssName=this.processStyleName(t.id);return t}prodessNumberings(e){for(let t of e.filter((e=>e.pStyleName))){const e=this.findStyle(t.pStyleName);e?.paragraphProps?.numbering&&(e.paragraphProps.numbering.level=t.level)}}processElement(e){if(e.children)for(var t of e.children)t.parent=e,t.type==x.Table?this.processTable(t):this.processElement(t)}processTable(e){for(var t of e.children)for(var r of t.children)r.cssStyle=this.copyStyleProperties(e.cellStyle,r.cssStyle,["border-left","border-right","border-top","border-bottom","padding-left","padding-right","padding-top","padding-bottom"]),this.processElement(r)}copyStyleProperties(e,t,r=null){if(!e)return t;for(var a of(null==t&&(t={}),null==r&&(r=Object.getOwnPropertyNames(e)),r))e.hasOwnProperty(a)&&!t.hasOwnProperty(a)&&(t[a]=e[a]);return t}createPageElement(e,t){var r=this.createElement("section",{className:e});return t&&(t.pageMargins&&(r.style.paddingLeft=t.pageMargins.left,r.style.paddingRight=t.pageMargins.right,r.style.paddingTop=t.pageMargins.top,r.style.paddingBottom=t.pageMargins.bottom),t.pageSize&&(this.options.ignoreWidth||(r.style.width=t.pageSize.width),this.options.ignoreHeight||(r.style.minHeight=t.pageSize.height))),r}createSectionContent(e){var t=this.createElement("article");return e.columns&&e.columns.numberOfColumns&&(t.style.columnCount=`${e.columns.numberOfColumns}`,t.style.columnGap=e.columns.space,e.columns.separator&&(t.style.columnRule="1px solid black")),t}renderSections(e){const t=[];this.processElement(e);const r=this.splitBySection(e.children,e.props),a=this.groupByPageBreaks(r);let s=null;for(let r=0,l=a.length;r"first"==e.type)):null)??(r%2==1?e.find((e=>"even"==e.type)):null)??e.find((e=>"default"==e.type)),l=n&&this.document.findPartByRelId(n.id,this.document.documentPart);if(l){this.currentPart=l,this.usedHederFooterParts.includes(l.path)||(this.processElement(l.rootElement),this.usedHederFooterParts.push(l.path));const[e]=this.renderElements([l.rootElement],s);t?.pageMargins&&(l.rootElement.type===x.Header?(e.style.marginTop=`calc(${t.pageMargins.header} - ${t.pageMargins.top})`,e.style.minHeight=`calc(${t.pageMargins.top} - ${t.pageMargins.header})`):l.rootElement.type===x.Footer&&(e.style.marginBottom=`calc(${t.pageMargins.footer} - ${t.pageMargins.bottom})`,e.style.minHeight=`calc(${t.pageMargins.bottom} - ${t.pageMargins.footer})`)),this.currentPart=null}}}isPageBreakElement(e){return e.type==x.Break&&("lastRenderedPageBreak"==e.break?!this.options.ignoreLastRenderedPageBreak:"page"==e.break)}isPageBreakSection(e,t){return!!e&&(!!t&&(e.pageSize?.orientation!=t.pageSize?.orientation||e.pageSize?.width!=t.pageSize?.width||e.pageSize?.height!=t.pageSize?.height))}splitBySection(e,t){var r={sectProps:null,elements:[],pageBreak:!1},a=[r];for(let t of e){if(t.type==x.Paragraph){const e=this.findStyle(t.styleName);e?.paragraphProps?.pageBreakBefore&&(r.sectProps=s,r.pageBreak=!0,r={sectProps:null,elements:[],pageBreak:!1},a.push(r))}if(r.elements.push(t),t.type==x.Paragraph){const e=t;var s=e.sectionProps,n=-1,l=-1;if(this.options.breakPages&&e.children&&(n=e.children.findIndex((e=>-1!=(l=e.children?.findIndex(this.isPageBreakElement.bind(this))??-1)))),(s||-1!=n)&&(r.sectProps=s,r.pageBreak=-1!=n,r={sectProps:null,elements:[],pageBreak:!1},a.push(r)),-1!=n){let a=e.children[n],s=l=0;e--)null==a[e].sectProps?a[e].sectProps=c??t:c=a[e].sectProps;return a}groupByPageBreaks(e){let t,r=[];const a=[r];for(let s of e)r.push(s),(this.options.ignoreLastRenderedPageBreak||s.pageBreak||this.isPageBreakSection(t,s.sectProps))&&a.push(r=[]),t=s.sectProps;return a.filter((e=>e.length>0))}renderWrapper(e){return this.createElement("div",{className:`${this.className}-wrapper`},e)}renderDefaultStyle(){var e=this.className,t=`\n.${e}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } \n.${e}-wrapper>section.${e} { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); margin-bottom: 30px; }`;this.options.hideWrapperOnPrint&&(t=`@media not print { ${t} }`);var r=`${t}\n.${e} { color: black; hyphens: auto; text-underline-position: from-font; }\nsection.${e} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; }\nsection.${e}>article { margin-bottom: auto; z-index: 1; }\nsection.${e}>footer { z-index: 1; }\n.${e} table { border-collapse: collapse; }\n.${e} table td, .${e} table th { vertical-align: top; }\n.${e} p { margin: 0pt; min-height: 1em; }\n.${e} span { white-space: pre-wrap; overflow-wrap: break-word; }\n.${e} a { color: inherit; text-decoration: inherit; }\n.${e} svg { fill: transparent; }\n`;return this.options.renderComments&&(r+=`\n.${e}-comment-ref { cursor: default; }\n.${e}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; }\n.${e}-comment-ref:hover~.${e}-comment-popover { display: block; }\n.${e}-comment-author,.${e}-comment-date { font-size: 0.875rem; color: #888; }\n`),this.createStyleElement(r)}renderNumbering(e,t){var r="",a=[];for(var s of e){var n=`p.${this.numberingClass(s.id,s.level)}`,l="none";if(s.bullet){let e=`--${this.className}-${s.bullet.src}`.toLowerCase();r+=this.styleToString(`${n}:before`,{content:"' '",display:"inline-block",background:`var(${e})`},s.bullet.style),this.tasks.push(this.document.loadNumberingImage(s.bullet.src).then((r=>{var a=`${this.rootSelector} { ${e}: url(${r}) }`;t.appendChild(this.createStyleElement(a))})))}else if(s.levelText){let e=this.numberingCounter(s.id,s.level);const t=e+" "+(s.start-1);s.level>0&&(r+=this.styleToString(`p.${this.numberingClass(s.id,s.level-1)}`,{"counter-set":t})),a.push(t),r+=this.styleToString(`${n}:before`,{content:this.levelTextToContent(s.levelText,s.suff,s.id,this.numFormatToCssValue(s.format)),"counter-increment":e,...s.rStyle})}else l=this.numFormatToCssValue(s.format);r+=this.styleToString(n,{display:"list-item","list-style-position":"inside","list-style-type":l,...s.pStyle})}return a.length>0&&(r+=this.styleToString(this.rootSelector,{"counter-reset":a.join(" ")})),this.createStyleElement(r)}renderStyles(e){var t="";const r=this.styleMap,a=n(e.filter((e=>e.isDefault)),(e=>e.target));for(const n of e){var s=n.styles;if(n.linked){var l=n.linked&&r[n.linked];l?s=s.concat(l.styles):this.options.debug&&console.warn(`Can't find linked style ${n.linked}`)}for(const e of s){var o=`${n.target??""}.${n.cssName}`;n.target!=e.target&&(o+=` ${e.target}`),a[n.target]==n&&(o=`.${this.className} ${n.target}, `+o),t+=this.styleToString(o,e.values)}}return this.createStyleElement(t)}renderNotes(e,t,r){var a=e.map((e=>t[e])).filter((e=>e));if(a.length>0){var s=this.createElement("ol",null,this.renderElements(a));r.appendChild(s)}}renderElement(e){switch(e.type){case x.Paragraph:return this.renderParagraph(e);case x.BookmarkStart:return this.renderBookmarkStart(e);case x.BookmarkEnd:return null;case x.Run:return this.renderRun(e);case x.Table:return this.renderTable(e);case x.Row:return this.renderTableRow(e);case x.Cell:return this.renderTableCell(e);case x.Hyperlink:return this.renderHyperlink(e);case x.SmartTag:return this.renderSmartTag(e);case x.Drawing:return this.renderDrawing(e);case x.Image:return this.renderImage(e);case x.Text:case x.Text:return this.renderText(e);case x.DeletedText:return this.renderDeletedText(e);case x.Tab:return this.renderTab(e);case x.Symbol:return this.renderSymbol(e);case x.Break:return this.renderBreak(e);case x.Footer:return this.renderContainer(e,"footer");case x.Header:return this.renderContainer(e,"header");case x.Footnote:case x.Endnote:return this.renderContainer(e,"li");case x.FootnoteReference:return this.renderFootnoteReference(e);case x.EndnoteReference:return this.renderEndnoteReference(e);case x.NoBreakHyphen:return this.createElement("wbr");case x.VmlPicture:return this.renderVmlPicture(e);case x.VmlElement:return this.renderVmlElement(e);case x.MmlMath:return this.renderContainerNS(e,Oe,"math",{xmlns:Oe});case x.MmlMathParagraph:return this.renderContainer(e,"span");case x.MmlFraction:return this.renderContainerNS(e,Oe,"mfrac");case x.MmlBase:return this.renderContainerNS(e,Oe,e.parent.type==x.MmlMatrixRow?"mtd":"mrow");case x.MmlNumerator:case x.MmlDenominator:case x.MmlFunction:case x.MmlLimit:case x.MmlBox:return this.renderContainerNS(e,Oe,"mrow");case x.MmlGroupChar:return this.renderMmlGroupChar(e);case x.MmlLimitLower:return this.renderContainerNS(e,Oe,"munder");case x.MmlMatrix:return this.renderContainerNS(e,Oe,"mtable");case x.MmlMatrixRow:return this.renderContainerNS(e,Oe,"mtr");case x.MmlRadical:return this.renderMmlRadical(e);case x.MmlSuperscript:return this.renderContainerNS(e,Oe,"msup");case x.MmlSubscript:return this.renderContainerNS(e,Oe,"msub");case x.MmlDegree:case x.MmlSuperArgument:case x.MmlSubArgument:return this.renderContainerNS(e,Oe,"mn");case x.MmlFunctionName:return this.renderContainerNS(e,Oe,"ms");case x.MmlDelimiter:return this.renderMmlDelimiter(e);case x.MmlRun:return this.renderMmlRun(e);case x.MmlNary:return this.renderMmlNary(e);case x.MmlPreSubSuper:return this.renderMmlPreSubSuper(e);case x.MmlBar:return this.renderMmlBar(e);case x.MmlEquationArray:return this.renderMllList(e);case x.Inserted:return this.renderInserted(e);case x.Deleted:return this.renderDeleted(e);case x.CommentRangeStart:return this.renderCommentRangeStart(e);case x.CommentRangeEnd:return this.renderCommentRangeEnd(e);case x.CommentReference:return this.renderCommentReference(e);case x.AltChunk:return this.renderAltChunk(e)}return null}renderElements(e,t){if(null==e)return null;var r=e.flatMap((e=>this.renderElement(e))).filter((e=>null!=e));return t&&ze(t,r),r}renderContainer(e,t,r){return this.createElement(t,r,this.renderElements(e.children))}renderContainerNS(e,t,r,a){return this.createElementNS(t,r,a,this.renderElements(e.children))}renderParagraph(e){var t=this.renderContainer(e,"p");const r=this.findStyle(e.styleName);e.tabs??(e.tabs=r?.paragraphProps?.tabs),this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),this.renderCommonProperties(t.style,e);const a=e.numbering??r?.paragraphProps?.numbering;return a&&t.classList.add(this.numberingClass(a.id,a.level)),t}renderRunProperties(e,t){this.renderCommonProperties(e,t)}renderCommonProperties(e,t){null!=t&&(t.color&&(e.color=t.color),t.fontSize&&(e["font-size"]=t.fontSize))}renderHyperlink(e){var t=this.renderContainer(e,"a");this.renderStyleValues(e.cssStyle,t);let r="";if(e.id){const t=this.document.documentPart.rels.find((t=>t.id==e.id&&"External"===t.targetMode));r=t?.target??r}return e.anchor&&(r+=`#${e.anchor}`),t.href=r,t}renderSmartTag(e){return this.renderContainer(e,"span")}renderCommentRangeStart(e){if(!this.options.renderComments)return null;const t=new Range;this.commentHighlight?.add(t);const r=this.htmlDocument.createComment(`start of comment #${e.id}`);return this.later((()=>t.setStart(r,0))),this.commentMap[e.id]=t,r}renderCommentRangeEnd(e){if(!this.options.renderComments)return null;const t=this.commentMap[e.id],r=this.htmlDocument.createComment(`end of comment #${e.id}`);return this.later((()=>t?.setEnd(r,0))),r}renderCommentReference(e){if(!this.options.renderComments)return null;var t=this.document.commentsPart?.commentMap[e.id];if(!t)return null;const r=new DocumentFragment,a=this.createElement("span",{className:`${this.className}-comment-ref`},["💬"]),s=this.createElement("div",{className:`${this.className}-comment-popover`});return this.renderCommentContent(t,s),r.appendChild(this.htmlDocument.createComment(`comment #${t.id} by ${t.author} on ${t.date}`)),r.appendChild(a),r.appendChild(s),r}renderAltChunk(e){if(!this.options.renderAltChunks)return null;var t=this.createElement("iframe");return this.tasks.push(this.document.loadAltChunk(e.id,this.currentPart).then((e=>{t.srcdoc=e}))),t}renderCommentContent(e,t){t.appendChild(this.createElement("div",{className:`${this.className}-comment-author`},[e.author])),t.appendChild(this.createElement("div",{className:`${this.className}-comment-date`},[new Date(e.date).toLocaleString()])),this.renderElements(e.children,t)}renderDrawing(e){var t=this.renderContainer(e,"div");return t.style.display="inline-block",t.style.position="relative",t.style.textIndent="0px",this.renderStyleValues(e.cssStyle,t),t}renderImage(e){let t=this.createElement("img");return this.renderStyleValues(e.cssStyle,t),this.document&&this.tasks.push(this.document.loadDocumentImage(e.src,this.currentPart).then((e=>{t.src=e}))),t}renderText(e){return this.htmlDocument.createTextNode(e.text)}renderDeletedText(e){return this.options.renderEndnotes?this.htmlDocument.createTextNode(e.text):null}renderBreak(e){return"textWrapping"==e.break?this.createElement("br"):null}renderInserted(e){return this.options.renderChanges?this.renderContainer(e,"ins"):this.renderElements(e.children)}renderDeleted(e){return this.options.renderChanges?this.renderContainer(e,"del"):null}renderSymbol(e){var t=this.createElement("span");return t.style.fontFamily=e.font,t.innerHTML=`&#x${e.char};`,t}renderFootnoteReference(e){var t=this.createElement("sup");return this.currentFootnoteIds.push(e.id),t.textContent=`${this.currentFootnoteIds.length}`,t}renderEndnoteReference(e){var t=this.createElement("sup");return this.currentEndnoteIds.push(e.id),t.textContent=`${this.currentEndnoteIds.length}`,t}renderTab(e){var t=this.createElement("span");if(t.innerHTML=" ",this.options.experimental){t.className=this.tabStopClass();var r=function(e,t){var r=e.parent;for(;null!=r&&r.type!=t;)r=r.parent;return r}(e,x.Paragraph)?.tabs;this.currentTabs.push({stops:r,span:t})}return t}renderBookmarkStart(e){return this.createElement("span",{id:e.name})}renderRun(e){if(e.fieldRun)return null;const t=this.createElement("span");if(e.id&&(t.id=e.id),this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),e.verticalAlign){const r=this.createElement(e.verticalAlign);this.renderElements(e.children,r),t.appendChild(r)}else this.renderElements(e.children,t);return t}renderTable(e){let t=this.createElement("table");return this.tableCellPositions.push(this.currentCellPosition),this.tableVerticalMerges.push(this.currentVerticalMerge),this.currentVerticalMerge={},this.currentCellPosition={col:0,row:0},e.columns&&t.appendChild(this.renderTableColumns(e.columns)),this.renderClass(e,t),this.renderElements(e.children,t),this.renderStyleValues(e.cssStyle,t),this.currentVerticalMerge=this.tableVerticalMerges.pop(),this.currentCellPosition=this.tableCellPositions.pop(),t}renderTableColumns(e){let t=this.createElement("colgroup");for(let r of e){let e=this.createElement("col");r.width&&(e.style.width=r.width),t.appendChild(e)}return t}renderTableRow(e){let t=this.createElement("tr");return this.currentCellPosition.col=0,e.gridBefore&&t.appendChild(this.renderTableCellPlaceholder(e.gridBefore)),this.renderClass(e,t),this.renderElements(e.children,t),this.renderStyleValues(e.cssStyle,t),e.gridAfter&&t.appendChild(this.renderTableCellPlaceholder(e.gridAfter)),this.currentCellPosition.row++,t}renderTableCellPlaceholder(e){const t=this.createElement("td",{colSpan:e});return t.style.border="none",t}renderTableCell(e){let t=this.renderContainer(e,"td");const r=this.currentCellPosition.col;return e.verticalMerge?"restart"==e.verticalMerge?(this.currentVerticalMerge[r]=t,t.rowSpan=1):this.currentVerticalMerge[r]&&(this.currentVerticalMerge[r].rowSpan+=1,t.style.display="none"):this.currentVerticalMerge[r]=null,this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),e.span&&(t.colSpan=e.span),this.currentCellPosition.col+=t.colSpan,t}renderVmlPicture(e){return this.renderContainer(e,"div")}renderVmlElement(e){var t=this.createSvgElement("svg");t.setAttribute("style",e.cssStyleText);const r=this.renderVmlChildElement(e);return e.imageHref?.id&&this.tasks.push(this.document?.loadDocumentImage(e.imageHref.id,this.currentPart).then((e=>r.setAttribute("href",e)))),t.appendChild(r),requestAnimationFrame((()=>{const e=t.firstElementChild.getBBox();t.setAttribute("width",`${Math.ceil(e.x+e.width)}`),t.setAttribute("height",`${Math.ceil(e.y+e.height)}`)})),t}renderVmlChildElement(e){const t=this.createSvgElement(e.tagName);Object.entries(e.attrs).forEach((([e,r])=>t.setAttribute(e,r)));for(let r of e.children)r.type==x.VmlElement?t.appendChild(this.renderVmlChildElement(r)):t.appendChild(...i(this.renderElement(r)));return t}renderMmlRadical(e){const t=e.children.find((e=>e.type==x.MmlBase));if(e.props?.hideDegree)return this.createElementNS(Oe,"msqrt",null,this.renderElements([t]));const r=e.children.find((e=>e.type==x.MmlDegree));return this.createElementNS(Oe,"mroot",null,this.renderElements([t,r]))}renderMmlDelimiter(e){const t=[];return t.push(this.createElementNS(Oe,"mo",null,[e.props.beginChar??"("])),t.push(...this.renderElements(e.children)),t.push(this.createElementNS(Oe,"mo",null,[e.props.endChar??")"])),this.createElementNS(Oe,"mrow",null,t)}renderMmlNary(e){const t=[],r=n(e.children,(e=>e.type)),a=r[x.MmlSuperArgument],s=r[x.MmlSubArgument],l=a?this.createElementNS(Oe,"mo",null,i(this.renderElement(a))):null,o=s?this.createElementNS(Oe,"mo",null,i(this.renderElement(s))):null,c=this.createElementNS(Oe,"mo",null,[e.props?.char??"∫"]);return l||o?t.push(this.createElementNS(Oe,"munderover",null,[c,o,l])):l?t.push(this.createElementNS(Oe,"mover",null,[c,l])):o?t.push(this.createElementNS(Oe,"munder",null,[c,o])):t.push(c),t.push(...this.renderElements(r[x.MmlBase].children)),this.createElementNS(Oe,"mrow",null,t)}renderMmlPreSubSuper(e){const t=[],r=n(e.children,(e=>e.type)),a=r[x.MmlSuperArgument],s=r[x.MmlSubArgument],l=a?this.createElementNS(Oe,"mo",null,i(this.renderElement(a))):null,o=s?this.createElementNS(Oe,"mo",null,i(this.renderElement(s))):null,c=this.createElementNS(Oe,"mo",null);return t.push(this.createElementNS(Oe,"msubsup",null,[c,o,l])),t.push(...this.renderElements(r[x.MmlBase].children)),this.createElementNS(Oe,"mrow",null,t)}renderMmlGroupChar(e){const t="bot"===e.props.verticalJustification?"mover":"munder",r=this.renderContainerNS(e,Oe,t);return e.props.char&&r.appendChild(this.createElementNS(Oe,"mo",null,[e.props.char])),r}renderMmlBar(e){const t=this.renderContainerNS(e,Oe,"mrow");switch(e.props.position){case"top":t.style.textDecoration="overline";break;case"bottom":t.style.textDecoration="underline"}return t}renderMmlRun(e){const t=this.createElementNS(Oe,"ms",null,this.renderElements(e.children));return this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),t}renderMllList(e){const t=this.createElementNS(Oe,"mtable");this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t);for(let r of this.renderElements(e.children))t.appendChild(this.createElementNS(Oe,"mtr",null,[this.createElementNS(Oe,"mtd",null,[r])]));return t}renderStyleValues(e,t){for(let r in e)r.startsWith("$")?t.setAttribute(r.slice(1),e[r]):t.style[r]=e[r]}renderClass(e,t){e.className&&(t.className=e.className),e.styleName&&t.classList.add(this.processStyleName(e.styleName))}findStyle(e){return e&&this.styleMap?.[e]}numberingClass(e,t){return`${this.className}-num-${e}-${t}`}tabStopClass(){return`${this.className}-tab-stop`}styleToString(e,t,r=null){let a=`${e} {\r\n`;for(const e in t)e.startsWith("$")||(a+=` ${e}: ${t[e]};\r\n`);return r&&(a+=r),a+"}\r\n"}numberingCounter(e,t){return`${this.className}-num-${e}-${t}`}levelTextToContent(e,t,r,a){return`"${e.replace(/%\d*/g,(e=>{let t=parseInt(e.substring(1),10)-1;return`"counter(${this.numberingCounter(r,t)}, ${a})"`}))}${{tab:"\\9",space:"\\a0"}[t]??""}"`}numFormatToCssValue(e){return{none:"none",bullet:"disc",decimal:"decimal",lowerLetter:"lower-alpha",upperLetter:"upper-alpha",lowerRoman:"lower-roman",upperRoman:"upper-roman",decimalZero:"decimal-leading-zero",aiueo:"katakana",aiueoFullWidth:"katakana",chineseCounting:"simp-chinese-informal",chineseCountingThousand:"simp-chinese-informal",chineseLegalSimplified:"simp-chinese-formal",chosung:"hangul-consonant",ideographDigital:"cjk-ideographic",ideographTraditional:"cjk-heavenly-stem",ideographLegalTraditional:"trad-chinese-formal",ideographZodiac:"cjk-earthly-branch",iroha:"katakana-iroha",irohaFullWidth:"katakana-iroha",japaneseCounting:"japanese-informal",japaneseDigitalTenThousand:"cjk-decimal",japaneseLegal:"japanese-formal",thaiNumbers:"thai",koreanCounting:"korean-hangul-formal",koreanDigital:"korean-hangul-formal",koreanDigital2:"korean-hanja-informal",hebrew1:"hebrew",hebrew2:"hebrew",hindiNumbers:"devanagari",ganada:"hangul",taiwaneseCounting:"cjk-ideographic",taiwaneseCountingThousand:"cjk-ideographic",taiwaneseDigital:"cjk-decimal"}[e]??e}refreshTabStops(){this.options.experimental&&setTimeout((()=>{const e=function(e=document.body){const t=document.createElement("div");t.style.width="100pt",e.appendChild(t);const r=100/t.offsetWidth;return e.removeChild(t),r}();for(let t of this.currentTabs)Fe(t.span,t.stops,this.defaultTabSize,e)}),500)}createElementNS(e,t,r,a){var s=e?this.htmlDocument.createElementNS(e,t):this.htmlDocument.createElement(t);return Object.assign(s,r),a&&ze(s,a),s}createElement(e,t,r){return this.createElementNS(void 0,e,t,r)}createSvgElement(e,t,r){return this.createElementNS(Ie,e,t,r)}createStyleElement(e){return this.createElement("style",{innerHTML:e})}createComment(e){return this.htmlDocument.createComment(e)}later(e){this.postRenderTasks.push(e)}}function _e(e){e.innerHTML=""}function ze(e,t){t.forEach((t=>{return e.appendChild("string"==typeof(r=t)||r instanceof String?document.createTextNode(t):t);var r}))}const Ve={ignoreHeight:!1,ignoreWidth:!1,ignoreFonts:!1,breakPages:!0,debug:!1,experimental:!1,className:"docx",inWrapper:!0,hideWrapperOnPrint:!1,trimXmlDeclaration:!0,ignoreLastRenderedPageBreak:!0,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,renderEndnotes:!0,useBase64URL:!1,renderChanges:!1,renderComments:!1,renderAltChunks:!0};function je(e,t){const r={...Ve,...t};return pe.load(e,new Te(r),r)}async function We(e,t,r,a){const s={...Ve,...a},n=new He(window.document);return await n.render(e,t,r,s)}async function Xe(e,t,r,a){const s=await je(e,a);return await We(s,t,r,a),s}export{Ve as defaultOptions,je as parseAsync,Xe as renderAsync,We as renderDocument}; +/* + * @license + * docx-preview + * Released under Apache License 2.0 + * Copyright Volodymyr Baydalka + */ +import e from"jszip";var t;function r(e){return/^[^"'].*\s.*[^"']$/.test(e)?`'${e}'`:e}function a(e){let t=e.lastIndexOf("/")+1;return[0==t?"":e.substring(0,t),0==t?e:e.substring(t)]}function s(e,t){try{const r="http://docx/";return new URL(e,r+t).toString().substring(r.length)}catch{return`${t}${e}`}}function n(e,t){return e.reduce((e,r)=>(e[t(r)]=r,e),{})}function l(e){return e&&"object"==typeof e&&!Array.isArray(e)}function o(e,...t){if(!t.length)return e;const r=t.shift();if(l(e)&&l(r))for(const t in r)if(l(r[t])){o(e[t]??(e[t]={}),r[t])}else e[t]=r[t];return o(e,...t)}function i(e){return Array.isArray(e)?e:[e]}!function(e){e.OfficeDocument="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",e.FontTable="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",e.Image="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",e.Numbering="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",e.Styles="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",e.StylesWithEffects="http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects",e.Theme="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",e.Settings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",e.WebSettings="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",e.Hyperlink="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e.Footnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",e.Endnotes="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",e.Footer="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",e.Header="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",e.ExtendedProperties="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",e.CoreProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",e.CustomProperties="http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties",e.Comments="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",e.CommentsExtended="http://schemas.microsoft.com/office/2011/relationships/commentsExtended",e.AltChunk="http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk"}(t||(t={}));const c="http://schemas.openxmlformats.org/wordprocessingml/2006/main",h={mul:.05,unit:"pt"},m={mul:1/12700,unit:"pt"},p={mul:.5,unit:"pt"},u={mul:.125,unit:"pt",min:.25,max:12},d={mul:1,unit:"pt"},f={mul:.02,unit:"%"};function g(e,t=h){if(null==e||/.+(p[xt]|[%])$/.test(e))return e;var r=parseInt(e)*t.mul;return t.min&&t.max&&(r=function(e,t,r){return t>e?t:rfunction(e,t){let r={name:t.attr(e,"name"),embedFontRefs:[]};for(let a of t.elements(e))switch(a.localName){case"family":r.family=t.attr(a,"val");break;case"altName":r.altName=t.attr(a,"val");break;case"embedRegular":case"embedBold":case"embedItalic":case"embedBoldItalic":r.embedFontRefs.push(w(a,t))}return r}(e,t))}function w(e,t){return{id:t.attr(e,"id"),key:t.attr(e,"fontKey"),type:S[e.localName]}}class C extends v{parseXml(e){this.fonts=P(e,this._package.xmlParser)}}class x{constructor(e,t){this._zip=e,this.options=t,this.xmlParser=new y}get(e){const t=function(e){return e.startsWith("/")?e.substr(1):e}(e);return this._zip.files[t]??this._zip.files[t.replace(/\//g,"\\")]}update(e,t){this._zip.file(e,t)}static async load(t,r){const a=await e.loadAsync(t);return new x(a,r)}save(e="blob"){return this._zip.generateAsync({type:e})}load(e,t="string"){return this.get(e)?.async(t)??Promise.resolve(null)}async loadRelationships(e=null){let t="_rels/.rels";if(null!=e){const[r,s]=a(e);t=`${r}_rels/${s}.rels`}const r=await this.load(t);return r?(s=this.parseXmlDocument(r).firstElementChild,(n=this.xmlParser).elements(s).map(e=>({id:n.attr(e,"Id"),type:n.attr(e,"Type"),target:n.attr(e,"Target"),targetMode:n.attr(e,"TargetMode")}))):null;var s,n}parseXmlDocument(e){return function(e,t=!1){var r;t&&(e=e.replace(/<[?].*[?]>/,"")),e=65279===(r=e).charCodeAt(0)?r.substring(1):r;const a=(new DOMParser).parseFromString(e,"application/xml"),s=(n=a,n.getElementsByTagName("parsererror")[0]?.textContent);var n;if(s)throw new Error(s);return a}(e,this.options.trimXmlDeclaration)}}class N extends v{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.body=this._documentParser.parseDocumentFile(e)}}function M(e,t){return{type:t.attr(e,"val"),color:t.attr(e,"color"),size:t.lengthAttr(e,"sz",u),offset:t.lengthAttr(e,"space",d),frame:t.boolAttr(e,"frame"),shadow:t.boolAttr(e,"shadow")}}function A(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"left":r.left=M(a,t);break;case"top":r.top=M(a,t);break;case"right":r.right=M(a,t);break;case"bottom":r.bottom=M(a,t)}return r}var E,T;function R(e,t=k){var r={};for(let a of t.elements(e))switch(a.localName){case"pgSz":r.pageSize={width:t.lengthAttr(a,"w"),height:t.lengthAttr(a,"h"),orientation:t.attr(a,"orient")};break;case"type":r.type=t.attr(a,"val");break;case"pgMar":r.pageMargins={left:t.lengthAttr(a,"left"),right:t.lengthAttr(a,"right"),top:t.lengthAttr(a,"top"),bottom:t.lengthAttr(a,"bottom"),header:t.lengthAttr(a,"header"),footer:t.lengthAttr(a,"footer"),gutter:t.lengthAttr(a,"gutter")};break;case"cols":r.columns=B(a,t);break;case"headerReference":(r.headerRefs??(r.headerRefs=[])).push($(a,t));break;case"footerReference":(r.footerRefs??(r.footerRefs=[])).push($(a,t));break;case"titlePg":r.titlePage=t.boolAttr(a,"val",!0);break;case"pgBorders":r.pageBorders=A(a,t);break;case"pgNumType":r.pageNumber=D(a,t)}return r}function B(e,t){return{numberOfColumns:t.intAttr(e,"num"),space:t.lengthAttr(e,"space"),separator:t.boolAttr(e,"sep"),equalWidth:t.boolAttr(e,"equalWidth",!0),columns:t.elements(e,"col").map(e=>({width:t.lengthAttr(e,"w"),space:t.lengthAttr(e,"space")}))}}function D(e,t){return{chapSep:t.attr(e,"chapSep"),chapStyle:t.attr(e,"chapStyle"),format:t.attr(e,"fmt"),start:t.intAttr(e,"start")}}function $(e,t){return{id:t.attr(e,"id"),type:t.attr(e,"type")}}function F(e,t){let r={};for(let a of t.elements(e))L(a,r,t);return r}function L(e,t,r){return!!b(e,t,r)}function I(e,t){let r={};for(let a of t.elements(e))O(a,r,t);return r}function O(e,t,r){if(e.namespaceURI!=c)return!1;if(b(e,t,r))return!0;switch(e.localName){case"tabs":t.tabs=function(e,t){return t.elements(e,"tab").map(e=>({position:t.lengthAttr(e,"pos"),leader:t.attr(e,"leader"),style:t.attr(e,"val")}))}(e,r);break;case"sectPr":t.sectionProps=R(e,r);break;case"numPr":t.numbering=function(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"numId":r.id=t.attr(a,"val");break;case"ilvl":r.level=t.intAttr(a,"val")}return r}(e,r);break;case"spacing":return t.lineSpacing=function(e,t){return{before:t.lengthAttr(e,"before"),after:t.lengthAttr(e,"after"),line:t.intAttr(e,"line"),lineRule:t.attr(e,"lineRule")}}(e,r),!1;case"textAlignment":return t.textAlignment=r.attr(e,"val"),!1;case"keepLines":t.keepLines=r.boolAttr(e,"val",!0);break;case"keepNext":t.keepNext=r.boolAttr(e,"val",!0);break;case"pageBreakBefore":t.pageBreakBefore=r.boolAttr(e,"val",!0);break;case"outlineLvl":t.outlineLevel=r.intAttr(e,"val");break;case"pStyle":t.styleName=r.attr(e,"val");break;case"rPr":t.runProps=F(e,r);break;default:return!1}return!0}function H(e,t){let r={id:t.attr(e,"numId"),overrides:[]};for(let a of t.elements(e))switch(a.localName){case"abstractNumId":r.abstractId=t.attr(a,"val");break;case"lvlOverride":r.overrides.push(V(a,t))}return r}function _(e,t){let r={id:t.attr(e,"abstractNumId"),levels:[]};for(let a of t.elements(e))switch(a.localName){case"name":r.name=t.attr(a,"val");break;case"multiLevelType":r.multiLevelType=t.attr(a,"val");break;case"numStyleLink":r.numberingStyleLink=t.attr(a,"val");break;case"styleLink":r.styleLink=t.attr(a,"val");break;case"lvl":r.levels.push(z(a,t))}return r}function z(e,t){let r={level:t.intAttr(e,"ilvl")};for(let a of t.elements(e))switch(a.localName){case"start":r.start=t.attr(a,"val");break;case"lvlRestart":r.restart=t.intAttr(a,"val");break;case"numFmt":r.format=t.attr(a,"val");break;case"lvlText":r.text=t.attr(a,"val");break;case"lvlJc":r.justification=t.attr(a,"val");break;case"lvlPicBulletId":r.bulletPictureId=t.attr(a,"val");break;case"pStyle":r.paragraphStyle=t.attr(a,"val");break;case"pPr":r.paragraphProps=I(a,t);break;case"rPr":r.runProps=F(a,t)}return r}function V(e,t){let r={level:t.intAttr(e,"ilvl")};for(let a of t.elements(e))switch(a.localName){case"startOverride":r.start=t.intAttr(a,"val");break;case"lvl":r.numberingLevel=z(a,t)}return r}function j(e,t){var r=t.element(e,"pict"),a=r&&t.element(r,"shape"),s=a&&t.element(a,"imagedata");return s?{id:t.attr(e,"numPicBulletId"),referenceId:t.attr(s,"id"),style:t.attr(a,"style")}:null}!function(e){e.Continuous="continuous",e.NextPage="nextPage",e.NextColumn="nextColumn",e.EvenPage="evenPage",e.OddPage="oddPage"}(E||(E={}));class W extends v{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){Object.assign(this,function(e,t){let r={numberings:[],abstractNumberings:[],bulletPictures:[]};for(let a of t.elements(e))switch(a.localName){case"num":r.numberings.push(H(a,t));break;case"abstractNum":r.abstractNumberings.push(_(a,t));break;case"numPicBullet":r.bulletPictures.push(j(a,t))}return r}(e,this._package.xmlParser)),this.domNumberings=this._documentParser.parseNumberingFile(e)}}class X extends v{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.styles=this._documentParser.parseStylesFile(e)}}!function(e){e.Document="document",e.Paragraph="paragraph",e.Run="run",e.Break="break",e.NoBreakHyphen="noBreakHyphen",e.Table="table",e.Row="row",e.Cell="cell",e.Hyperlink="hyperlink",e.SmartTag="smartTag",e.Drawing="drawing",e.Image="image",e.Text="text",e.Tab="tab",e.Symbol="symbol",e.BookmarkStart="bookmarkStart",e.BookmarkEnd="bookmarkEnd",e.Footer="footer",e.Header="header",e.FootnoteReference="footnoteReference",e.EndnoteReference="endnoteReference",e.Footnote="footnote",e.Endnote="endnote",e.SimpleField="simpleField",e.ComplexField="complexField",e.Instruction="instruction",e.VmlPicture="vmlPicture",e.MmlMath="mmlMath",e.MmlMathParagraph="mmlMathParagraph",e.MmlFraction="mmlFraction",e.MmlFunction="mmlFunction",e.MmlFunctionName="mmlFunctionName",e.MmlNumerator="mmlNumerator",e.MmlDenominator="mmlDenominator",e.MmlRadical="mmlRadical",e.MmlBase="mmlBase",e.MmlDegree="mmlDegree",e.MmlSuperscript="mmlSuperscript",e.MmlSubscript="mmlSubscript",e.MmlPreSubSuper="mmlPreSubSuper",e.MmlSubArgument="mmlSubArgument",e.MmlSuperArgument="mmlSuperArgument",e.MmlNary="mmlNary",e.MmlDelimiter="mmlDelimiter",e.MmlRun="mmlRun",e.MmlEquationArray="mmlEquationArray",e.MmlLimit="mmlLimit",e.MmlLimitLower="mmlLimitLower",e.MmlMatrix="mmlMatrix",e.MmlMatrixRow="mmlMatrixRow",e.MmlBox="mmlBox",e.MmlBar="mmlBar",e.MmlGroupChar="mmlGroupChar",e.VmlElement="vmlElement",e.Inserted="inserted",e.Deleted="deleted",e.DeletedText="deletedText",e.Comment="comment",e.CommentReference="commentReference",e.CommentRangeStart="commentRangeStart",e.CommentRangeEnd="commentRangeEnd",e.AltChunk="altChunk"}(T||(T={}));class G{constructor(){this.children=[],this.cssStyle={}}}class U extends G{constructor(){super(...arguments),this.type=T.Header}}class q extends G{constructor(){super(...arguments),this.type=T.Footer}}class J extends v{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.rootElement=this.createRootElement(),this.rootElement.children=this._documentParser.parseBodyElements(e)}}class Z extends J{createRootElement(){return new U}}class K extends J{createRootElement(){return new q}}function Y(e){if(void 0!==e)return parseInt(e)}class Q extends v{parseXml(e){this.props=function(e,t){const r={};for(let a of t.elements(e))switch(a.localName){case"Template":r.template=a.textContent;break;case"Pages":r.pages=Y(a.textContent);break;case"Words":r.words=Y(a.textContent);break;case"Characters":r.characters=Y(a.textContent);break;case"Application":r.application=a.textContent;break;case"Lines":r.lines=Y(a.textContent);break;case"Paragraphs":r.paragraphs=Y(a.textContent);break;case"Company":r.company=a.textContent;break;case"AppVersion":r.appVersion=a.textContent}return r}(e,this._package.xmlParser)}}class ee extends v{parseXml(e){this.props=function(e,t){const r={};for(let a of t.elements(e))switch(a.localName){case"title":r.title=a.textContent;break;case"description":r.description=a.textContent;break;case"subject":r.subject=a.textContent;break;case"creator":r.creator=a.textContent;break;case"keywords":r.keywords=a.textContent;break;case"language":r.language=a.textContent;break;case"lastModifiedBy":r.lastModifiedBy=a.textContent;break;case"revision":a.textContent&&(r.revision=parseInt(a.textContent))}return r}(e,this._package.xmlParser)}}class te{}function re(e,t){var r={name:t.attr(e,"name"),colors:{}};for(let n of t.elements(e)){var a=t.element(n,"srgbClr"),s=t.element(n,"sysClr");a?r.colors[n.localName]=t.attr(a,"val"):s&&(r.colors[n.localName]=t.attr(s,"lastClr"))}return r}function ae(e,t){var r={name:t.attr(e,"name")};for(let a of t.elements(e))switch(a.localName){case"majorFont":r.majorFont=se(a,t);break;case"minorFont":r.minorFont=se(a,t)}return r}function se(e,t){return{latinTypeface:t.elementAttr(e,"latin","typeface"),eaTypeface:t.elementAttr(e,"ea","typeface"),csTypeface:t.elementAttr(e,"cs","typeface")}}class ne extends v{constructor(e,t){super(e,t)}parseXml(e){this.theme=function(e,t){var r=new te,a=t.element(e,"themeElements");for(let e of t.elements(a))switch(e.localName){case"clrScheme":r.colorScheme=re(e,t);break;case"fontScheme":r.fontScheme=ae(e,t)}return r}(e,this._package.xmlParser)}}class le{}class oe extends le{constructor(){super(...arguments),this.type=T.Footnote}}class ie extends le{constructor(){super(...arguments),this.type=T.Endnote}}class ce extends v{constructor(e,t,r){super(e,t),this._documentParser=r}}class he extends ce{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"footnote",oe)}}class me extends ce{constructor(e,t,r){super(e,t,r)}parseXml(e){this.notes=this._documentParser.parseNotes(e,"endnote",ie)}}function pe(e,t){var r={defaultNoteIds:[]};for(let a of t.elements(e))switch(a.localName){case"numFmt":r.nummeringFormat=t.attr(a,"val");break;case"footnote":case"endnote":r.defaultNoteIds.push(t.attr(a,"id"))}return r}class ue extends v{constructor(e,t){super(e,t)}parseXml(e){this.settings=function(e,t){var r={};for(let a of t.elements(e))switch(a.localName){case"defaultTabStop":r.defaultTabStop=t.lengthAttr(a,"val");break;case"footnotePr":r.footnoteProps=pe(a,t);break;case"endnotePr":r.endnoteProps=pe(a,t);break;case"autoHyphenation":r.autoHyphenation=t.boolAttr(a,"val")}return r}(e,this._package.xmlParser)}}class de extends v{parseXml(e){this.props=function(e,t){return t.elements(e,"property").map(e=>{const r=e.firstChild;return{formatId:t.attr(e,"fmtid"),name:t.attr(e,"name"),type:r.nodeName,value:r.textContent}})}(e,this._package.xmlParser)}}class fe extends v{constructor(e,t,r){super(e,t),this._documentParser=r}parseXml(e){this.comments=this._documentParser.parseComments(e),this.commentMap=n(this.comments,e=>e.id)}}class ge extends v{constructor(e,t){super(e,t),this.comments=[]}parseXml(e){const t=this._package.xmlParser;for(let r of t.elements(e,"commentEx"))this.comments.push({paraId:t.attr(r,"paraId"),paraIdParent:t.attr(r,"paraIdParent"),done:t.boolAttr(r,"done")});this.commentMap=n(this.comments,e=>e.paraId)}}const be=[{type:t.OfficeDocument,target:"word/document.xml"},{type:t.ExtendedProperties,target:"docProps/app.xml"},{type:t.CoreProperties,target:"docProps/core.xml"},{type:t.CustomProperties,target:"docProps/custom.xml"}];class ye{constructor(){this.parts=[],this.partsMap={}}static async load(e,t,r){var a=new ye;return a._options=r,a._parser=t,a._package=await x.load(e,r),a.rels=await a._package.loadRelationships(),await Promise.all(be.map(e=>{const t=a.rels.find(t=>t.type===e.type)??e;return a.loadRelationshipPart(t.target,t.type)})),a}save(e="blob"){return this._package.save(e)}async loadRelationshipPart(e,r){if(this.partsMap[e])return this.partsMap[e];if(!this._package.get(e))return null;let n=null;switch(r){case t.OfficeDocument:this.documentPart=n=new N(this._package,e,this._parser);break;case t.FontTable:this.fontTablePart=n=new C(this._package,e);break;case t.Numbering:this.numberingPart=n=new W(this._package,e,this._parser);break;case t.Styles:this.stylesPart=n=new X(this._package,e,this._parser);break;case t.Theme:this.themePart=n=new ne(this._package,e);break;case t.Footnotes:this.footnotesPart=n=new he(this._package,e,this._parser);break;case t.Endnotes:this.endnotesPart=n=new me(this._package,e,this._parser);break;case t.Footer:n=new K(this._package,e,this._parser);break;case t.Header:n=new Z(this._package,e,this._parser);break;case t.CoreProperties:this.corePropsPart=n=new ee(this._package,e);break;case t.ExtendedProperties:this.extendedPropsPart=n=new Q(this._package,e);break;case t.CustomProperties:n=new de(this._package,e);break;case t.Settings:this.settingsPart=n=new ue(this._package,e);break;case t.Comments:this.commentsPart=n=new fe(this._package,e,this._parser);break;case t.CommentsExtended:this.commentsExtendedPart=n=new ge(this._package,e)}if(null==n)return Promise.resolve(null);if(this.partsMap[e]=n,this.parts.push(n),await n.load(),n.rels?.length>0){const[e]=a(n.path);await Promise.all(n.rels.map(t=>this.loadRelationshipPart(s(t.target,e),t.type)))}return n}async loadDocumentImage(e,t){const r=await this.loadResource(t??this.documentPart,e,"blob");return this.blobToURL(r)}async loadNumberingImage(e){const t=await this.loadResource(this.numberingPart,e,"blob");return this.blobToURL(t)}async loadFont(e,t){const r=await this.loadResource(this.fontTablePart,e,"uint8array");return r?this.blobToURL(new Blob([ke(r,t)])):r}async loadAltChunk(e,t){return await this.loadResource(t??this.documentPart,e,"string")}blobToURL(e){return e?this._options.useBase64URL?function(e){return new Promise((t,r)=>{const a=new FileReader;a.onloadend=()=>t(a.result),a.onerror=()=>r(),a.readAsDataURL(e)})}(e):URL.createObjectURL(e):null}findPartByRelId(e,t=null){var r=(t.rels??this.rels).find(t=>t.id==e);const n=t?a(t.path)[0]:"";return r?this.partsMap[s(r.target,n)]:null}getPathById(e,t){const r=e.rels.find(e=>e.id==t),[n]=a(e.path);return r?s(r.target,n):null}loadResource(e,t,r){const a=this.getPathById(e,t);return a?this._package.load(a,r):Promise.resolve(null)}}function ke(e,t){const r=t.replace(/{|}|-/g,""),a=new Array(16);for(let e=0;e<16;e++)a[16-e-1]=parseInt(r.substring(2*e,2*e+2),16);for(let t=0;t<32;t++)e[t]=e[t]^a[t%16];return e}function ve(e,t){return{type:T.BookmarkStart,id:t.attr(e,"id"),name:t.attr(e,"name"),colFirst:t.intAttr(e,"colFirst"),colLast:t.intAttr(e,"colLast")}}function Se(e,t){return{type:T.BookmarkEnd,id:t.attr(e,"id")}}class Pe extends G{constructor(){super(...arguments),this.type=T.VmlElement,this.attrs={}}}function we(e,t){var r=new Pe;switch(e.localName){case"rect":r.tagName="rect",Object.assign(r.attrs,{width:"100%",height:"100%"});break;case"oval":r.tagName="ellipse",Object.assign(r.attrs,{cx:"50%",cy:"50%",rx:"50%",ry:"50%"});break;case"line":r.tagName="line";break;case"shape":r.tagName="g";break;case"textbox":r.tagName="foreignObject",Object.assign(r.attrs,{width:"100%",height:"100%"});break;default:return null}for(const t of k.attrs(e))switch(t.localName){case"style":r.cssStyleText=t.value;break;case"fillcolor":r.attrs.fill=t.value;break;case"from":const[e,a]=Ne(t.value);Object.assign(r.attrs,{x1:e,y1:a});break;case"to":const[s,n]=Ne(t.value);Object.assign(r.attrs,{x2:s,y2:n})}for(const a of k.elements(e))switch(a.localName){case"stroke":Object.assign(r.attrs,Ce(a));break;case"fill":Object.assign(r.attrs,xe());break;case"imagedata":r.tagName="image",Object.assign(r.attrs,{width:"100%",height:"100%"}),r.imageHref={id:k.attr(a,"id"),title:k.attr(a,"title")};break;case"txbxContent":r.children.push(...t.parseBodyElements(a));break;default:const e=we(a,t);e&&r.children.push(e)}return r}function Ce(e){return{stroke:k.attr(e,"color"),"stroke-width":k.lengthAttr(e,"weight",m)??"1px"}}function xe(e){return{}}function Ne(e){return e.split(",")}class Me extends G{constructor(){super(...arguments),this.type=T.Comment}}class Ae extends G{constructor(e){super(),this.id=e,this.type=T.CommentReference}}class Ee extends G{constructor(e){super(),this.id=e,this.type=T.CommentRangeStart}}class Te extends G{constructor(e){super(),this.id=e,this.type=T.CommentRangeEnd}}var Re="inherit",Be="black",De="black",$e="transparent";const Fe=[],Le={oMath:T.MmlMath,oMathPara:T.MmlMathParagraph,f:T.MmlFraction,func:T.MmlFunction,fName:T.MmlFunctionName,num:T.MmlNumerator,den:T.MmlDenominator,rad:T.MmlRadical,deg:T.MmlDegree,e:T.MmlBase,sSup:T.MmlSuperscript,sSub:T.MmlSubscript,sPre:T.MmlPreSubSuper,sup:T.MmlSuperArgument,sub:T.MmlSubArgument,d:T.MmlDelimiter,nary:T.MmlNary,eqArr:T.MmlEquationArray,lim:T.MmlLimit,limLow:T.MmlLimitLower,m:T.MmlMatrix,mr:T.MmlMatrixRow,box:T.MmlBox,bar:T.MmlBar,groupChr:T.MmlGroupChar};class Ie{constructor(e){this.options={ignoreWidth:!1,debug:!1,...e}}parseNotes(e,t,r){var a=[];for(let s of k.elements(e,t)){const e=new r;e.id=k.attr(s,"id"),e.noteType=k.attr(s,"type"),e.children=this.parseBodyElements(s),a.push(e)}return a}parseComments(e){var t=[];for(let r of k.elements(e,"comment")){const e=new Me;e.id=k.attr(r,"id"),e.author=k.attr(r,"author"),e.initials=k.attr(r,"initials"),e.date=k.attr(r,"date"),e.children=this.parseBodyElements(r),t.push(e)}return t}parseDocumentFile(e){var t=k.element(e,"body"),r=k.element(e,"background"),a=k.element(t,"sectPr");return{type:T.Document,children:this.parseBodyElements(t),props:a?R(a,k):{},cssStyle:r?this.parseBackground(r):{}}}parseBackground(e){var t={},r=He.colorAttr(e,"color");return r&&(t["background-color"]=r),t}parseBodyElements(e){var t=[];for(const r of k.elements(e))switch(r.localName){case"p":t.push(this.parseParagraph(r));break;case"altChunk":t.push(this.parseAltChunk(r));break;case"tbl":t.push(this.parseTable(r));break;case"sdt":t.push(...this.parseSdt(r,e=>this.parseBodyElements(e)))}return t}parseStylesFile(e){var t=[];for(const r of k.elements(e))switch(r.localName){case"style":t.push(this.parseStyle(r));break;case"docDefaults":t.push(this.parseDefaultStyles(r))}return t}parseDefaultStyles(e){var t={id:null,name:null,target:null,basedOn:null,styles:[]};for(const s of k.elements(e))switch(s.localName){case"rPrDefault":var r=k.element(s,"rPr");r&&t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})});break;case"pPrDefault":var a=k.element(s,"pPr");a&&t.styles.push({target:"p",values:this.parseDefaultProperties(a,{})})}return t}parseStyle(e){var t={id:k.attr(e,"styleId"),isDefault:k.boolAttr(e,"default"),name:null,target:null,basedOn:null,styles:[],linked:null};switch(k.attr(e,"type")){case"paragraph":t.target="p";break;case"table":t.target="table";break;case"character":t.target="span"}for(const r of k.elements(e))switch(r.localName){case"basedOn":t.basedOn=k.attr(r,"val");break;case"name":t.name=k.attr(r,"val");break;case"link":t.linked=k.attr(r,"val");break;case"next":t.next=k.attr(r,"val");break;case"aliases":t.aliases=k.attr(r,"val").split(",");break;case"pPr":t.styles.push({target:"p",values:this.parseDefaultProperties(r,{})}),t.paragraphProps=I(r,k);break;case"rPr":t.styles.push({target:"span",values:this.parseDefaultProperties(r,{})}),t.runProps=F(r,k);break;case"tblPr":case"tcPr":t.styles.push({target:"td",values:this.parseDefaultProperties(r,{})});break;case"tblStylePr":for(let e of this.parseTableStyle(r))t.styles.push(e);break;case"rsid":case"qFormat":case"hidden":case"semiHidden":case"unhideWhenUsed":case"autoRedefine":case"uiPriority":break;default:this.options.debug&&console.warn(`DOCX: Unknown style element: ${r.localName}`)}return t}parseTableStyle(e){var t=[],r="",a="";switch(k.attr(e,"type")){case"firstRow":a=".first-row",r="tr.first-row td";break;case"lastRow":a=".last-row",r="tr.last-row td";break;case"firstCol":a=".first-col",r="td.first-col";break;case"lastCol":a=".last-col",r="td.last-col";break;case"band1Vert":a=":not(.no-vband)",r="td.odd-col";break;case"band2Vert":a=":not(.no-vband)",r="td.even-col";break;case"band1Horz":a=":not(.no-hband)",r="tr.odd-row";break;case"band2Horz":a=":not(.no-hband)",r="tr.even-row";break;default:return[]}for(const s of k.elements(e))switch(s.localName){case"pPr":t.push({target:`${r} p`,mod:a,values:this.parseDefaultProperties(s,{})});break;case"rPr":t.push({target:`${r} span`,mod:a,values:this.parseDefaultProperties(s,{})});break;case"tblPr":case"tcPr":t.push({target:r,mod:a,values:this.parseDefaultProperties(s,{})})}return t}parseNumberingFile(e){var t=[],r={},a=[];for(const l of k.elements(e))switch(l.localName){case"abstractNum":this.parseAbstractNumbering(l,a).forEach(e=>t.push(e));break;case"numPicBullet":a.push(this.parseNumberingPicBullet(l));break;case"num":var s=k.attr(l,"numId"),n=k.elementAttr(l,"abstractNumId","val");r[n]=s}return t.forEach(e=>e.id=r[e.id]),t}parseNumberingPicBullet(e){var t=k.element(e,"pict"),r=t&&k.element(t,"shape"),a=r&&k.element(r,"imagedata");return a?{id:k.intAttr(e,"numPicBulletId"),src:k.attr(a,"id"),style:k.attr(r,"style")}:null}parseAbstractNumbering(e,t){var r=[],a=k.attr(e,"abstractNumId");for(const s of k.elements(e))if("lvl"===s.localName)r.push(this.parseNumberingLevel(a,s,t));return r}parseNumberingLevel(e,t,r){var a={id:e,level:k.intAttr(t,"ilvl"),start:1,pStyleName:void 0,pStyle:{},rStyle:{},suff:"tab"};for(const e of k.elements(t))switch(e.localName){case"start":a.start=k.intAttr(e,"val");break;case"pPr":this.parseDefaultProperties(e,a.pStyle);break;case"rPr":this.parseDefaultProperties(e,a.rStyle);break;case"lvlPicBulletId":var s=k.intAttr(e,"val");a.bullet=r.find(e=>e?.id==s);break;case"lvlText":a.levelText=k.attr(e,"val");break;case"pStyle":a.pStyleName=k.attr(e,"val");break;case"numFmt":a.format=k.attr(e,"val");break;case"suff":a.suff=k.attr(e,"val")}return a}parseSdt(e,t){const r=k.element(e,"sdtContent");return r?t(r):[]}parseInserted(e,t){return{type:T.Inserted,children:t(e)?.children??[]}}parseDeleted(e,t){return{type:T.Deleted,children:t(e)?.children??[]}}parseAltChunk(e){return{type:T.AltChunk,children:[],id:k.attr(e,"id")}}parseParagraph(e){var t={type:T.Paragraph,children:[]};for(let r of k.elements(e))switch(r.localName){case"pPr":this.parseParagraphProperties(r,t);break;case"r":t.children.push(this.parseRun(r,t));break;case"hyperlink":t.children.push(this.parseHyperlink(r,t));break;case"smartTag":t.children.push(this.parseSmartTag(r,t));break;case"bookmarkStart":t.children.push(ve(r,k));break;case"bookmarkEnd":t.children.push(Se(r,k));break;case"commentRangeStart":t.children.push(new Ee(k.attr(r,"id")));break;case"commentRangeEnd":t.children.push(new Te(k.attr(r,"id")));break;case"oMath":case"oMathPara":t.children.push(this.parseMathElement(r));break;case"sdt":t.children.push(...this.parseSdt(r,e=>this.parseParagraph(e).children));break;case"ins":t.children.push(this.parseInserted(r,e=>this.parseParagraph(e)));break;case"del":t.children.push(this.parseDeleted(r,e=>this.parseParagraph(e)))}return t}parseParagraphProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,e=>{if(O(e,t,k))return!0;switch(e.localName){case"pStyle":t.styleName=k.attr(e,"val");break;case"cnfStyle":t.className=_e.classNameOfCnfStyle(e);break;case"framePr":this.parseFrame(e,t);break;case"rPr":break;default:return!1}return!0})}parseFrame(e,t){"drop"==k.attr(e,"dropCap")&&(t.cssStyle.float="left")}parseHyperlink(e,t){var r={type:T.Hyperlink,parent:t,children:[]};r.anchor=k.attr(e,"anchor"),r.id=k.attr(e,"id");for(const t of k.elements(e))if("r"===t.localName)r.children.push(this.parseRun(t,r));return r}parseSmartTag(e,t){var r={type:T.SmartTag,parent:t,children:[]},a=k.attr(e,"uri"),s=k.attr(e,"element");a&&(r.uri=a),s&&(r.element=s);for(const t of k.elements(e))if("r"===t.localName)r.children.push(this.parseRun(t,r));return r}parseRun(e,t){var a={type:T.Run,parent:t,children:[]};for(let t of k.elements(e))switch(t=this.checkAlternateContent(t),t.localName){case"t":a.children.push({type:T.Text,text:t.textContent});break;case"delText":a.children.push({type:T.DeletedText,text:t.textContent});break;case"commentReference":a.children.push(new Ae(k.attr(t,"id")));break;case"fldSimple":a.children.push({type:T.SimpleField,instruction:k.attr(t,"instr"),lock:k.boolAttr(t,"lock",!1),dirty:k.boolAttr(t,"dirty",!1)});break;case"instrText":a.fieldRun=!0,a.children.push({type:T.Instruction,text:t.textContent});break;case"fldChar":a.fieldRun=!0,a.children.push({type:T.ComplexField,charType:k.attr(t,"fldCharType"),lock:k.boolAttr(t,"lock",!1),dirty:k.boolAttr(t,"dirty",!1)});break;case"noBreakHyphen":a.children.push({type:T.NoBreakHyphen});break;case"br":a.children.push({type:T.Break,break:k.attr(t,"type")||"textWrapping"});break;case"lastRenderedPageBreak":a.children.push({type:T.Break,break:"lastRenderedPageBreak"});break;case"sym":a.children.push({type:T.Symbol,font:r(k.attr(t,"font")),char:k.attr(t,"char")});break;case"tab":a.children.push({type:T.Tab});break;case"footnoteReference":a.children.push({type:T.FootnoteReference,id:k.attr(t,"id")});break;case"endnoteReference":a.children.push({type:T.EndnoteReference,id:k.attr(t,"id")});break;case"drawing":let e=this.parseDrawing(t);e&&(a.children=[e]);break;case"pict":a.children.push(this.parseVmlPicture(t));break;case"rPr":this.parseRunProperties(t,a)}return a}parseMathElement(e){const t=`${e.localName}Pr`,r={type:Le[e.localName],children:[]};for(const s of k.elements(e)){if(Le[s.localName])r.children.push(this.parseMathElement(s));else if("r"==s.localName){var a=this.parseRun(s);a.type=T.MmlRun,r.children.push(a)}else s.localName==t&&(r.props=this.parseMathProperies(s))}return r}parseMathProperies(e){const t={};for(const r of k.elements(e))switch(r.localName){case"chr":t.char=k.attr(r,"val");break;case"vertJc":t.verticalJustification=k.attr(r,"val");break;case"pos":t.position=k.attr(r,"val");break;case"degHide":t.hideDegree=k.boolAttr(r,"val");break;case"begChr":t.beginChar=k.attr(r,"val");break;case"endChr":t.endChar=k.attr(r,"val")}return t}parseRunProperties(e,t){this.parseDefaultProperties(e,t.cssStyle={},null,e=>{switch(e.localName){case"rStyle":t.styleName=k.attr(e,"val");break;case"vertAlign":t.verticalAlign=_e.valueOfVertAlign(e,!0);break;default:return!1}return!0})}parseVmlPicture(e){const t={type:T.VmlPicture,children:[]};for(const r of k.elements(e)){const e=we(r,this);e&&t.children.push(e)}return t}checkAlternateContent(e){if("AlternateContent"!=e.localName)return e;var t=k.element(e,"Choice");if(t){var r=k.attr(t,"Requires"),a=e.lookupNamespaceURI(r);if(Fe.includes(a))return t.firstElementChild}return k.element(e,"Fallback")?.firstElementChild}parseDrawing(e){for(var t of k.elements(e))switch(t.localName){case"inline":case"anchor":return this.parseDrawingWrapper(t)}}parseDrawingWrapper(e){var t={type:T.Drawing,children:[],cssStyle:{}},r="anchor"==e.localName;let a=null,s=k.boolAttr(e,"simplePos");k.boolAttr(e,"behindDoc");let n={relative:"page",align:"left",offset:"0"},l={relative:"page",align:"top",offset:"0"};for(var o of k.elements(e))switch(o.localName){case"simplePos":s&&(n.offset=k.lengthAttr(o,"x",m),l.offset=k.lengthAttr(o,"y",m));break;case"extent":t.cssStyle.width=k.lengthAttr(o,"cx",m),t.cssStyle.height=k.lengthAttr(o,"cy",m);break;case"positionH":case"positionV":if(!s){let e="positionH"==o.localName?n:l;var i=k.element(o,"align"),c=k.element(o,"posOffset");e.relative=k.attr(o,"relativeFrom")??e.relative,i&&(e.align=i.textContent),c&&(e.offset=g(c.textContent,m))}break;case"wrapTopAndBottom":a="wrapTopAndBottom";break;case"wrapNone":a="wrapNone";break;case"graphic":var h=this.parseGraphic(o);h&&t.children.push(h)}return"wrapTopAndBottom"==a?(t.cssStyle.display="block",n.align&&(t.cssStyle["text-align"]=n.align,t.cssStyle.width="100%")):"wrapNone"==a?(t.cssStyle.display="block",t.cssStyle.position="relative",t.cssStyle.width="0px",t.cssStyle.height="0px",n.offset&&(t.cssStyle.left=n.offset),l.offset&&(t.cssStyle.top=l.offset)):!r||"left"!=n.align&&"right"!=n.align||(t.cssStyle.float=n.align),t}parseGraphic(e){var t=k.element(e,"graphicData");for(let e of k.elements(t))if("pic"===e.localName)return this.parsePicture(e);return null}parsePicture(e){var t={type:T.Image,src:"",cssStyle:{}},r=k.element(e,"blipFill"),a=k.element(r,"blip"),s=k.element(r,"srcRect");t.src=k.attr(a,"embed"),s&&(t.srcRect=[k.intAttr(s,"l",0)/1e5,k.intAttr(s,"t",0)/1e5,k.intAttr(s,"r",0)/1e5,k.intAttr(s,"b",0)/1e5]);var n=k.element(e,"spPr"),l=k.element(n,"xfrm");if(t.cssStyle.position="relative",l)for(var o of(t.rotation=k.intAttr(l,"rot",0)/6e4,k.elements(l)))switch(o.localName){case"ext":t.cssStyle.width=k.lengthAttr(o,"cx",m),t.cssStyle.height=k.lengthAttr(o,"cy",m);break;case"off":t.cssStyle.left=k.lengthAttr(o,"x",m),t.cssStyle.top=k.lengthAttr(o,"y",m)}return t}parseTable(e){var t={type:T.Table,children:[]};for(const r of k.elements(e))switch(r.localName){case"tr":t.children.push(this.parseTableRow(r));break;case"tblGrid":t.columns=this.parseTableColumns(r);break;case"tblPr":this.parseTableProperties(r,t)}return t}parseTableColumns(e){var t=[];for(const r of k.elements(e))if("gridCol"===r.localName)t.push({width:k.lengthAttr(r,"w")});return t}parseTableProperties(e,t){switch(t.cssStyle={},t.cellStyle={},this.parseDefaultProperties(e,t.cssStyle,t.cellStyle,e=>{switch(e.localName){case"tblStyle":t.styleName=k.attr(e,"val");break;case"tblLook":t.className=_e.classNameOftblLook(e);break;case"tblpPr":this.parseTablePosition(e,t);break;case"tblStyleColBandSize":t.colBandSize=k.intAttr(e,"val");break;case"tblStyleRowBandSize":t.rowBandSize=k.intAttr(e,"val");break;case"hidden":t.cssStyle.display="none";break;default:return!1}return!0}),t.cssStyle["text-align"]){case"center":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto",t.cssStyle["margin-right"]="auto";break;case"right":delete t.cssStyle["text-align"],t.cssStyle["margin-left"]="auto"}}parseTablePosition(e,t){var r=k.lengthAttr(e,"topFromText"),a=k.lengthAttr(e,"bottomFromText"),s=k.lengthAttr(e,"rightFromText"),n=k.lengthAttr(e,"leftFromText");t.cssStyle.float="left",t.cssStyle["margin-bottom"]=_e.addSize(t.cssStyle["margin-bottom"],a),t.cssStyle["margin-left"]=_e.addSize(t.cssStyle["margin-left"],n),t.cssStyle["margin-right"]=_e.addSize(t.cssStyle["margin-right"],s),t.cssStyle["margin-top"]=_e.addSize(t.cssStyle["margin-top"],r)}parseTableRow(e){var t={type:T.Row,children:[]};for(const r of k.elements(e))switch(r.localName){case"tc":t.children.push(this.parseTableCell(r));break;case"trPr":case"tblPrEx":this.parseTableRowProperties(r,t)}return t}parseTableRowProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,e=>{switch(e.localName){case"cnfStyle":t.className=_e.classNameOfCnfStyle(e);break;case"tblHeader":t.isHeader=k.boolAttr(e,"val");break;case"gridBefore":t.gridBefore=k.intAttr(e,"val");break;case"gridAfter":t.gridAfter=k.intAttr(e,"val");break;default:return!1}return!0})}parseTableCell(e){var t={type:T.Cell,children:[]};for(const r of k.elements(e))switch(r.localName){case"tbl":t.children.push(this.parseTable(r));break;case"p":t.children.push(this.parseParagraph(r));break;case"tcPr":this.parseTableCellProperties(r,t)}return t}parseTableCellProperties(e,t){t.cssStyle=this.parseDefaultProperties(e,{},null,e=>{switch(e.localName){case"gridSpan":t.span=k.intAttr(e,"val",null);break;case"vMerge":t.verticalMerge=k.attr(e,"val")??"continue";break;case"cnfStyle":t.className=_e.classNameOfCnfStyle(e);break;default:return!1}return!0}),this.parseTableCellVerticalText(e,t)}parseTableCellVerticalText(e,t){const r={btLr:{writingMode:"vertical-rl",transform:"rotate(180deg)"},lrTb:{writingMode:"vertical-lr",transform:"none"},tbRl:{writingMode:"vertical-rl",transform:"none"}};for(const a of k.elements(e))if("textDirection"===a.localName){const e=r[k.attr(a,"val")]||{writingMode:"horizontal-tb"};t.cssStyle["writing-mode"]=e.writingMode,t.cssStyle.transform=e.transform}}parseDefaultProperties(e,t=null,r=null,a=null){t=t||{};for(const s of k.elements(e))if(!a?.(s))switch(s.localName){case"jc":t["text-align"]=_e.valueOfJc(s);break;case"textAlignment":t["vertical-align"]=_e.valueOfTextAlignment(s);break;case"color":t.color=He.colorAttr(s,"val",null,Be);break;case"sz":t["font-size"]=t["min-height"]=k.lengthAttr(s,"val",p);break;case"shd":t["background-color"]=He.colorAttr(s,"fill",null,Re);break;case"highlight":t["background-color"]=He.colorAttr(s,"val",null,$e);break;case"vertAlign":break;case"position":t.verticalAlign=k.lengthAttr(s,"val",p);break;case"tcW":if(this.options.ignoreWidth)break;case"tblW":t.width=_e.valueOfSize(s,"w");break;case"trHeight":this.parseTrHeight(s,t);break;case"strike":t["text-decoration"]=k.boolAttr(s,"val",!0)?"line-through":"none";break;case"b":t["font-weight"]=k.boolAttr(s,"val",!0)?"bold":"normal";break;case"i":t["font-style"]=k.boolAttr(s,"val",!0)?"italic":"normal";break;case"caps":t["text-transform"]=k.boolAttr(s,"val",!0)?"uppercase":"none";break;case"smallCaps":t["font-variant"]=k.boolAttr(s,"val",!0)?"small-caps":"none";break;case"u":this.parseUnderline(s,t);break;case"ind":case"tblInd":this.parseIndentation(s,t);break;case"rFonts":this.parseFont(s,t);break;case"tblBorders":this.parseBorderProperties(s,r||t);break;case"tblCellSpacing":t["border-spacing"]=_e.valueOfMargin(s),t["border-collapse"]="separate";break;case"pBdr":this.parseBorderProperties(s,t);break;case"bdr":t.border=_e.valueOfBorder(s);break;case"tcBorders":this.parseBorderProperties(s,t);break;case"vanish":k.boolAttr(s,"val",!0)&&(t.display="none");break;case"kern":case"noWrap":break;case"tblCellMar":case"tcMar":this.parseMarginProperties(s,r||t);break;case"tblLayout":t["table-layout"]=_e.valueOfTblLayout(s);break;case"vAlign":t["vertical-align"]=_e.valueOfTextAlignment(s);break;case"spacing":"pPr"==e.localName&&this.parseSpacing(s,t);break;case"wordWrap":k.boolAttr(s,"val")&&(t["overflow-wrap"]="break-word");break;case"suppressAutoHyphens":t.hyphens=k.boolAttr(s,"val",!0)?"none":"auto";break;case"lang":t.$lang=k.attr(s,"val");break;case"rtl":case"bidi":k.boolAttr(s,"val",!0)&&(t.direction="rtl");break;case"bCs":case"iCs":case"szCs":case"tabs":case"outlineLvl":case"contextualSpacing":case"tblStyleColBandSize":case"tblStyleRowBandSize":case"webHidden":case"pageBreakBefore":case"suppressLineNumbers":case"keepLines":case"keepNext":case"widowControl":case"bidi":case"rtl":case"noProof":break;default:this.options.debug&&console.warn(`DOCX: Unknown document element: ${e.localName}.${s.localName}`)}return t}parseUnderline(e,t){var r=k.attr(e,"val");if(null!=r){switch(r){case"dash":case"dashDotDotHeavy":case"dashDotHeavy":case"dashedHeavy":case"dashLong":case"dashLongHeavy":case"dotDash":case"dotDotDash":t["text-decoration"]="underline dashed";break;case"dotted":case"dottedHeavy":t["text-decoration"]="underline dotted";break;case"double":t["text-decoration"]="underline double";break;case"single":case"thick":case"words":t["text-decoration"]="underline";break;case"wave":case"wavyDouble":case"wavyHeavy":t["text-decoration"]="underline wavy";break;case"none":t["text-decoration"]="none"}var a=He.colorAttr(e,"color");a&&(t["text-decoration-color"]=a)}}parseFont(e,t){var a=[k.attr(e,"ascii"),_e.themeValue(e,"asciiTheme"),k.attr(e,"eastAsia")].filter(e=>e).map(e=>r(e));a.length>0&&(t["font-family"]=[...new Set(a)].join(", "))}parseIndentation(e,t){var r=k.lengthAttr(e,"firstLine"),a=k.lengthAttr(e,"hanging"),s=k.lengthAttr(e,"left"),n=k.lengthAttr(e,"start"),l=k.lengthAttr(e,"right"),o=k.lengthAttr(e,"end");r&&(t["text-indent"]=r),a&&(t["text-indent"]=`-${a}`),(s||n)&&(t["margin-inline-start"]=s||n),(l||o)&&(t["margin-inline-end"]=l||o)}parseSpacing(e,t){var r=k.lengthAttr(e,"before"),a=k.lengthAttr(e,"after"),s=k.intAttr(e,"line",null),n=k.attr(e,"lineRule");if(r&&(t["margin-top"]=r),a&&(t["margin-bottom"]=a),null!==s)switch(n){case"auto":t["line-height"]=`${(s/240).toFixed(2)}`;break;case"atLeast":t["line-height"]=`calc(100% + ${s/20}pt)`;break;default:t["line-height"]=t["min-height"]=s/20+"pt"}}parseMarginProperties(e,t){for(const r of k.elements(e))switch(r.localName){case"left":t["padding-left"]=_e.valueOfMargin(r);break;case"right":t["padding-right"]=_e.valueOfMargin(r);break;case"top":t["padding-top"]=_e.valueOfMargin(r);break;case"bottom":t["padding-bottom"]=_e.valueOfMargin(r)}}parseTrHeight(e,t){k.attr(e,"hRule"),t.height=k.lengthAttr(e,"val")}parseBorderProperties(e,t){for(const r of k.elements(e))switch(r.localName){case"start":case"left":t["border-left"]=_e.valueOfBorder(r);break;case"end":case"right":t["border-right"]=_e.valueOfBorder(r);break;case"top":t["border-top"]=_e.valueOfBorder(r);break;case"bottom":t["border-bottom"]=_e.valueOfBorder(r)}}}const Oe=["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","none","red","white","yellow"];class He{static colorAttr(e,t,r=null,a="black"){var s=k.attr(e,t);if(s)return"auto"==s?a:Oe.includes(s)?s:`#${s}`;var n=k.attr(e,"themeColor");return n?`var(--docx-${n}-color)`:r}}class _e{static themeValue(e,t){var r=k.attr(e,t);return r?`var(--docx-${r}-font)`:null}static valueOfSize(e,t){var r=h;switch(k.attr(e,"type")){case"dxa":break;case"pct":r=f;break;case"auto":return"auto"}return k.lengthAttr(e,t,r)}static valueOfMargin(e){return k.lengthAttr(e,"w")}static valueOfBorder(e){var t=_e.parseBorderType(k.attr(e,"val"));if("none"==t)return"none";var r=He.colorAttr(e,"color");return`${k.lengthAttr(e,"sz",u)} ${t} ${"auto"==r?De:r}`}static parseBorderType(e){switch(e){case"single":case"dashDotStroked":case"thick":case"thickThinLargeGap":case"thickThinMediumGap":case"thickThinSmallGap":case"thinThickLargeGap":case"thinThickMediumGap":case"thinThickSmallGap":case"thinThickThinLargeGap":case"thinThickThinMediumGap":case"thinThickThinSmallGap":case"threeDEmboss":case"threeDEngrave":case"wave":return"solid";case"dashed":case"dashSmallGap":return"dashed";case"dotDash":case"dotDotDash":case"dotted":return"dotted";case"double":case"doubleWave":case"triple":return"double";case"inset":return"inset";case"nil":case"none":return"none";case"outset":return"outset"}return"solid"}static valueOfTblLayout(e){return"fixed"==k.attr(e,"val")?"fixed":"auto"}static classNameOfCnfStyle(e){const t=k.attr(e,"val");return["first-row","last-row","first-col","last-col","odd-col","even-col","odd-row","even-row","ne-cell","nw-cell","se-cell","sw-cell"].filter((e,r)=>"1"==t[r]).join(" ")}static valueOfJc(e){var t=k.attr(e,"val");switch(t){case"start":case"left":return"left";case"center":return"center";case"end":case"right":return"right";case"both":return"justify"}return t}static valueOfVertAlign(e,t=!1){var r=k.attr(e,"val");switch(r){case"subscript":return"sub";case"superscript":return t?"sup":"super"}return t?null:r}static valueOfTextAlignment(e){var t=k.attr(e,"val");switch(t){case"auto":case"baseline":return"baseline";case"top":return"top";case"center":return"middle";case"bottom":return"bottom"}return t}static addSize(e,t){return null==e?t:null==t?e:`calc(${e} + ${t})`}static classNameOftblLook(e){const t=k.hexAttr(e,"val",0);let r="";return(k.boolAttr(e,"firstRow")||32&t)&&(r+=" first-row"),(k.boolAttr(e,"lastRow")||64&t)&&(r+=" last-row"),(k.boolAttr(e,"firstColumn")||128&t)&&(r+=" first-col"),(k.boolAttr(e,"lastColumn")||256&t)&&(r+=" last-col"),(k.boolAttr(e,"noHBand")||512&t)&&(r+=" no-hband"),(k.boolAttr(e,"noVBand")||1024&t)&&(r+=" no-vband"),r.trim()}}const ze={pos:0,leader:"none",style:"left"};function Ve(e,t,r,a=.75){const s=e.closest("p"),n=e.getBoundingClientRect(),l=s.getBoundingClientRect(),o=getComputedStyle(s),i=t?.length>0?t.map(e=>({pos:je(e.position),leader:e.leader,style:e.style})).sort((e,t)=>e.pos-t.pos):[ze],c=i[i.length-1],h=l.width*a,m=je(r);let p=c.pos+m;if(p"clear"!=e.style&&e.pos>f);if(null==g)return;let b=1;if("right"==g.style||"center"==g.style){const t=Array.from(s.querySelectorAll(`.${e.className}`)),r=t.indexOf(e)+1,n=document.createRange();n.setStart(e,1),re.id)),e.endnotesPart&&(this.endnoteMap=n(e.endnotesPart.notes,e=>e.id)),e.settingsPart&&(this.defaultTabSize=e.settingsPart.settings?.defaultTabStop),!a.ignoreFonts&&e.fontTablePart&&this.renderFontTable(e.fontTablePart,r);var s=this.renderSections(e.documentPart.body);this.options.inWrapper?t.appendChild(this.renderWrapper(s)):qe(t,s),this.commentHighlight&&a.renderComments&&CSS.highlights.set(`${this.className}-comments`,this.commentHighlight),this.postRenderTasks.forEach(e=>e()),await Promise.allSettled(this.tasks),this.refreshTabStops()}renderTheme(e,t){const r={},a=e.theme?.fontScheme;a&&(a.majorFont&&(r["--docx-majorHAnsi-font"]=a.majorFont.latinTypeface),a.minorFont&&(r["--docx-minorHAnsi-font"]=a.minorFont.latinTypeface));const s=e.theme?.colorScheme;if(s)for(let[e,t]of Object.entries(s.colors))r[`--docx-${e}-color`]=`#${t}`;const n=this.styleToString(`.${this.className}`,r);t.appendChild(this.createStyleElement(n))}renderFontTable(e,t){for(let a of e.fonts)for(let e of a.embedFontRefs)this.tasks.push(this.document.loadFont(e.id,e.key).then(s=>{const n={"font-family":r(a.name),src:`url(${s})`};"bold"!=e.type&&"boldItalic"!=e.type||(n["font-weight"]="bold"),"italic"!=e.type&&"boldItalic"!=e.type||(n["font-style"]="italic");const l=this.styleToString("@font-face",n);t.appendChild(this.createComment(`docxjs ${a.name} font`)),t.appendChild(this.createStyleElement(l))}))}processStyleName(e){return e?`${this.className}_${function(e){return e?.replace(/[ .]+/g,"-").replace(/[&]+/g,"and").toLowerCase()}(e)}`:this.className}processStyles(e){const t=n(e.filter(e=>null!=e.id),e=>e.id);for(const a of e.filter(e=>e.basedOn)){var r=t[a.basedOn];if(r){a.paragraphProps=o(a.paragraphProps,r.paragraphProps),a.runProps=o(a.runProps,r.runProps);for(const e of r.styles){const t=a.styles.find(t=>t.target==e.target);t?this.copyStyleProperties(e.values,t.values):a.styles.push({...e,values:{...e.values}})}}else this.options.debug&&console.warn(`Can't find base style ${a.basedOn}`)}for(let t of e)t.cssName=this.processStyleName(t.id);return t}prodessNumberings(e){for(let t of e.filter(e=>e.pStyleName)){const e=this.findStyle(t.pStyleName);e?.paragraphProps?.numbering&&(e.paragraphProps.numbering.level=t.level)}}processElement(e){if(e.children)for(var t of e.children)t.parent=e,t.type==T.Table?this.processTable(t):this.processElement(t)}processTable(e){for(var t of e.children)for(var r of t.children)r.cssStyle=this.copyStyleProperties(e.cellStyle,r.cssStyle,["border-left","border-right","border-top","border-bottom","padding-left","padding-right","padding-top","padding-bottom"]),this.processElement(r)}copyStyleProperties(e,t,r=null){if(!e)return t;for(var a of(null==t&&(t={}),null==r&&(r=Object.getOwnPropertyNames(e)),r))e.hasOwnProperty(a)&&!t.hasOwnProperty(a)&&(t[a]=e[a]);return t}createPageElement(e,t){var r=this.createElement("section",{className:e});return t&&(t.pageMargins&&(r.style.paddingLeft=t.pageMargins.left,r.style.paddingRight=t.pageMargins.right,r.style.paddingTop=t.pageMargins.top,r.style.paddingBottom=t.pageMargins.bottom),t.pageSize&&(this.options.ignoreWidth||(r.style.width=t.pageSize.width),this.options.ignoreHeight||(r.style.minHeight=t.pageSize.height))),r}createSectionContent(e){var t=this.createElement("article");return e.columns&&e.columns.numberOfColumns&&(t.style.columnCount=`${e.columns.numberOfColumns}`,t.style.columnGap=e.columns.space,e.columns.separator&&(t.style.columnRule="1px solid black")),t}renderSections(e){const t=[];this.processElement(e);const r=this.splitBySection(e.children,e.props),a=this.groupByPageBreaks(r);let s=null;for(let r=0,l=a.length;r"first"==e.type):null)??(r%2==1?e.find(e=>"even"==e.type):null)??e.find(e=>"default"==e.type),l=n&&this.document.findPartByRelId(n.id,this.document.documentPart);if(l){this.currentPart=l,this.usedHederFooterParts.includes(l.path)||(this.processElement(l.rootElement),this.usedHederFooterParts.push(l.path));const[e]=this.renderElements([l.rootElement],s);t?.pageMargins&&(l.rootElement.type===T.Header?(e.style.marginTop=`calc(${t.pageMargins.header} - ${t.pageMargins.top})`,e.style.minHeight=`calc(${t.pageMargins.top} - ${t.pageMargins.header})`):l.rootElement.type===T.Footer&&(e.style.marginBottom=`calc(${t.pageMargins.footer} - ${t.pageMargins.bottom})`,e.style.minHeight=`calc(${t.pageMargins.bottom} - ${t.pageMargins.footer})`)),this.currentPart=null}}}isPageBreakElement(e){return e.type==T.Break&&("lastRenderedPageBreak"==e.break?!this.options.ignoreLastRenderedPageBreak:"page"==e.break)}isPageBreakSection(e,t){return!!e&&(!!t&&(e.pageSize?.orientation!=t.pageSize?.orientation||e.pageSize?.width!=t.pageSize?.width||e.pageSize?.height!=t.pageSize?.height))}splitBySection(e,t){var r={sectProps:null,elements:[],pageBreak:!1},a=[r];for(let t of e){if(t.type==T.Paragraph){const e=this.findStyle(t.styleName);e?.paragraphProps?.pageBreakBefore&&(r.sectProps=s,r.pageBreak=!0,r={sectProps:null,elements:[],pageBreak:!1},a.push(r))}if(r.elements.push(t),t.type==T.Paragraph){const e=t;var s=e.sectionProps,n=-1,l=-1;if(this.options.breakPages&&e.children&&(n=e.children.findIndex(e=>-1!=(l=e.children?.findIndex(this.isPageBreakElement.bind(this))??-1))),(s||-1!=n)&&(r.sectProps=s,r.pageBreak=-1!=n,r={sectProps:null,elements:[],pageBreak:!1},a.push(r)),-1!=n){let a=e.children[n],s=l=0;e--)null==a[e].sectProps?a[e].sectProps=c??t:c=a[e].sectProps;return a}groupByPageBreaks(e){let t,r=[];const a=[r];for(let s of e)r.push(s),(this.options.ignoreLastRenderedPageBreak||s.pageBreak||this.isPageBreakSection(t,s.sectProps))&&a.push(r=[]),t=s.sectProps;return a.filter(e=>e.length>0)}renderWrapper(e){return this.createElement("div",{className:`${this.className}-wrapper`},e)}renderDefaultStyle(){var e=this.className,t=`\n.${e}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } \n.${e}-wrapper>section.${e} { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); margin-bottom: 30px; }`;this.options.hideWrapperOnPrint&&(t=`@media not print { ${t} }`);var r=`${t}\n.${e} { color: black; hyphens: auto; text-underline-position: from-font; }\nsection.${e} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; }\nsection.${e}>article { margin-bottom: auto; z-index: 1; }\nsection.${e}>footer { z-index: 1; }\n.${e} table { border-collapse: collapse; }\n.${e} table td, .${e} table th { vertical-align: top; }\n.${e} p { margin: 0pt; min-height: 1em; }\n.${e} span { white-space: pre-wrap; overflow-wrap: break-word; }\n.${e} a { color: inherit; text-decoration: inherit; }\n.${e} svg { fill: transparent; }\n`;return this.options.renderComments&&(r+=`\n.${e}-comment-ref { cursor: default; }\n.${e}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; }\n.${e}-comment-ref:hover~.${e}-comment-popover { display: block; }\n.${e}-comment-author,.${e}-comment-date { font-size: 0.875rem; color: #888; }\n`),this.createStyleElement(r)}renderNumbering(e,t){var r="",a=[];for(var s of e){var n=`p.${this.numberingClass(s.id,s.level)}`,l="none";if(s.bullet){let e=`--${this.className}-${s.bullet.src}`.toLowerCase();r+=this.styleToString(`${n}:before`,{content:"' '",display:"inline-block",background:`var(${e})`},s.bullet.style),this.tasks.push(this.document.loadNumberingImage(s.bullet.src).then(r=>{var a=`${this.rootSelector} { ${e}: url(${r}) }`;t.appendChild(this.createStyleElement(a))}))}else if(s.levelText){let e=this.numberingCounter(s.id,s.level);const t=e+" "+(s.start-1);s.level>0&&(r+=this.styleToString(`p.${this.numberingClass(s.id,s.level-1)}`,{"counter-set":t})),a.push(t),r+=this.styleToString(`${n}:before`,{content:this.levelTextToContent(s.levelText,s.suff,s.id,this.numFormatToCssValue(s.format)),"counter-increment":e,...s.rStyle})}else l=this.numFormatToCssValue(s.format);r+=this.styleToString(n,{display:"list-item","list-style-position":"inside","list-style-type":l,...s.pStyle})}return a.length>0&&(r+=this.styleToString(this.rootSelector,{"counter-reset":a.join(" ")})),this.createStyleElement(r)}renderStyles(e){var t="";const r=this.styleMap,a=n(e.filter(e=>e.isDefault),e=>e.target);for(const n of e){var s=n.styles;if(n.linked){var l=n.linked&&r[n.linked];l?s=s.concat(l.styles):this.options.debug&&console.warn(`Can't find linked style ${n.linked}`)}for(const e of s){var o=`${n.target??""}.${n.cssName}`;n.target!=e.target&&(o+=` ${e.target}`),a[n.target]==n&&(o=`.${this.className} ${n.target}, `+o),t+=this.styleToString(o,e.values)}}return this.createStyleElement(t)}renderNotes(e,t,r){var a=e.map(e=>t[e]).filter(e=>e);if(a.length>0){var s=this.createElement("ol",null,this.renderElements(a));r.appendChild(s)}}renderElement(e){switch(e.type){case T.Paragraph:return this.renderParagraph(e);case T.BookmarkStart:return this.renderBookmarkStart(e);case T.BookmarkEnd:return null;case T.Run:return this.renderRun(e);case T.Table:return this.renderTable(e);case T.Row:return this.renderTableRow(e);case T.Cell:return this.renderTableCell(e);case T.Hyperlink:return this.renderHyperlink(e);case T.SmartTag:return this.renderSmartTag(e);case T.Drawing:return this.renderDrawing(e);case T.Image:return this.renderImage(e);case T.Text:case T.Text:return this.renderText(e);case T.DeletedText:return this.renderDeletedText(e);case T.Tab:return this.renderTab(e);case T.Symbol:return this.renderSymbol(e);case T.Break:return this.renderBreak(e);case T.Footer:return this.renderContainer(e,"footer");case T.Header:return this.renderContainer(e,"header");case T.Footnote:case T.Endnote:return this.renderContainer(e,"li");case T.FootnoteReference:return this.renderFootnoteReference(e);case T.EndnoteReference:return this.renderEndnoteReference(e);case T.NoBreakHyphen:return this.createElement("wbr");case T.VmlPicture:return this.renderVmlPicture(e);case T.VmlElement:return this.renderVmlElement(e);case T.MmlMath:return this.renderContainerNS(e,Xe,"math",{xmlns:Xe});case T.MmlMathParagraph:return this.renderContainer(e,"span");case T.MmlFraction:return this.renderContainerNS(e,Xe,"mfrac");case T.MmlBase:return this.renderContainerNS(e,Xe,e.parent.type==T.MmlMatrixRow?"mtd":"mrow");case T.MmlNumerator:case T.MmlDenominator:case T.MmlFunction:case T.MmlLimit:case T.MmlBox:return this.renderContainerNS(e,Xe,"mrow");case T.MmlGroupChar:return this.renderMmlGroupChar(e);case T.MmlLimitLower:return this.renderContainerNS(e,Xe,"munder");case T.MmlMatrix:return this.renderContainerNS(e,Xe,"mtable");case T.MmlMatrixRow:return this.renderContainerNS(e,Xe,"mtr");case T.MmlRadical:return this.renderMmlRadical(e);case T.MmlSuperscript:return this.renderContainerNS(e,Xe,"msup");case T.MmlSubscript:return this.renderContainerNS(e,Xe,"msub");case T.MmlDegree:case T.MmlSuperArgument:case T.MmlSubArgument:return this.renderContainerNS(e,Xe,"mn");case T.MmlFunctionName:return this.renderContainerNS(e,Xe,"ms");case T.MmlDelimiter:return this.renderMmlDelimiter(e);case T.MmlRun:return this.renderMmlRun(e);case T.MmlNary:return this.renderMmlNary(e);case T.MmlPreSubSuper:return this.renderMmlPreSubSuper(e);case T.MmlBar:return this.renderMmlBar(e);case T.MmlEquationArray:return this.renderMllList(e);case T.Inserted:return this.renderInserted(e);case T.Deleted:return this.renderDeleted(e);case T.CommentRangeStart:return this.renderCommentRangeStart(e);case T.CommentRangeEnd:return this.renderCommentRangeEnd(e);case T.CommentReference:return this.renderCommentReference(e);case T.AltChunk:return this.renderAltChunk(e)}return null}renderElements(e,t){if(null==e)return null;var r=e.flatMap(e=>this.renderElement(e)).filter(e=>null!=e);return t&&qe(t,r),r}renderContainer(e,t,r){return this.createElement(t,r,this.renderElements(e.children))}renderContainerNS(e,t,r,a){return this.createElementNS(t,r,a,this.renderElements(e.children))}renderParagraph(e){var t=this.renderContainer(e,"p");const r=this.findStyle(e.styleName);e.tabs??(e.tabs=r?.paragraphProps?.tabs),this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),this.renderCommonProperties(t.style,e);const a=e.numbering??r?.paragraphProps?.numbering;return a&&t.classList.add(this.numberingClass(a.id,a.level)),t}renderRunProperties(e,t){this.renderCommonProperties(e,t)}renderCommonProperties(e,t){null!=t&&(t.color&&(e.color=t.color),t.fontSize&&(e["font-size"]=t.fontSize))}renderHyperlink(e){var t=this.renderContainer(e,"a");this.renderStyleValues(e.cssStyle,t);let r="";if(e.id){const t=this.document.documentPart.rels.find(t=>t.id==e.id&&"External"===t.targetMode);r=t?.target??r}return e.anchor&&(r+=`#${e.anchor}`),t.href=r,t}renderSmartTag(e){return this.renderContainer(e,"span")}renderCommentRangeStart(e){if(!this.options.renderComments)return null;const t=new Range;this.commentHighlight?.add(t);const r=this.createComment(`start of comment #${e.id}`);return this.later(()=>t.setStart(r,0)),this.commentMap[e.id]=t,r}renderCommentRangeEnd(e){if(!this.options.renderComments)return null;const t=this.commentMap[e.id],r=this.createComment(`end of comment #${e.id}`);return this.later(()=>t?.setEnd(r,0)),r}renderCommentReference(e){if(!this.options.renderComments)return null;var t=this.document.commentsPart?.commentMap[e.id];if(!t)return null;const r=new DocumentFragment,a=this.createElement("span",{className:`${this.className}-comment-ref`},["💬"]),s=this.createElement("div",{className:`${this.className}-comment-popover`});return this.renderCommentContent(t,s),r.appendChild(this.createComment(`comment #${t.id} by ${t.author} on ${t.date}`)),r.appendChild(a),r.appendChild(s),r}renderAltChunk(e){if(!this.options.renderAltChunks)return null;var t=this.createElement("iframe");return this.tasks.push(this.document.loadAltChunk(e.id,this.currentPart).then(e=>{t.srcdoc=e})),t}renderCommentContent(e,t){t.appendChild(this.createElement("div",{className:`${this.className}-comment-author`},[e.author])),t.appendChild(this.createElement("div",{className:`${this.className}-comment-date`},[new Date(e.date).toLocaleString()])),this.renderElements(e.children,t)}renderDrawing(e){var t=this.renderContainer(e,"div");return t.style.display="inline-block",t.style.position="relative",t.style.textIndent="0px",this.renderStyleValues(e.cssStyle,t),t}renderImage(e){let t=this.createElement("img"),r=e.cssStyle?.transform;if(this.renderStyleValues(e.cssStyle,t),e.srcRect&&e.srcRect.some(e=>0!=e)){var[a,s,n,l]=e.srcRect;r=`scale(${1/(1-a-n)}, ${1/(1-s-l)})`,t.style["clip-path"]=`rect(${(100*s).toFixed(2)}% ${(100*(1-n)).toFixed(2)}% ${(100*(1-l)).toFixed(2)}% ${(100*a).toFixed(2)}%)`}return e.rotation&&(r=`rotate(${e.rotation}deg) ${r??""}`),t.style.transform=r?.trim(),this.document&&this.tasks.push(this.document.loadDocumentImage(e.src,this.currentPart).then(e=>{t.src=e})),t}renderText(e){return this.htmlDocument.createTextNode(e.text)}renderDeletedText(e){return this.options.renderChanges?this.renderText(e):null}renderBreak(e){return"textWrapping"==e.break?this.createElement("br"):null}renderInserted(e){return this.options.renderChanges?this.renderContainer(e,"ins"):this.renderElements(e.children)}renderDeleted(e){return this.options.renderChanges?this.renderContainer(e,"del"):null}renderSymbol(e){var t=this.createElement("span");return t.style.fontFamily=e.font,t.innerHTML=`&#x${e.char};`,t}renderFootnoteReference(e){var t=this.createElement("sup");return this.currentFootnoteIds.push(e.id),t.textContent=`${this.currentFootnoteIds.length}`,t}renderEndnoteReference(e){var t=this.createElement("sup");return this.currentEndnoteIds.push(e.id),t.textContent=`${this.currentEndnoteIds.length}`,t}renderTab(e){var t=this.createElement("span");if(t.innerHTML=" ",this.options.experimental){t.className=this.tabStopClass();var r=function(e,t){var r=e.parent;for(;null!=r&&r.type!=t;)r=r.parent;return r}(e,T.Paragraph)?.tabs;this.currentTabs.push({stops:r,span:t})}return t}renderBookmarkStart(e){return this.createElement("span",{id:e.name})}renderRun(e){if(e.fieldRun)return null;const t=this.createElement("span");if(e.id&&(t.id=e.id),this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),e.verticalAlign){const r=this.createElement(e.verticalAlign);this.renderElements(e.children,r),t.appendChild(r)}else this.renderElements(e.children,t);return t}renderTable(e){let t=this.createElement("table");return this.tableCellPositions.push(this.currentCellPosition),this.tableVerticalMerges.push(this.currentVerticalMerge),this.currentVerticalMerge={},this.currentCellPosition={col:0,row:0},e.columns&&t.appendChild(this.renderTableColumns(e.columns)),this.renderClass(e,t),this.renderElements(e.children,t),this.renderStyleValues(e.cssStyle,t),this.currentVerticalMerge=this.tableVerticalMerges.pop(),this.currentCellPosition=this.tableCellPositions.pop(),t}renderTableColumns(e){let t=this.createElement("colgroup");for(let r of e){let e=this.createElement("col");r.width&&(e.style.width=r.width),t.appendChild(e)}return t}renderTableRow(e){let t=this.createElement("tr");return this.currentCellPosition.col=0,e.gridBefore&&t.appendChild(this.renderTableCellPlaceholder(e.gridBefore)),this.renderClass(e,t),this.renderElements(e.children,t),this.renderStyleValues(e.cssStyle,t),e.gridAfter&&t.appendChild(this.renderTableCellPlaceholder(e.gridAfter)),this.currentCellPosition.row++,t}renderTableCellPlaceholder(e){const t=this.createElement("td",{colSpan:e});return t.style.border="none",t}renderTableCell(e){let t=this.renderContainer(e,"td");const r=this.currentCellPosition.col;return e.verticalMerge?"restart"==e.verticalMerge?(this.currentVerticalMerge[r]=t,t.rowSpan=1):this.currentVerticalMerge[r]&&(this.currentVerticalMerge[r].rowSpan+=1,t.style.display="none"):this.currentVerticalMerge[r]=null,this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),e.span&&(t.colSpan=e.span),this.currentCellPosition.col+=t.colSpan,t}renderVmlPicture(e){return this.renderContainer(e,"div")}renderVmlElement(e){var t=this.createSvgElement("svg");t.setAttribute("style",e.cssStyleText);const r=this.renderVmlChildElement(e);return e.imageHref?.id&&this.tasks.push(this.document?.loadDocumentImage(e.imageHref.id,this.currentPart).then(e=>r.setAttribute("href",e))),t.appendChild(r),requestAnimationFrame(()=>{const e=t.firstElementChild.getBBox();t.setAttribute("width",`${Math.ceil(e.x+e.width)}`),t.setAttribute("height",`${Math.ceil(e.y+e.height)}`)}),t}renderVmlChildElement(e){const t=this.createSvgElement(e.tagName);Object.entries(e.attrs).forEach(([e,r])=>t.setAttribute(e,r));for(let r of e.children)r.type==T.VmlElement?t.appendChild(this.renderVmlChildElement(r)):t.appendChild(...i(this.renderElement(r)));return t}renderMmlRadical(e){const t=e.children.find(e=>e.type==T.MmlBase);if(e.props?.hideDegree)return this.createElementNS(Xe,"msqrt",null,this.renderElements([t]));const r=e.children.find(e=>e.type==T.MmlDegree);return this.createElementNS(Xe,"mroot",null,this.renderElements([t,r]))}renderMmlDelimiter(e){const t=[];return t.push(this.createElementNS(Xe,"mo",null,[e.props.beginChar??"("])),t.push(...this.renderElements(e.children)),t.push(this.createElementNS(Xe,"mo",null,[e.props.endChar??")"])),this.createElementNS(Xe,"mrow",null,t)}renderMmlNary(e){const t=[],r=n(e.children,e=>e.type),a=r[T.MmlSuperArgument],s=r[T.MmlSubArgument],l=a?this.createElementNS(Xe,"mo",null,i(this.renderElement(a))):null,o=s?this.createElementNS(Xe,"mo",null,i(this.renderElement(s))):null,c=this.createElementNS(Xe,"mo",null,[e.props?.char??"∫"]);return l||o?t.push(this.createElementNS(Xe,"munderover",null,[c,o,l])):l?t.push(this.createElementNS(Xe,"mover",null,[c,l])):o?t.push(this.createElementNS(Xe,"munder",null,[c,o])):t.push(c),t.push(...this.renderElements(r[T.MmlBase].children)),this.createElementNS(Xe,"mrow",null,t)}renderMmlPreSubSuper(e){const t=[],r=n(e.children,e=>e.type),a=r[T.MmlSuperArgument],s=r[T.MmlSubArgument],l=a?this.createElementNS(Xe,"mo",null,i(this.renderElement(a))):null,o=s?this.createElementNS(Xe,"mo",null,i(this.renderElement(s))):null,c=this.createElementNS(Xe,"mo",null);return t.push(this.createElementNS(Xe,"msubsup",null,[c,o,l])),t.push(...this.renderElements(r[T.MmlBase].children)),this.createElementNS(Xe,"mrow",null,t)}renderMmlGroupChar(e){const t="bot"===e.props.verticalJustification?"mover":"munder",r=this.renderContainerNS(e,Xe,t);return e.props.char&&r.appendChild(this.createElementNS(Xe,"mo",null,[e.props.char])),r}renderMmlBar(e){const t=this.renderContainerNS(e,Xe,"mrow");switch(e.props.position){case"top":t.style.textDecoration="overline";break;case"bottom":t.style.textDecoration="underline"}return t}renderMmlRun(e){const t=this.createElementNS(Xe,"ms",null,this.renderElements(e.children));return this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t),t}renderMllList(e){const t=this.createElementNS(Xe,"mtable");this.renderClass(e,t),this.renderStyleValues(e.cssStyle,t);for(let r of this.renderElements(e.children))t.appendChild(this.createElementNS(Xe,"mtr",null,[this.createElementNS(Xe,"mtd",null,[r])]));return t}renderStyleValues(e,t){for(let r in e)r.startsWith("$")?t.setAttribute(r.slice(1),e[r]):t.style[r]=e[r]}renderClass(e,t){e.className&&(t.className=e.className),e.styleName&&t.classList.add(this.processStyleName(e.styleName))}findStyle(e){return e&&this.styleMap?.[e]}numberingClass(e,t){return`${this.className}-num-${e}-${t}`}tabStopClass(){return`${this.className}-tab-stop`}styleToString(e,t,r=null){let a=`${e} {\r\n`;for(const e in t)e.startsWith("$")||(a+=` ${e}: ${t[e]};\r\n`);return r&&(a+=r),a+"}\r\n"}numberingCounter(e,t){return`${this.className}-num-${e}-${t}`}levelTextToContent(e,t,r,a){return`"${e.replace(/%\d*/g,e=>{let t=parseInt(e.substring(1),10)-1;return`"counter(${this.numberingCounter(r,t)}, ${a})"`})}${{tab:"\\9",space:"\\a0"}[t]??""}"`}numFormatToCssValue(e){return{none:"none",bullet:"disc",decimal:"decimal",lowerLetter:"lower-alpha",upperLetter:"upper-alpha",lowerRoman:"lower-roman",upperRoman:"upper-roman",decimalZero:"decimal-leading-zero",aiueo:"katakana",aiueoFullWidth:"katakana",chineseCounting:"simp-chinese-informal",chineseCountingThousand:"simp-chinese-informal",chineseLegalSimplified:"simp-chinese-formal",chosung:"hangul-consonant",ideographDigital:"cjk-ideographic",ideographTraditional:"cjk-heavenly-stem",ideographLegalTraditional:"trad-chinese-formal",ideographZodiac:"cjk-earthly-branch",iroha:"katakana-iroha",irohaFullWidth:"katakana-iroha",japaneseCounting:"japanese-informal",japaneseDigitalTenThousand:"cjk-decimal",japaneseLegal:"japanese-formal",thaiNumbers:"thai",koreanCounting:"korean-hangul-formal",koreanDigital:"korean-hangul-formal",koreanDigital2:"korean-hanja-informal",hebrew1:"hebrew",hebrew2:"hebrew",hindiNumbers:"devanagari",ganada:"hangul",taiwaneseCounting:"cjk-ideographic",taiwaneseCountingThousand:"cjk-ideographic",taiwaneseDigital:"cjk-decimal"}[e]??e}refreshTabStops(){this.options.experimental&&setTimeout(()=>{const e=function(e=document.body){const t=document.createElement("div");t.style.width="100pt",e.appendChild(t);const r=100/t.offsetWidth;return e.removeChild(t),r}();for(let t of this.currentTabs)Ve(t.span,t.stops,this.defaultTabSize,e)},500)}createElementNS(e,t,r,a){var s=e?this.htmlDocument.createElementNS(e,t):this.htmlDocument.createElement(t);return Object.assign(s,r),a&&qe(s,a),s}createElement(e,t,r){return this.createElementNS(void 0,e,t,r)}createSvgElement(e,t,r){return this.createElementNS(We,e,t,r)}createStyleElement(e){return this.createElement("style",{innerHTML:e})}createComment(e){return this.htmlDocument.createComment(e)}later(e){this.postRenderTasks.push(e)}}function Ue(e){e.innerHTML=""}function qe(e,t){t.forEach(t=>{return e.appendChild("string"==typeof(r=t)||r instanceof String?document.createTextNode(t):t);var r})}const Je={ignoreHeight:!1,ignoreWidth:!1,ignoreFonts:!1,breakPages:!0,debug:!1,experimental:!1,className:"docx",inWrapper:!0,hideWrapperOnPrint:!1,trimXmlDeclaration:!0,ignoreLastRenderedPageBreak:!0,renderHeaders:!0,renderFooters:!0,renderFootnotes:!0,renderEndnotes:!0,useBase64URL:!1,renderChanges:!1,renderComments:!1,renderAltChunks:!0};function Ze(e,t){const r={...Je,...t};return ye.load(e,new Ie(r),r)}async function Ke(e,t,r,a){const s={...Je,...a},n=new Ge(window.document);return await n.render(e,t,r,s)}async function Ye(e,t,r,a){const s=await Ze(e,a);return await Ke(s,t,r,a),s}export{Je as defaultOptions,Ze as parseAsync,Ye as renderAsync,Ke as renderDocument}; //# sourceMappingURL=docx-preview.min.mjs.map diff --git a/docxjs/dist/docx-preview.min.mjs.map b/docxjs/dist/docx-preview.min.mjs.map index 6c79f71..d7f9490 100644 --- a/docxjs/dist/docx-preview.min.mjs.map +++ b/docxjs/dist/docx-preview.min.mjs.map @@ -1 +1 @@ -{"version":3,"file":"docx-preview.min.mjs","sources":["../src/common/relationship.ts","../src/utils.ts","../src/document/common.ts","../src/parser/xml-parser.ts","../src/common/part.ts","../src/font-table/fonts.ts","../src/font-table/font-table.ts","../src/common/open-xml-package.ts","../src/document/document-part.ts","../src/document/border.ts","../src/document/section.ts","../src/document/dom.ts","../src/document/run.ts","../src/document/paragraph.ts","../src/document/line-spacing.ts","../src/numbering/numbering.ts","../src/numbering/numbering-part.ts","../src/styles/styles-part.ts","../src/header-footer/elements.ts","../src/header-footer/parts.ts","../src/document-props/extended-props.ts","../src/document-props/extended-props-part.ts","../src/document-props/core-props-part.ts","../src/document-props/core-props.ts","../src/theme/theme.ts","../src/theme/theme-part.ts","../src/notes/elements.ts","../src/notes/parts.ts","../src/settings/settings.ts","../src/settings/settings-part.ts","../src/document-props/custom-props-part.ts","../src/document-props/custom-props.ts","../src/comments/comments-part.ts","../src/comments/comments-extended-part.ts","../src/word-document.ts","../src/document/bookmarks.ts","../src/vml/vml.ts","../src/comments/elements.ts","../src/document-parser.ts","../src/javascript.ts","../src/html-renderer.ts","../src/docx-preview.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["RelationshipTypes","encloseFontFamily","fontFamily","test","splitPath","path","si","lastIndexOf","substring","resolvePath","base","prefix","URL","toString","length","keyBy","array","by","reduce","a","x","isObject","item","Array","isArray","mergeDeep","target","sources","source","shift","key","asArray","val","ns","wordml","drawingml","picture","compatibility","math","LengthUsage","Dxa","mul","unit","Emu","FontSize","Border","min","max","Point","Percent","LineHeight","VmlEmu","convertLength","usage","num","parseInt","clamp","toFixed","parseCommonProperty","elem","props","xml","namespaceURI","localName","color","attr","fontSize","lengthAttr","XmlParser","elements","result","i","l","childNodes","c","nodeType","push","element","elementAttr","attrLocalName","el","this","undefined","attrs","from","attributes","value","intAttr","node","attrName","defaultValue","hexAttr","floatAttr","parseFloat","boolAttr","v","convertBoolean","globalXmlParser","Part","constructor","_package","load","rels","loadRelationships","xmlText","xmlDoc","parseXmlDocument","options","keepOrigin","_xmlDocument","parseXml","firstElementChild","save","update","XMLSerializer","serializeToString","root","embedFontTypeMap","embedRegular","embedBold","embedItalic","embedBoldItalic","parseFonts","map","name","embedFontRefs","family","altName","parseEmbedFontRef","parseFont","id","type","FontTablePart","fonts","xmlParser","OpenXmlPackage","_zip","get","p","startsWith","substr","normalizePath","files","replace","content","file","input","zip","JSZip","loadAsync","generateAsync","async","Promise","resolve","relsPath","f","fn","txt","e","targetMode","xmlString","trimXmlDeclaration","data","charCodeAt","DOMParser","parseFromString","errorText","doc","getElementsByTagName","textContent","Error","parseXmlString","DocumentPart","pkg","parser","super","_documentParser","body","parseDocumentFile","parseBorder","size","offset","frame","shadow","parseBorders","left","top","right","bottom","SectionType","DomType","parseSectionProperties","section","pageSize","width","height","orientation","pageMargins","header","footer","gutter","columns","parseColumns","headerRefs","parseFooterHeaderReference","footerRefs","titlePage","pageBorders","pageNumber","parsePageNumber","numberOfColumns","space","separator","equalWidth","chapSep","chapStyle","format","start","parseRunProperties","parseRunProperty","parseParagraphProperties","parseParagraphProperty","tabs","position","leader","style","parseTabs","sectionProps","numbering","level","parseNumbering","lineSpacing","before","after","line","lineRule","parseLineSpacing","textAlignment","keepLines","keepNext","pageBreakBefore","outlineLevel","styleName","runProps","overrides","abstractId","parseNumberingLevelOverrride","parseAbstractNumbering","levels","multiLevelType","numberingStyleLink","styleLink","parseNumberingLevel","restart","text","justification","bulletPictureId","paragraphStyle","paragraphProps","numberingLevel","parseNumberingBulletPicture","pict","shape","imagedata","referenceId","NumberingPart","Object","assign","numberings","abstractNumberings","bulletPictures","parseNumberingPart","domNumberings","parseNumberingFile","StylesPart","styles","parseStylesFile","OpenXmlElementBase","children","cssStyle","WmlHeader","Header","WmlFooter","Footer","BaseHeaderFooterPart","rootElement","createRootElement","parseBodyElements","HeaderPart","FooterPart","safeParseToInt","ExtendedPropsPart","template","pages","words","characters","application","lines","paragraphs","company","appVersion","parseExtendedProps","CorePropsPart","title","description","subject","creator","keywords","language","lastModifiedBy","revision","parseCoreProps","DmlTheme","parseColorScheme","colors","srgbClr","sysClr","parseFontScheme","majorFont","parseFontInfo","minorFont","latinTypeface","eaTypeface","csTypeface","ThemePart","theme","themeElements","colorScheme","fontScheme","parseTheme","WmlBaseNote","WmlFootnote","Footnote","WmlEndnote","Endnote","BaseNotePart","FootnotesPart","notes","parseNotes","EndnotesPart","parseNoteProperties","defaultNoteIds","nummeringFormat","SettingsPart","settings","defaultTabStop","footnoteProps","endnoteProps","autoHyphenation","parseSettings","CustomPropsPart","firstChild","formatId","nodeName","parseCustomProps","CommentsPart","comments","parseComments","commentMap","CommentsExtendedPart","paraId","paraIdParent","done","topLevelRels","OfficeDocument","ExtendedProperties","CoreProperties","CustomProperties","WordDocument","parts","partsMap","blob","d","_options","_parser","all","rel","r","find","loadRelationshipPart","part","documentPart","FontTable","fontTablePart","Numbering","numberingPart","Styles","stylesPart","Theme","themePart","Footnotes","footnotesPart","Endnotes","endnotesPart","corePropsPart","extendedPropsPart","Settings","settingsPart","Comments","commentsPart","CommentsExtended","commentsExtendedPart","folder","loadDocumentImage","loadResource","blobToURL","loadNumberingImage","loadFont","Blob","deobfuscate","loadAltChunk","useBase64URL","reject","reader","FileReader","onloadend","onerror","readAsDataURL","blobToBase64","createObjectURL","findPartByRelId","basePart","getPathById","outputType","guidKey","trimmed","numbers","parseBookmarkEnd","BookmarkEnd","VmlElement","parseVmlElement","tagName","cx","cy","rx","ry","at","cssStyleText","fill","x1","y1","parsePoint","x2","y2","parseStroke","imageHref","child","stroke","split","WmlComment","Comment","WmlCommentReference","CommentReference","WmlCommentRangeStart","CommentRangeStart","WmlCommentRangeEnd","CommentRangeEnd","autos","supportedNamespaceURIs","mmlTagMap","oMath","MmlMath","oMathPara","MmlMathParagraph","MmlFraction","func","MmlFunction","fName","MmlFunctionName","MmlNumerator","den","MmlDenominator","rad","MmlRadical","deg","MmlDegree","MmlBase","sSup","MmlSuperscript","sSub","MmlSubscript","sPre","MmlPreSubSuper","sup","MmlSuperArgument","sub","MmlSubArgument","MmlDelimiter","nary","MmlNary","eqArr","MmlEquationArray","lim","MmlLimit","limLow","MmlLimitLower","m","MmlMatrix","mr","MmlMatrixRow","box","MmlBox","bar","MmlBar","groupChr","MmlGroupChar","DocumentParser","ignoreWidth","debug","elemName","elemClass","noteType","author","initials","date","xbody","background","sectPr","Document","parseBackground","xmlUtil","colorAttr","parseParagraph","parseAltChunk","parseTable","parseSdt","xstyles","foreach","n","parseStyle","parseDefaultStyles","basedOn","rPr","values","parseDefaultProperties","pPr","isDefault","linked","next","aliases","s","parseTableStyle","console","warn","selector","modificator","mod","xnums","mapping","bullets","forEach","parseNumberingPicBullet","numId","abstractNumId","src","pStyleName","pStyle","rStyle","suff","bullet","levelText","sdtContent","parseInserted","parentParser","Inserted","parseDeleted","Deleted","AltChunk","Paragraph","parseRun","parseHyperlink","parseSmartTag","BookmarkStart","colFirst","colLast","parseMathElement","paragraph","className","classNameOfCnfStyle","parseFrame","parent","Hyperlink","anchor","SmartTag","uri","Run","checkAlternateContent","Text","DeletedText","SimpleField","instruction","lock","dirty","fieldRun","Instruction","ComplexField","charType","NoBreakHyphen","Break","break","Symbol","font","char","Tab","FootnoteReference","EndnoteReference","parseDrawing","parseVmlPicture","propsTag","run","MmlRun","parseMathProperies","verticalJustification","hideDegree","beginChar","endChar","verticalAlign","valueOfVertAlign","VmlPicture","choice","requires","lookupNamespaceURI","includes","parseDrawingWrapper","Drawing","isAnchor","wrapType","simplePos","posX","relative","align","posY","pos","alignNode","offsetNode","sizeValue","g","parseGraphic","graphicData","parsePicture","Image","blipFill","blip","spPr","xfrm","Table","parseTableRow","parseTableColumns","parseTableProperties","table","cellStyle","classNameOftblLook","parseTablePosition","colBandSize","rowBandSize","topFromText","bottomFromText","rightFromText","leftFromText","addSize","Row","parseTableCell","parseTableRowProperties","row","isHeader","gridBefore","gridAfter","Cell","parseTableCellProperties","cell","span","verticalMerge","parseTableCellVerticalText","directionMap","btLr","writingMode","transform","lrTb","tbRl","direction","childStyle","handler","valueOfJc","valueOfTextAlignment","valueOfSize","parseTrHeight","parseUnderline","parseIndentation","parseBorderProperties","valueOfMargin","valueOfBorder","parseMarginProperties","valueOfTblLayout","parseSpacing","col","themeValue","filter","Set","join","firstLine","hanging","end","output","knownColors","cb","Node","ELEMENT_NODE","defValue","autoColor","themeColor","parseBorderType","_","asTagName","b","trim","defaultTab","updateTabStop","defaultTabSize","pixelToPoint","closest","ebb","getBoundingClientRect","pbb","pcs","getComputedStyle","tabStops","t","lengthToPoint","sort","lastTab","pWidthPt","marginLeft","pOffset","tab","querySelectorAll","nextIdx","indexOf","range","document","createRange","setStart","setEndBefore","setEndAfter","nextBB","innerHTML","textDecoration","wordSpacing","textDecorationStyle","HtmlRenderer","htmlDocument","styleMap","currentPart","tableVerticalMerges","currentVerticalMerge","tableCellPositions","currentCellPosition","footnoteMap","endnoteMap","currentEndnoteIds","usedHederFooterParts","currentTabs","tasks","postRenderTasks","render","bodyContainer","styleContainer","rootSelector","inWrapper","renderComments","globalThis","Highlight","commentHighlight","removeAllElements","appendChild","createComment","renderDefaultStyle","renderTheme","processStyles","renderStyles","prodessNumberings","renderNumbering","ignoreFonts","renderFontTable","sectionElements","renderSections","renderWrapper","appendChildren","CSS","highlights","set","allSettled","refreshTabStops","variables","k","entries","cssText","styleToString","createStyleElement","fontsPart","ref","then","fontData","cssValues","processStyleName","toLowerCase","escapeClassName","stylesMap","baseStyle","baseValues","styleValues","copyStyleProperties","cssName","findStyle","processElement","processTable","getOwnPropertyNames","hasOwnProperty","createPageElement","createElement","paddingLeft","paddingRight","paddingTop","paddingBottom","ignoreHeight","minHeight","createSectionContent","columnCount","columnGap","columnRule","sections","splitBySection","groupByPageBreaks","prevProps","currentFootnoteIds","sectProps","pageElement","renderStyleValues","renderHeaders","renderHeaderFooter","sect","contentElement","renderElements","renderFootnotes","renderNotes","renderEndnotes","renderFooters","refs","page","firstOfSection","into","marginTop","marginBottom","isPageBreakElement","ignoreLastRenderedPageBreak","isPageBreakSection","prev","defaultProps","current","pageBreak","pBreakIndex","rBreakIndex","breakPages","findIndex","bind","breakRun","splitRun","newParagraph","slice","runChildren","newRun","currentSectProps","wrapperStyle","hideWrapperOnPrint","styleText","resetCounters","numberingClass","listStyleType","valiable","display","counter","numberingCounter","counterReset","levelTextToContent","numFormatToCssValue","defautStyles","subStyles","linkedStyle","concat","subStyle","noteIds","notesMap","renderElement","renderParagraph","renderBookmarkStart","renderRun","renderTable","renderTableRow","renderTableCell","renderHyperlink","renderSmartTag","renderDrawing","renderImage","renderText","renderDeletedText","renderTab","renderSymbol","renderBreak","renderContainer","renderFootnoteReference","renderEndnoteReference","renderVmlPicture","renderVmlElement","renderContainerNS","xmlns","renderMmlGroupChar","renderMmlRadical","renderMmlDelimiter","renderMmlRun","renderMmlNary","renderMmlPreSubSuper","renderMmlBar","renderMllList","renderInserted","renderDeleted","renderCommentRangeStart","renderCommentRangeEnd","renderCommentReference","renderAltChunk","elems","flatMap","createElementNS","renderClass","renderCommonProperties","classList","add","renderRunProperties","href","it","commentStart","rng","Range","later","commentEnd","setEnd","commentRef","comment","frg","DocumentFragment","commentRefEl","commentsContainerEl","renderCommentContent","renderAltChunks","srcdoc","container","Date","toLocaleString","textIndent","createTextNode","renderChanges","tabSpan","experimental","tabStopClass","stops","findParent","wrapper","renderTableColumns","pop","colElem","renderTableCellPlaceholder","colSpan","rowSpan","createSvgElement","setAttribute","renderVmlChildElement","requestAnimationFrame","bb","getBBox","Math","ceil","y","degree","grouped","supElem","subElem","charElem","stubElem","ouput","lvl","selectors","numformat","none","decimal","lowerLetter","upperLetter","lowerRoman","upperRoman","decimalZero","aiueo","aiueoFullWidth","chineseCounting","chineseCountingThousand","chineseLegalSimplified","chosung","ideographDigital","ideographTraditional","ideographLegalTraditional","ideographZodiac","iroha","irohaFullWidth","japaneseCounting","japaneseDigitalTenThousand","japaneseLegal","thaiNumbers","koreanCounting","koreanDigital","koreanDigital2","hebrew1","hebrew2","hindiNumbers","ganada","taiwaneseCounting","taiwaneseCountingThousand","taiwaneseDigital","setTimeout","temp","offsetWidth","removeChild","computePixelToPoint","String","defaultOptions","parseAsync","userOptions","ops","renderDocument","renderer","window","renderAsync"],"mappings":"qBASA,IAAYA,ECLN,SAAUC,EAAkBC,GAC9B,MAAO,qBAAqBC,KAAKD,GAAc,IAAIA,KAAgBA,CACvE,CAEM,SAAUE,EAAUC,GACtB,IAAIC,EAAKD,EAAKE,YAAY,KAAO,EAIjC,MAAO,CAHY,GAAND,EAAU,GAAKD,EAAKG,UAAU,EAAGF,GACzB,GAANA,EAAUD,EAAOA,EAAKG,UAAUF,GAGnD,CAEgB,SAAAG,EAAYJ,EAAcK,GACtC,IACI,MAAMC,EAAS,eAEf,OADY,IAAIC,IAAIP,EAAMM,EAASD,GAAMG,WAC9BL,UAAUG,EAAOG,OAC/B,CAAC,MACE,MAAO,GAAGJ,IAAOL,GACpB,CACL,CAEgB,SAAAU,EAAeC,EAAYC,GACvC,OAAOD,EAAME,QAAO,CAACC,EAAGC,KACpBD,EAAEF,EAAGG,IAAMA,EACJD,IACR,CAAE,EACT,CAWM,SAAUE,EAASC,GACrB,OAAOA,GAAwB,iBAATA,IAAsBC,MAAMC,QAAQF,EAC9D,UAMgBG,EAAUC,KAAWC,GACjC,IAAKA,EAAQb,OACT,OAAOY,EAEX,MAAME,EAASD,EAAQE,QAEvB,GAAIR,EAASK,IAAWL,EAASO,GAC7B,IAAK,MAAME,KAAOF,EACd,GAAIP,EAASO,EAAOE,IAAO,CAEvBL,EADYC,EAAOI,KAASJ,EAAOI,GAAO,CAAA,GAC3BF,EAAOE,GACzB,MACGJ,EAAOI,GAAOF,EAAOE,GAKjC,OAAOL,EAAUC,KAAWC,EAChC,CAiBM,SAAUI,EAAWC,GAC1B,OAAOT,MAAMC,QAAQQ,GAAOA,EAAM,CAACA,EACpC,ED9EA,SAAYhC,GACRA,EAAA,eAAA,qFACAA,EAAA,UAAA,gFACAA,EAAA,MAAA,4EACAA,EAAA,UAAA,gFACAA,EAAA,OAAA,6EACAA,EAAA,kBAAA,2EACAA,EAAA,MAAA,4EACAA,EAAA,SAAA,+EACAA,EAAA,YAAA,kFACAA,EAAA,UAAA,gFACAA,EAAA,UAAA,gFACHA,EAAA,SAAA,+EACGA,EAAA,OAAA,6EACAA,EAAA,OAAA,6EACAA,EAAA,mBAAA,0FACAA,EAAA,eAAA,wFACHA,EAAA,iBAAA,0FACAA,EAAA,SAAA,+EACGA,EAAA,iBAAA,0EACAA,EAAA,SAAA,6EACH,CArBD,CAAYA,IAAAA,EAqBX,CAAA,IE3BM,MAAMiC,EAAK,CACdC,OAAQ,+DACRC,UAAW,wDACXC,QAAS,2DACZC,cAAe,8DACfC,KAAM,8DAkBMC,EAA+C,CACxDC,IAAK,CAAEC,IAAK,IAAMC,KAAM,MACxBC,IAAK,CAAEF,IAAK,EAAI,MAAOC,KAAM,MAC7BE,SAAU,CAAEH,IAAK,GAAKC,KAAM,MAC5BG,OAAQ,CAAEJ,IAAK,KAAOC,KAAM,KAAMI,IAAK,IAAMC,IAAK,IAClDC,MAAO,CAAEP,IAAK,EAAGC,KAAM,MACvBO,QAAS,CAAER,IAAK,IAAMC,KAAM,KAC5BQ,WAAY,CAAET,IAAK,EAAI,IAAKC,KAAM,IAClCS,OAAQ,CAAEV,IAAK,EAAI,MAAOC,KAAM,KAG9B,SAAUU,EAAcpB,EAAaqB,EAAyBd,EAAYC,KAE5E,GAAW,MAAPR,GAAe,iBAAiB7B,KAAK6B,GACrC,OAAOA,EAGX,IAAIsB,EAAMC,SAASvB,GAAOqB,EAAMZ,IAKnC,OAHOY,EAAMP,KAAOO,EAAMN,MACnBO,WD2CctB,EAAKc,EAAKC,GAC5B,OAAOD,EAAMd,EAAMc,EAAOC,EAAMf,EAAMe,EAAMf,CAChD,CC7CcwB,CAAMF,EAAKD,EAAMP,IAAKO,EAAMN,MAElC,GAAGO,EAAIG,QAAQ,KAAKJ,EAAMX,MAClC,UAkBgBgB,EAAoBC,EAAeC,EAAyBC,GACxE,GAAGF,EAAKG,cAAgB7B,EAAGC,OACvB,OAAO,EAEX,OAAOyB,EAAKI,WACR,IAAK,QACDH,EAAMI,MAAQH,EAAII,KAAKN,EAAM,OAC7B,MAEJ,IAAK,KACDC,EAAMM,SAAWL,EAAIM,WAAWR,EAAM,MAAOpB,EAAYK,UACzD,MAEJ,QACI,OAAO,EAGf,OAAO,CACX,OCxDawB,EACT,QAAAC,CAASV,EAAeI,EAAoB,MACxC,MAAMO,EAAS,GAEf,IAAK,IAAIC,EAAI,EAAGC,EAAIb,EAAKc,WAAW3D,OAAQyD,EAAIC,EAAGD,IAAK,CACpD,IAAIG,EAAIf,EAAKc,WAAWnD,KAAKiD,GAEX,GAAdG,EAAEC,UAA+B,MAAbZ,GAAsBW,EAAcX,WAAaA,GACrEO,EAAOM,KAAKF,EACnB,CAED,OAAOJ,CACV,CAED,OAAAO,CAAQlB,EAAeI,GACnB,IAAK,IAAIQ,EAAI,EAAGC,EAAIb,EAAKc,WAAW3D,OAAQyD,EAAIC,EAAGD,IAAK,CACpD,IAAIG,EAAIf,EAAKc,WAAWnD,KAAKiD,GAE7B,GAAkB,GAAdG,EAAEC,UAAkBD,EAAcX,WAAaA,EAC/C,OAAOW,CACd,CAED,OAAO,IACV,CAED,WAAAI,CAAYnB,EAAeI,EAAmBgB,GAC1C,IAAIC,EAAKC,KAAKJ,QAAQlB,EAAMI,GAC5B,OAAOiB,EAAKC,KAAKhB,KAAKe,EAAID,QAAiBG,CAC9C,CAEJ,KAAAC,CAAMxB,GACL,OAAOpC,MAAM6D,KAAKzB,EAAK0B,WACvB,CAEE,IAAApB,CAAKN,EAAeI,GAChB,IAAK,IAAIQ,EAAI,EAAGC,EAAIb,EAAK0B,WAAWvE,OAAQyD,EAAIC,EAAGD,IAAK,CACpD,IAAIpD,EAAIwC,EAAK0B,WAAW/D,KAAKiD,GAE7B,GAAIpD,EAAE4C,WAAaA,EACf,OAAO5C,EAAEmE,KAChB,CAED,OAAO,IACV,CAED,OAAAC,CAAQC,EAAeC,EAAkBC,EAAuB,MAC5D,IAAI1D,EAAMiD,KAAKhB,KAAKuB,EAAMC,GAC1B,OAAOzD,EAAMuB,SAASvB,GAAO0D,CAChC,CAEJ,OAAAC,CAAQH,EAAeC,EAAkBC,EAAuB,MACzD,IAAI1D,EAAMiD,KAAKhB,KAAKuB,EAAMC,GAC1B,OAAOzD,EAAMuB,SAASvB,EAAK,IAAM0D,CACpC,CAED,SAAAE,CAAUJ,EAAeC,EAAkBC,EAAuB,MAC9D,IAAI1D,EAAMiD,KAAKhB,KAAKuB,EAAMC,GAC1B,OAAOzD,EAAM6D,WAAW7D,GAAO0D,CAClC,CAED,QAAAI,CAASN,EAAeC,EAAkBC,EAAwB,MAC9D,gBDvCuBK,EAAWL,GAAe,GACrD,OAAQK,GACJ,IAAK,IAEL,IAAK,KAEL,IAAK,OAAQ,OAAO,EAHpB,IAAK,IAEL,IAAK,MAEL,IAAK,QAAS,OAAO,EACrB,QAAS,OAAOL,EAExB,CC6BeM,CAAef,KAAKhB,KAAKuB,EAAMC,GAAWC,EACpD,CAED,UAAAvB,CAAWqB,EAAeC,EAAkBpC,EAAyBd,EAAYC,KAC7E,OAAOY,EAAc6B,KAAKhB,KAAKuB,EAAMC,GAAWpC,EACnD,EAGL,MAAM4C,EAAkB,IAAI7B,QC9Ff8B,EAKT,WAAAC,CAAsBC,EAAiC/F,GAAjC4E,KAAQmB,SAARA,EAAiCnB,KAAI5E,KAAJA,CACtD,CAED,UAAMgG,GACRpB,KAAKqB,WAAarB,KAAKmB,SAASG,kBAAkBtB,KAAK5E,MAEvD,MAAMmG,QAAgBvB,KAAKmB,SAASC,KAAKpB,KAAK5E,MACxCoG,EAASxB,KAAKmB,SAASM,iBAAiBF,GAE1CvB,KAAKmB,SAASO,QAAQC,aACzB3B,KAAK4B,aAAeJ,GAGrBxB,KAAK6B,SAASL,EAAOM,kBAClB,CAED,IAAAC,GDAE,IAA6BrD,ECC3BsB,KAAKmB,SAASa,OAAOhC,KAAK5E,MDDCsD,ECCwBsB,KAAK4B,cDArD,IAAIK,eAAgBC,kBAAkBxD,ICC5C,CAES,QAAAmD,CAASM,GAClB,EC5BL,MAAMC,EAAmB,CACrBC,aAAc,UACdC,UAAW,OACXC,YAAa,SACbC,gBAAiB,cAgBL,SAAAC,EAAWN,EAAevD,GACtC,OAAOA,EAAIQ,SAAS+C,GAAMO,KAAI3C,GAGlB,SAAUrB,EAAeE,GACrC,IAAIS,EAA0B,CAC1BsD,KAAM/D,EAAII,KAAKN,EAAM,QACrBkE,cAAe,IAGnB,IAAK,IAAI7C,KAAMnB,EAAIQ,SAASV,GACxB,OAAQqB,EAAGjB,WACP,IAAK,SACDO,EAAOwD,OAASjE,EAAII,KAAKe,EAAI,OAC7B,MAEJ,IAAK,UACDV,EAAOyD,QAAUlE,EAAII,KAAKe,EAAI,OAC9B,MAEJ,IAAK,eACL,IAAK,YACL,IAAK,cACL,IAAK,kBACDV,EAAOuD,cAAcjD,KAAKoD,EAAkBhD,EAAInB,IAK5D,OAAOS,CACX,CA7BwC2D,CAAUjD,EAAInB,IACtD,CA8BgB,SAAAmE,EAAkBrE,EAAeE,GAC7C,MAAO,CACHqE,GAAIrE,EAAII,KAAKN,EAAM,MACnB7B,IAAK+B,EAAII,KAAKN,EAAM,WACpBwE,KAAMd,EAAiB1D,EAAKI,WAEpC,CCzDM,MAAOqE,UAAsBlC,EAG/B,QAAAY,CAASM,GACLnC,KAAKoD,MAAQX,EAAWN,EAAMnC,KAAKmB,SAASkC,UAC/C,QCEQC,EAGT,WAAApC,CAAoBqC,EAAoB7B,GAApB1B,KAAIuD,KAAJA,EAAoBvD,KAAO0B,QAAPA,EAFxC1B,KAAAqD,UAAuB,IAAIlE,CAG1B,CAED,GAAAqE,CAAIpI,GACA,MAAMqI,EAuCd,SAAuBrI,GACnB,OAAOA,EAAKsI,WAAW,KAAOtI,EAAKuI,OAAO,GAAKvI,CACnD,CAzCkBwI,CAAcxI,GACxB,OAAO4E,KAAKuD,KAAKM,MAAMJ,IAAMzD,KAAKuD,KAAKM,MAAMJ,EAAEK,QAAQ,MAAO,MACjE,CAED,MAAA9B,CAAO5G,EAAc2I,GACjB/D,KAAKuD,KAAKS,KAAK5I,EAAM2I,EACxB,CAED,iBAAa3C,CAAK6C,EAAmBvC,GACjC,MAAMwC,QAAYC,EAAMC,UAAUH,GACxC,OAAO,IAAIX,EAAeY,EAAKxC,EAC5B,CAED,IAAAK,CAAKmB,EAAY,QACb,OAAOlD,KAAKuD,KAAKc,cAAc,CAAEnB,QACpC,CAED,IAAA9B,CAAKhG,EAAc8H,EAAyB,UACxC,OAAOlD,KAAKwD,IAAIpI,IAAOkJ,MAAMpB,IAASqB,QAAQC,QAAQ,KACzD,CAED,uBAAMlD,CAAkBlG,EAAe,MACnC,IAAIqJ,EAAW,cAEf,GAAY,MAARrJ,EAAc,CACd,MAAOsJ,EAAGC,GAAMxJ,EAAUC,GAC1BqJ,EAAW,GAAGC,UAAUC,QAC3B,CAED,MAAMC,QAAY5E,KAAKoB,KAAKqD,GAClC,OAAOG,GPf0BzC,EOeDnC,KAAKyB,iBAAiBmD,GAAK9C,mBPfXlD,EOe8BoB,KAAKqD,WPdtEjE,SAAS+C,GAAMO,KAAImC,IAAmB,CAC7C5B,GAAIrE,EAAII,KAAK6F,EAAG,MAChB3B,KAAMtE,EAAII,KAAK6F,EAAG,QAClBpI,OAAQmC,EAAII,KAAK6F,EAAG,UACpBC,WAAYlG,EAAII,KAAK6F,EAAG,mBOUkE,KPflF,IAAmB1C,EAAevD,COgB7C,CAGD,gBAAA6C,CAAiBmD,GACb,gBJlDuBG,EAAmBC,GAA8B,GAmBhF,IAAuBC,EAlBfD,IACAD,EAAYA,EAAUjB,QAAQ,aAAc,KAEhDiB,EAgB8B,SADXE,EAfOF,GAgBdG,WAAW,GAAgBD,EAAK1J,UAAU,GAAK0J,EAd3D,MAAM5F,GAAS,IAAI8F,WAAYC,gBAAgBL,EAAW,mBACpDM,GAQiBC,EARajG,EAS7BiG,EAAIC,qBAAqB,eAAe,IAAIC,aADvD,IAA2BF,EANvB,GAAID,EACA,MAAM,IAAII,MAAMJ,GAEpB,OAAOhG,CACX,CIqCeqG,CAAed,EAAK5E,KAAK0B,QAAQsD,mBAC3C,EChDC,MAAOW,UAAqB1E,EAG9B,WAAAC,CAAY0E,EAAqBxK,EAAcyK,GAC3CC,MAAMF,EAAKxK,GACX4E,KAAK+F,gBAAkBF,CAC1B,CAID,QAAAhE,CAASM,GACLnC,KAAKgG,KAAOhG,KAAK+F,gBAAgBE,kBAAkB9D,EACtD,ECEW,SAAA+D,EAAYxH,EAAeE,GACvC,MAAO,CACHsE,KAAMtE,EAAII,KAAKN,EAAM,OACrBK,MAAOH,EAAII,KAAKN,EAAM,SACtByH,KAAMvH,EAAIM,WAAWR,EAAM,KAAMpB,EAAYM,QAC7CwI,OAAQxH,EAAIM,WAAWR,EAAM,QAASpB,EAAYS,OAClDsI,MAAOzH,EAAIiC,SAASnC,EAAM,SAC1B4H,OAAQ1H,EAAIiC,SAASnC,EAAM,UAEnC,CAEgB,SAAA6H,EAAa7H,EAAeE,GACxC,IAAIS,EAAkB,CAAA,EAEtB,IAAK,IAAIwF,KAAKjG,EAAIQ,SAASV,GACvB,OAAQmG,EAAE/F,WACN,IAAK,OAAQO,EAAOmH,KAAON,EAAYrB,EAAGjG,GAAM,MAChD,IAAK,MAAOS,EAAOoH,IAAMP,EAAYrB,EAAGjG,GAAM,MAC9C,IAAK,QAASS,EAAOqH,MAAQR,EAAYrB,EAAGjG,GAAM,MAClD,IAAK,SAAUS,EAAOsH,OAAST,EAAYrB,EAAGjG,GAItD,OAAOS,CACX,CCDA,IAAYuH,EC1CAC,WDmEIC,EAAuBpI,EAAeE,EAAiBoC,GACnE,IAAI+F,EAA6B,CAAA,EAEjC,IAAK,IAAIlC,KAAKjG,EAAIQ,SAASV,GACvB,OAAQmG,EAAE/F,WACN,IAAK,OACDiI,EAAQC,SAAW,CACfC,MAAOrI,EAAIM,WAAW2F,EAAG,KACzBqC,OAAQtI,EAAIM,WAAW2F,EAAG,KAC1BsC,YAAavI,EAAII,KAAK6F,EAAG,WAE7B,MAEJ,IAAK,OACDkC,EAAQ7D,KAAOtE,EAAII,KAAK6F,EAAG,OAC3B,MAEJ,IAAK,QACDkC,EAAQK,YAAc,CAClBZ,KAAM5H,EAAIM,WAAW2F,EAAG,QACxB6B,MAAO9H,EAAIM,WAAW2F,EAAG,SACzB4B,IAAK7H,EAAIM,WAAW2F,EAAG,OACvB8B,OAAQ/H,EAAIM,WAAW2F,EAAG,UAC1BwC,OAAQzI,EAAIM,WAAW2F,EAAG,UAC1ByC,OAAQ1I,EAAIM,WAAW2F,EAAG,UAC1B0C,OAAQ3I,EAAIM,WAAW2F,EAAG,WAE9B,MAEJ,IAAK,OACDkC,EAAQS,QAAUC,EAAa5C,EAAGjG,GAClC,MAEJ,IAAK,mBACAmI,EAAQW,aAAeX,EAAQW,WAAa,KAAK/H,KAAKgI,EAA2B9C,EAAGjG,IACrF,MAEJ,IAAK,mBACAmI,EAAQa,aAAeb,EAAQa,WAAa,KAAKjI,KAAKgI,EAA2B9C,EAAGjG,IACrF,MAEJ,IAAK,UACDmI,EAAQc,UAAYjJ,EAAIiC,SAASgE,EAAG,OAAO,GAC3C,MAEJ,IAAK,YACDkC,EAAQe,YAAcvB,EAAa1B,EAAGjG,GACtC,MAEJ,IAAK,YACDmI,EAAQgB,WAAaC,EAAgBnD,EAAGjG,GAKpD,OAAOmI,CACX,CAEA,SAASU,EAAa/I,EAAeE,GACjC,MAAO,CACHqJ,gBAAiBrJ,EAAI0B,QAAQ5B,EAAM,OACnCwJ,MAAOtJ,EAAIM,WAAWR,EAAM,SAC5ByJ,UAAWvJ,EAAIiC,SAASnC,EAAM,OAC9B0J,WAAYxJ,EAAIiC,SAASnC,EAAM,cAAc,GAC7C8I,QAAS5I,EAAIQ,SAASV,EAAM,OACvBgE,KAAImC,IAAa,CACdoC,MAAOrI,EAAIM,WAAW2F,EAAG,KACzBqD,MAAOtJ,EAAIM,WAAW2F,EAAG,aAGzC,CAEA,SAASmD,EAAgBtJ,EAAeE,GACpC,MAAO,CACHyJ,QAASzJ,EAAII,KAAKN,EAAM,WACxB4J,UAAW1J,EAAII,KAAKN,EAAM,aAC1B6J,OAAQ3J,EAAII,KAAKN,EAAM,OACvB8J,MAAO5J,EAAI0B,QAAQ5B,EAAM,SAEjC,CAEA,SAASiJ,EAA2BjJ,EAAeE,GAC/C,MAAO,CACHqE,GAAIrE,EAAII,KAAKN,EAAM,MACnBwE,KAAMtE,EAAII,KAAKN,EAAM,QAE7B,CE3IgB,SAAA+J,EAAmB/J,EAAeE,GAC9C,IAAIS,EAAwB,CAAA,EAE5B,IAAI,IAAIU,KAAMnB,EAAIQ,SAASV,GACvBgK,EAAiB3I,EAAIV,EAAQT,GAGjC,OAAOS,CACX,UAEgBqJ,EAAiBhK,EAAeC,EAAsBC,GAClE,QAAIH,EAAoBC,EAAMC,EAAOC,EAIzC,CCUgB,SAAA+J,EAAyBjK,EAAeE,GACpD,IAAIS,EAA8B,CAAA,EAElC,IAAI,IAAIU,KAAMnB,EAAIQ,SAASV,GACvBkK,EAAuB7I,EAAIV,EAAQT,GAGvC,OAAOS,CACX,UAEgBuJ,EAAuBlK,EAAeC,EAA4BC,GAC9E,GAAIF,EAAKG,cAAgB7B,EAAGC,OACxB,OAAO,EAEX,GAAGwB,EAAoBC,EAAMC,EAAOC,GAChC,OAAO,EAEX,OAAQF,EAAKI,WACT,IAAK,OACDH,EAAMkK,KAoDF,SAAUnK,EAAeE,GACrC,OAAOA,EAAIQ,SAASV,EAAM,OACrBgE,KAAImC,IAAmB,CACpBiE,SAAUlK,EAAIM,WAAW2F,EAAG,OAC5BkE,OAAQnK,EAAII,KAAK6F,EAAG,UACpBmE,MAAOpK,EAAII,KAAK6F,EAAG,UAE/B,CA3DyBoE,CAAUvK,EAAME,GAC7B,MAEJ,IAAK,SACDD,EAAMuK,aAAepC,EAAuBpI,EAAME,GAClD,MAEJ,IAAK,QACDD,EAAMwK,UAqDF,SAAezK,EAAeE,GAC1C,IAAIS,EAA6B,CAAA,EAEjC,IAAK,IAAIwF,KAAKjG,EAAIQ,SAASV,GACvB,OAAQmG,EAAE/F,WACN,IAAK,QACDO,EAAO4D,GAAKrE,EAAII,KAAK6F,EAAG,OACxB,MAEJ,IAAK,OACDxF,EAAO+J,MAAQxK,EAAI0B,QAAQuE,EAAG,OAK1C,OAAOxF,CACX,CArE8BgK,CAAe3K,EAAME,GACvC,MAEJ,IAAK,UAED,OADAD,EAAM2K,YC5DF,SAAiB5K,EAAeE,GAC5C,MAAO,CACH2K,OAAQ3K,EAAIM,WAAWR,EAAM,UAC7B8K,MAAO5K,EAAIM,WAAWR,EAAM,SAC5B+K,KAAM7K,EAAI0B,QAAQ5B,EAAM,QACxBgL,SAAU9K,EAAII,KAAKN,EAAM,YAEjC,CDqDgCiL,CAAiBjL,EAAME,IACpC,EAGX,IAAK,gBAED,OADAD,EAAMiL,cAAgBhL,EAAII,KAAKN,EAAM,QAC9B,EAGX,IAAK,YACDC,EAAMkL,UAAYjL,EAAIiC,SAASnC,EAAM,OAAO,GAC5C,MAEJ,IAAK,WACDC,EAAMmL,SAAWlL,EAAIiC,SAASnC,EAAM,OAAO,GAC3C,MAEJ,IAAK,kBACDC,EAAMoL,gBAAkBnL,EAAIiC,SAASnC,EAAM,OAAO,GAClD,MAEJ,IAAK,aACDC,EAAMqL,aAAepL,EAAI0B,QAAQ5B,EAAM,OACvC,MAEJ,IAAK,SACDC,EAAMsL,UAAYrL,EAAII,KAAKN,EAAM,OACjC,MAEJ,IAAK,MACDC,EAAMuL,SAAWzB,EAAmB/J,EAAME,GAC1C,MAEJ,QACI,OAAO,EAGf,OAAO,CACX,CEjCgB,SAAAyK,EAAe3K,EAAeE,GAC1C,IAAIS,EAAoB,CACpB4D,GAAIrE,EAAII,KAAKN,EAAM,SACnByL,UAAW,IAGf,IAAK,IAAItF,KAAKjG,EAAIQ,SAASV,GACvB,OAAQmG,EAAE/F,WACN,IAAK,gBACDO,EAAO+K,WAAaxL,EAAII,KAAK6F,EAAG,OAChC,MACJ,IAAK,cACDxF,EAAO8K,UAAUxK,KAAK0K,EAA6BxF,EAAGjG,IAKlE,OAAOS,CACX,CAEgB,SAAAiL,EAAuB5L,EAAeE,GAClD,IAAIS,EAA4B,CAC5B4D,GAAIrE,EAAII,KAAKN,EAAM,iBACnB6L,OAAQ,IAGZ,IAAK,IAAI1F,KAAKjG,EAAIQ,SAASV,GACvB,OAAQmG,EAAE/F,WACN,IAAK,OACDO,EAAOsD,KAAO/D,EAAII,KAAK6F,EAAG,OAC1B,MACJ,IAAK,iBACDxF,EAAOmL,eAAiB5L,EAAII,KAAK6F,EAAG,OACpC,MACJ,IAAK,eACDxF,EAAOoL,mBAAqB7L,EAAII,KAAK6F,EAAG,OACxC,MACJ,IAAK,YACDxF,EAAOqL,UAAY9L,EAAII,KAAK6F,EAAG,OAC/B,MACJ,IAAK,MACDxF,EAAOkL,OAAO5K,KAAKgL,EAAoB9F,EAAGjG,IAKtD,OAAOS,CACX,CAEgB,SAAAsL,EAAoBjM,EAAeE,GAC/C,IAAIS,EAAyB,CACzB+J,MAAOxK,EAAI0B,QAAQ5B,EAAM,SAG7B,IAAK,IAAImG,KAAKjG,EAAIQ,SAASV,GACvB,OAAQmG,EAAE/F,WACN,IAAK,QACDO,EAAOmJ,MAAQ5J,EAAII,KAAK6F,EAAG,OAC3B,MACJ,IAAK,aACDxF,EAAOuL,QAAUhM,EAAI0B,QAAQuE,EAAG,OAChC,MACJ,IAAK,SACDxF,EAAOkJ,OAAS3J,EAAII,KAAK6F,EAAG,OAC5B,MACJ,IAAK,UACDxF,EAAOwL,KAAOjM,EAAII,KAAK6F,EAAG,OAC1B,MACJ,IAAK,QACDxF,EAAOyL,cAAgBlM,EAAII,KAAK6F,EAAG,OACnC,MACJ,IAAK,iBACDxF,EAAO0L,gBAAkBnM,EAAII,KAAK6F,EAAG,OACrC,MACJ,IAAK,SACDxF,EAAO2L,eAAiBpM,EAAII,KAAK6F,EAAG,OACpC,MACJ,IAAK,MACDxF,EAAO4L,eAAiBtC,EAAyB9D,EAAGjG,GACpD,MACJ,IAAK,MACDS,EAAO6K,SAAWzB,EAAmB5D,EAAGjG,GAKpD,OAAOS,CACX,CAEgB,SAAAgL,EAA6B3L,EAAeE,GACxD,IAAIS,EAAiC,CACjC+J,MAAOxK,EAAI0B,QAAQ5B,EAAM,SAG7B,IAAK,IAAImG,KAAKjG,EAAIQ,SAASV,GACvB,OAAQmG,EAAE/F,WACN,IAAK,gBACDO,EAAOmJ,MAAQ5J,EAAI0B,QAAQuE,EAAG,OAC9B,MACJ,IAAK,MACDxF,EAAO6L,eAAiBP,EAAoB9F,EAAGjG,GAK3D,OAAOS,CACX,CAEgB,SAAA8L,EAA4BzM,EAAeE,GAEvD,IAAIwM,EAAOxM,EAAIgB,QAAQlB,EAAM,QACzB2M,EAAQD,GAAQxM,EAAIgB,QAAQwL,EAAM,SAClCE,EAAYD,GAASzM,EAAIgB,QAAQyL,EAAO,aAE5C,OAAOC,EAAY,CACfrI,GAAIrE,EAAII,KAAKN,EAAM,kBACnB6M,YAAa3M,EAAII,KAAKsM,EAAW,MACjCtC,MAAOpK,EAAII,KAAKqM,EAAO,UACvB,IACR,ELxJA,SAAYzE,GACRA,EAAA,WAAA,aACAA,EAAA,SAAA,WACAA,EAAA,WAAA,aACAA,EAAA,SAAA,WACAA,EAAA,QAAA,SACH,CAND,CAAYA,IAAAA,EAMX,CAAA,IM1CK,MAAO4E,UAAsBvK,EAG/B,WAAAC,CAAY0E,EAAqBxK,EAAcyK,GAC3CC,MAAMF,EAAKxK,GACX4E,KAAK+F,gBAAkBF,CAC1B,CAQD,QAAAhE,CAASM,GACLsJ,OAAOC,OAAO1L,KD8BN,SAAmBtB,EAAeE,GAC9C,IAAIS,EAAkC,CAClCsM,WAAY,GACZC,mBAAoB,GACpBC,eAAgB,IAGpB,IAAK,IAAIhH,KAAKjG,EAAIQ,SAASV,GACvB,OAAQmG,EAAE/F,WACN,IAAK,MACDO,EAAOsM,WAAWhM,KAAK0J,EAAexE,EAAGjG,IACzC,MACJ,IAAK,cACDS,EAAOuM,mBAAmBjM,KAAK2K,EAAuBzF,EAAGjG,IACzD,MACJ,IAAK,eACDS,EAAOwM,eAAelM,KAAKwL,EAA4BtG,EAAGjG,IAKtE,OAAOS,CACX,CCpD4ByM,CAAmB3J,EAAMnC,KAAKmB,SAASkC,YAC3DrD,KAAK+L,cAAgB/L,KAAK+F,gBAAgBiG,mBAAmB7J,EAChE,EClBC,MAAO8J,UAAmBhL,EAK5B,WAAAC,CAAY0E,EAAqBxK,EAAcyK,GAC3CC,MAAMF,EAAKxK,GACX4E,KAAK+F,gBAAkBF,CAC1B,CAED,QAAAhE,CAASM,GACLnC,KAAKkM,OAASlM,KAAK+F,gBAAgBoG,gBAAgBhK,EACtD,GNjBL,SAAY0E,GACRA,EAAA,SAAA,WACAA,EAAA,UAAA,YACAA,EAAA,IAAA,MACAA,EAAA,MAAA,QACAA,EAAA,cAAA,gBACAA,EAAA,MAAA,QACAA,EAAA,IAAA,MACAA,EAAA,KAAA,OACAA,EAAA,UAAA,YACAA,EAAA,SAAA,WACAA,EAAA,QAAA,UACAA,EAAA,MAAA,QACAA,EAAA,KAAA,OACAA,EAAA,IAAA,MACAA,EAAA,OAAA,SACAA,EAAA,cAAA,gBACAA,EAAA,YAAA,cACAA,EAAA,OAAA,SACAA,EAAA,OAAA,SACAA,EAAA,kBAAA,oBACHA,EAAA,iBAAA,mBACGA,EAAA,SAAA,WACAA,EAAA,QAAA,UACAA,EAAA,YAAA,cACAA,EAAA,aAAA,eACAA,EAAA,YAAA,cACHA,EAAA,WAAA,aACAA,EAAA,QAAA,UACAA,EAAA,iBAAA,mBACAA,EAAA,YAAA,cACAA,EAAA,YAAA,cACAA,EAAA,gBAAA,kBACAA,EAAA,aAAA,eACAA,EAAA,eAAA,iBACAA,EAAA,WAAA,aACAA,EAAA,QAAA,UACAA,EAAA,UAAA,YACAA,EAAA,eAAA,iBACAA,EAAA,aAAA,eACAA,EAAA,eAAA,iBACAA,EAAA,eAAA,iBACAA,EAAA,iBAAA,mBACAA,EAAA,QAAA,UACAA,EAAA,aAAA,eACAA,EAAA,OAAA,SACAA,EAAA,iBAAA,mBACAA,EAAA,SAAA,WACAA,EAAA,cAAA,gBACAA,EAAA,UAAA,YACAA,EAAA,aAAA,eACAA,EAAA,OAAA,SACAA,EAAA,OAAA,SACAA,EAAA,aAAA,eACAA,EAAA,WAAA,aACAA,EAAA,SAAA,WACAA,EAAA,QAAA,UACAA,EAAA,YAAA,cACAA,EAAA,QAAA,UACAA,EAAA,iBAAA,mBACAA,EAAA,kBAAA,oBACAA,EAAA,gBAAA,kBACGA,EAAA,SAAA,UACH,CA/DD,CAAYA,IAAAA,EA+DX,CAAA,UAcqBuF,EAAtB,WAAAlL,GAEIlB,KAAQqM,SAAsB,GAC9BrM,KAAQsM,SAA4B,EAOvC,EOrFK,MAAOC,UAAkBH,EAA/B,WAAAlL,uBACIlB,KAAAkD,KAAgB2D,EAAQ2F,MAC3B,EAEK,MAAOC,UAAkBL,EAA/B,WAAAlL,uBACIlB,KAAAkD,KAAgB2D,EAAQ6F,MAC3B,ECFK,MAAgBC,UAAwE1L,EAK1F,WAAAC,CAAY0E,EAAqBxK,EAAcyK,GAC3CC,MAAMF,EAAKxK,GACX4E,KAAK+F,gBAAkBF,CAC1B,CAED,QAAAhE,CAASM,GACLnC,KAAK4M,YAAc5M,KAAK6M,oBACxB7M,KAAK4M,YAAYP,SAAWrM,KAAK+F,gBAAgB+G,kBAAkB3K,EACtE,EAKC,MAAO4K,UAAmBJ,EAClB,iBAAAE,GACN,OAAO,IAAIN,CACd,EAGC,MAAOS,UAAmBL,EAClB,iBAAAE,GACN,OAAO,IAAIJ,CACd,ECsBL,SAASQ,EAAe5M,GACpB,QAAqB,IAAVA,EAEX,OAAO/B,SAAS+B,EACpB,CCxDM,MAAO6M,UAA0BjM,EAGnC,QAAAY,CAASM,GACLnC,KAAKrB,MDQG,SAAmBwD,EAAekB,GAC9C,MAAMhE,EAAmC,CAAA,EAIzC,IAAK,IAAIU,KAAMsD,EAAUjE,SAAS+C,GAC9B,OAAQpC,EAAGjB,WACP,IAAK,WACDO,EAAO8N,SAAWpN,EAAGyF,YACrB,MACJ,IAAK,QACDnG,EAAO+N,MAAQH,EAAelN,EAAGyF,aACjC,MACJ,IAAK,QACDnG,EAAOgO,MAAQJ,EAAelN,EAAGyF,aACjC,MACJ,IAAK,aACDnG,EAAOiO,WAAaL,EAAelN,EAAGyF,aACtC,MACJ,IAAK,cACDnG,EAAOkO,YAAcxN,EAAGyF,YACxB,MACJ,IAAK,QACDnG,EAAOmO,MAAQP,EAAelN,EAAGyF,aACjC,MACJ,IAAK,aACDnG,EAAOoO,WAAaR,EAAelN,EAAGyF,aACtC,MACJ,IAAK,UACDnG,EAAOqO,QAAU3N,EAAGyF,YACpB,MACJ,IAAK,aACDnG,EAAOsO,WAAa5N,EAAGyF,YAKnC,OAAOnG,CACX,CC9CqBuO,CAAmBzL,EAAMnC,KAAKmB,SAASkC,UACvD,ECLC,MAAOwK,UAAsB5M,EAG/B,QAAAY,CAASM,GACLnC,KAAKrB,MCMG,SAAewD,EAAekB,GAC1C,MAAMhE,EAA+B,CAAA,EAErC,IAAK,IAAIU,KAAMsD,EAAUjE,SAAS+C,GAC9B,OAAQpC,EAAGjB,WACP,IAAK,QAASO,EAAOyO,MAAQ/N,EAAGyF,YAAa,MAC7C,IAAK,cAAenG,EAAO0O,YAAchO,EAAGyF,YAAa,MACzD,IAAK,UAAWnG,EAAO2O,QAAUjO,EAAGyF,YAAa,MACjD,IAAK,UAAWnG,EAAO4O,QAAUlO,EAAGyF,YAAa,MACjD,IAAK,WAAYnG,EAAO6O,SAAWnO,EAAGyF,YAAa,MACnD,IAAK,WAAYnG,EAAO8O,SAAWpO,EAAGyF,YAAa,MACnD,IAAK,iBAAkBnG,EAAO+O,eAAiBrO,EAAGyF,YAAa,MAC/D,IAAK,WAAYzF,EAAGyF,cAAgBnG,EAAOgP,SAAW/P,SAASyB,EAAGyF,cAI1E,OAAOnG,CACX,CDvBqBiP,CAAenM,EAAMnC,KAAKmB,SAASkC,UACnD,QENQkL,GAoCG,SAAAC,EAAiB9P,EAAeE,GAC5C,IAAIS,EAAyB,CACzBsD,KAAM/D,EAAII,KAAKN,EAAM,QACrB+P,OAAQ,CAAE,GAGd,IAAK,IAAI1O,KAAMnB,EAAIQ,SAASV,GAAO,CAC/B,IAAIgQ,EAAU9P,EAAIgB,QAAQG,EAAI,WAC1B4O,EAAS/P,EAAIgB,QAAQG,EAAI,UAEzB2O,EACArP,EAAOoP,OAAO1O,EAAGjB,WAAaF,EAAII,KAAK0P,EAAS,OAE3CC,IACLtP,EAAOoP,OAAO1O,EAAGjB,WAAaF,EAAII,KAAK2P,EAAQ,WAEtD,CAED,OAAOtP,CACX,CAEgB,SAAAuP,EAAgBlQ,EAAeE,GAC3C,IAAIS,EAAwB,CACxBsD,KAAM/D,EAAII,KAAKN,EAAM,SAGzB,IAAK,IAAIqB,KAAMnB,EAAIQ,SAASV,GACxB,OAAQqB,EAAGjB,WACP,IAAK,YAAaO,EAAOwP,UAAYC,EAAc/O,EAAInB,GAAM,MAC7D,IAAK,YAAaS,EAAO0P,UAAYD,EAAc/O,EAAInB,GAI/D,OAAOS,CACX,CAEgB,SAAAyP,EAAcpQ,EAAeE,GACzC,MAAO,CACHoQ,cAAepQ,EAAIiB,YAAYnB,EAAM,QAAS,YAC9CuQ,WAAYrQ,EAAIiB,YAAYnB,EAAM,KAAM,YACxCwQ,WAAYtQ,EAAIiB,YAAYnB,EAAM,KAAM,YAEhD,CC5EM,MAAOyQ,WAAkBlO,EAG3B,WAAAC,CAAY0E,EAAqBxK,GAC7B0K,MAAMF,EAAKxK,EACd,CAED,QAAAyG,CAASM,GACLnC,KAAKoP,MDYG,SAAW1Q,EAAeE,GACtC,IAAIS,EAAS,IAAIkP,EACbc,EAAgBzQ,EAAIgB,QAAQlB,EAAM,iBAEtC,IAAK,IAAIqB,KAAMnB,EAAIQ,SAASiQ,GACxB,OAAOtP,EAAGjB,WACN,IAAK,YAAaO,EAAOiQ,YAAcd,EAAiBzO,EAAInB,GAAM,MAClE,IAAK,aAAcS,EAAOkQ,WAAaX,EAAgB7O,EAAInB,GAInE,OAAOS,CACX,CCxBqBmQ,CAAWrN,EAAMnC,KAAKmB,SAASkC,UAC/C,QCXiBoM,IAMhB,MAAOC,WAAoBD,GAAjC,WAAAvO,uBACClB,KAAAkD,KAAO2D,EAAQ8I,QACf,EAEK,MAAOC,WAAmBH,GAAhC,WAAAvO,uBACClB,KAAAkD,KAAO2D,EAAQgJ,OACf,ECTK,MAAOC,WAA4C7O,EAKrD,WAAAC,CAAY0E,EAAqBxK,EAAcyK,GAC3CC,MAAMF,EAAKxK,GACX4E,KAAK+F,gBAAkBF,CAC1B,EAGC,MAAOkK,WAAsBD,GAC/B,WAAA5O,CAAY0E,EAAqBxK,EAAcyK,GAC3CC,MAAMF,EAAKxK,EAAMyK,EACpB,CAED,QAAAhE,CAASM,GACLnC,KAAKgQ,MAAQhQ,KAAK+F,gBAAgBkK,WAAW9N,EAAM,WAAYuN,GAClE,EAGC,MAAOQ,WAAqBJ,GAC9B,WAAA5O,CAAY0E,EAAqBxK,EAAcyK,GAC3CC,MAAMF,EAAKxK,EAAMyK,EACpB,CAED,QAAAhE,CAASM,GACLnC,KAAKgQ,MAAQhQ,KAAK+F,gBAAgBkK,WAAW9N,EAAM,UAAWyN,GACjE,ECFW,SAAAO,GAAoBzR,EAAeE,GAClD,IAAIS,EAAS,CACZ+Q,eAAgB,IAGjB,IAAK,IAAIrQ,KAAMnB,EAAIQ,SAASV,GAC3B,OAAOqB,EAAGjB,WACT,IAAK,SACJO,EAAOgR,gBAAkBzR,EAAII,KAAKe,EAAI,OACtC,MAED,IAAK,WACL,IAAK,UACJV,EAAO+Q,eAAezQ,KAAKf,EAAII,KAAKe,EAAI,OAKxC,OAAOV,CACX,CC9CM,MAAOiR,WAAqBrP,EAGjC,WAAAC,CAAY0E,EAAqBxK,GAChC0K,MAAMF,EAAKxK,EACX,CAED,QAAAyG,CAASM,GACRnC,KAAKuQ,SDIS,SAAc7R,EAAeE,GAC5C,IAAIS,EAAS,CAAA,EAEb,IAAK,IAAIU,KAAMnB,EAAIQ,SAASV,GAC3B,OAAOqB,EAAGjB,WACT,IAAK,iBAAkBO,EAAOmR,eAAiB5R,EAAIM,WAAWa,EAAI,OAAQ,MAC1E,IAAK,aAAcV,EAAOoR,cAAgBN,GAAoBpQ,EAAInB,GAAM,MACxE,IAAK,YAAaS,EAAOqR,aAAeP,GAAoBpQ,EAAInB,GAAM,MACtE,IAAK,kBAAmBS,EAAOsR,gBAAkB/R,EAAIiC,SAASd,EAAI,OAIjE,OAAOV,CACX,CCjBkBuR,CAAczO,EAAMnC,KAAKmB,SAASkC,UAClD,ECVI,MAAOwN,WAAwB5P,EAGjC,QAAAY,CAASM,GACLnC,KAAKrB,MCEG,SAAiBwD,EAAevD,GAC/C,OAAOA,EAAIQ,SAAS+C,EAAM,YAAYO,KAAImC,IACzC,MAAMiM,EAAajM,EAAEiM,WAErB,MAAO,CACNC,SAAUnS,EAAII,KAAK6F,EAAG,SACtBlC,KAAM/D,EAAII,KAAK6F,EAAG,QAClB3B,KAAM4N,EAAWE,SACjB3Q,MAAOyQ,EAAWtL,YAClB,GAEH,CDbqByL,CAAiB9O,EAAMnC,KAAKmB,SAASkC,UACrD,EEFC,MAAO6N,WAAqBjQ,EAM9B,WAAAC,CAAY0E,EAAqBxK,EAAcyK,GAC3CC,MAAMF,EAAKxK,GACX4E,KAAK+F,gBAAkBF,CAC1B,CAEJ,QAAAhE,CAASM,GACFnC,KAAKmR,SAAWnR,KAAK+F,gBAAgBqL,cAAcjP,GACzDnC,KAAKqR,WAAavV,EAAMkE,KAAKmR,UAAUhV,GAAKA,EAAE8G,IAC3C,ECVC,MAAOqO,WAA6BrQ,EAItC,WAAAC,CAAY0E,EAAqBxK,GAC7B0K,MAAMF,EAAKxK,GAJf4E,KAAQmR,SAAuB,EAK9B,CAEJ,QAAAtP,CAASM,GACF,MAAMvD,EAAMoB,KAAKmB,SAASkC,UAE1B,IAAK,IAAItD,KAAMnB,EAAIQ,SAAS+C,EAAM,aAC9BnC,KAAKmR,SAASxR,KAAK,CACf4R,OAAQ3S,EAAII,KAAKe,EAAI,UACrByR,aAAc5S,EAAII,KAAKe,EAAI,gBAC3B0R,KAAM7S,EAAIiC,SAASd,EAAI,UAIrCC,KAAKqR,WAAavV,EAAMkE,KAAKmR,UAAUhV,GAAKA,EAAEoV,QAC3C,ECTL,MAAMG,GAAe,CACpB,CAAExO,KAAMnI,EAAkB4W,eAAgBlV,OAAQ,qBAClD,CAAEyG,KAAMnI,EAAkB6W,mBAAoBnV,OAAQ,oBACtD,CAAEyG,KAAMnI,EAAkB8W,eAAgBpV,OAAQ,qBAClD,CAAEyG,KAAMnI,EAAkB+W,iBAAkBrV,OAAQ,8BAGxCsV,GAAb,WAAA7Q,GAMClB,KAAKgS,MAAW,GAChBhS,KAAQiS,SAAyB,EAwKjC,CAzJA,iBAAa7Q,CAAK8Q,EAAkBrM,EAAwBnE,GAC3D,IAAIyQ,EAAI,IAAIJ,GAYZ,OAVAI,EAAEC,SAAW1Q,EACbyQ,EAAEE,QAAUxM,EACZsM,EAAEhR,eAAiBmC,EAAelC,KAAK8Q,EAAMxQ,GAC7CyQ,EAAE9Q,WAAa8Q,EAAEhR,SAASG,0BAEpBiD,QAAQ+N,IAAIZ,GAAahP,KAAI6P,IAClC,MAAMC,EAAIL,EAAE9Q,KAAKoR,MAAKtW,GAAKA,EAAE+G,OAASqP,EAAIrP,QAASqP,EACnD,OAAOJ,EAAEO,qBAAqBF,EAAE/V,OAAQ+V,EAAEtP,KAAK,KAGzCiP,CACP,CAED,IAAApQ,CAAKmB,EAAO,QACX,OAAOlD,KAAKmB,SAASY,KAAKmB,EAC1B,CAEO,0BAAMwP,CAAqBtX,EAAc8H,GAChD,GAAIlD,KAAKiS,SAAS7W,GACjB,OAAO4E,KAAKiS,SAAS7W,GAEtB,IAAK4E,KAAKmB,SAASqC,IAAIpI,GACtB,OAAO,KAER,IAAIuX,EAAa,KAEjB,OAAQzP,GACP,KAAKnI,EAAkB4W,eACtB3R,KAAK4S,aAAeD,EAAO,IAAIhN,EAAa3F,KAAKmB,SAAU/F,EAAM4E,KAAKqS,SACtE,MAED,KAAKtX,EAAkB8X,UACtB7S,KAAK8S,cAAgBH,EAAO,IAAIxP,EAAcnD,KAAKmB,SAAU/F,GAC7D,MAED,KAAKL,EAAkBgY,UACtB/S,KAAKgT,cAAgBL,EAAO,IAAInH,EAAcxL,KAAKmB,SAAU/F,EAAM4E,KAAKqS,SACxE,MAED,KAAKtX,EAAkBkY,OACtBjT,KAAKkT,WAAaP,EAAO,IAAI1G,EAAWjM,KAAKmB,SAAU/F,EAAM4E,KAAKqS,SAClE,MAED,KAAKtX,EAAkBoY,MACtBnT,KAAKoT,UAAYT,EAAO,IAAIxD,GAAUnP,KAAKmB,SAAU/F,GACrD,MAED,KAAKL,EAAkBsY,UACtBrT,KAAKsT,cAAgBX,EAAO,IAAI5C,GAAc/P,KAAKmB,SAAU/F,EAAM4E,KAAKqS,SACxE,MAED,KAAKtX,EAAkBwY,SACtBvT,KAAKwT,aAAeb,EAAO,IAAIzC,GAAalQ,KAAKmB,SAAU/F,EAAM4E,KAAKqS,SACtE,MAED,KAAKtX,EAAkB2R,OACtBiG,EAAO,IAAI3F,EAAWhN,KAAKmB,SAAU/F,EAAM4E,KAAKqS,SAChD,MAED,KAAKtX,EAAkByR,OACtBmG,EAAO,IAAI5F,EAAW/M,KAAKmB,SAAU/F,EAAM4E,KAAKqS,SAChD,MAED,KAAKtX,EAAkB8W,eACtB7R,KAAKyT,cAAgBd,EAAO,IAAI9E,EAAc7N,KAAKmB,SAAU/F,GAC7D,MAED,KAAKL,EAAkB6W,mBACtB5R,KAAK0T,kBAAoBf,EAAO,IAAIzF,EAAkBlN,KAAKmB,SAAU/F,GACrE,MAED,KAAKL,EAAkB+W,iBACtBa,EAAO,IAAI9B,GAAgB7Q,KAAKmB,SAAU/F,GAC1C,MAED,KAAKL,EAAkB4Y,SACtB3T,KAAK4T,aAAejB,EAAO,IAAIrC,GAAatQ,KAAKmB,SAAU/F,GAC3D,MAED,KAAKL,EAAkB8Y,SACtB7T,KAAK8T,aAAenB,EAAO,IAAIzB,GAAalR,KAAKmB,SAAU/F,EAAM4E,KAAKqS,SACtE,MAED,KAAKtX,EAAkBgZ,iBACtB/T,KAAKgU,qBAAuBrB,EAAO,IAAIrB,GAAqBtR,KAAKmB,SAAU/F,GAI7E,GAAY,MAARuX,EACH,OAAOpO,QAAQC,QAAQ,MAOxB,GALAxE,KAAKiS,SAAS7W,GAAQuX,EACtB3S,KAAKgS,MAAMrS,KAAKgT,SAEVA,EAAKvR,OAEPuR,EAAKtR,MAAMxF,OAAS,EAAG,CAC1B,MAAOoY,GAAU9Y,EAAUwX,EAAKvX,YAC1BmJ,QAAQ+N,IAAIK,EAAKtR,KAAKqB,KAAI6P,GAAOvS,KAAK0S,qBAAqBlX,EAAY+W,EAAI9V,OAAQwX,GAAS1B,EAAIrP,QACtG,CAED,OAAOyP,CACP,CAED,uBAAMuB,CAAkBjR,EAAY0P,GACnC,MAAMxW,QAAU6D,KAAKmU,aAAaxB,GAAQ3S,KAAK4S,aAAc3P,EAAI,QACjE,OAAOjD,KAAKoU,UAAUjY,EACtB,CAED,wBAAMkY,CAAmBpR,GACxB,MAAM9G,QAAU6D,KAAKmU,aAAanU,KAAKgT,cAAe/P,EAAI,QAC1D,OAAOjD,KAAKoU,UAAUjY,EACtB,CAED,cAAMmY,CAASrR,EAAYpG,GAC1B,MAAMV,QAAU6D,KAAKmU,aAAanU,KAAK8S,cAAe7P,EAAI,cAC1D,OAAO9G,EAAI6D,KAAKoU,UAAU,IAAIG,KAAK,CAACC,GAAYrY,EAAGU,MAAUV,CAC7D,CAED,kBAAMsY,CAAaxR,EAAY0P,GAC9B,aAAa3S,KAAKmU,aAAaxB,GAAQ3S,KAAK4S,aAAc3P,EAAI,SAC9D,CAEO,SAAAmR,CAAUlC,GACjB,OAAKA,EAGDlS,KAAKoS,SAASsC,ajCnJd,SAAuBxC,GAC5B,OAAO,IAAI3N,SAAQ,CAACC,EAASmQ,KAC5B,MAAMC,EAAS,IAAIC,WACnBD,EAAOE,UAAY,IAAMtQ,EAAQoQ,EAAOvV,QACxCuV,EAAOG,QAAU,IAAMJ,IACvBC,EAAOI,cAAc9C,EAAK,GAE5B,CiC6IU+C,CAAa/C,GAGdvW,IAAIuZ,gBAAgBhD,GANnB,IAOR,CAED,eAAAiD,CAAgBlS,EAAYmS,EAAiB,MAC5C,IAAI7C,GAAO6C,EAAS/T,MAAQrB,KAAKqB,MAAMoR,MAAKD,GAAKA,EAAEvP,IAAMA,IACzD,MAAMgR,EAASmB,EAAWja,EAAUia,EAASha,MAAM,GAAK,GACxD,OAAOmX,EAAMvS,KAAKiS,SAASzW,EAAY+W,EAAI9V,OAAQwX,IAAW,IAC9D,CAED,WAAAoB,CAAY1C,EAAY1P,GACvB,MAAMsP,EAAMI,EAAKtR,KAAKoR,MAAKtW,GAAKA,EAAE8G,IAAMA,KACjCgR,GAAU9Y,EAAUwX,EAAKvX,MAChC,OAAOmX,EAAM/W,EAAY+W,EAAI9V,OAAQwX,GAAU,IAC/C,CAEO,YAAAE,CAAaxB,EAAY1P,EAAYqS,GAC5C,MAAMla,EAAO4E,KAAKqV,YAAY1C,EAAM1P,GACpC,OAAO7H,EAAO4E,KAAKmB,SAASC,KAAKhG,EAAMka,GAAc/Q,QAAQC,QAAQ,KACrE,EAGc,SAAAgQ,GAAYvP,EAAkBsQ,GAC7C,MACMC,EAAUD,EAAQzR,QAAQ,SAAU,IACpC2R,EAAU,IAAInZ,MAFR,IAIZ,IAAK,IAAIgD,EAAI,EAAGA,EAJJ,GAIaA,IACxBmW,EALW,GAKGnW,EAAI,GAAKhB,SAASkX,EAAQ7R,OAAW,EAAJrE,EAAO,GAAI,IAE3D,IAAK,IAAIA,EAAI,EAAGA,EAAI,GAAIA,IACvB2F,EAAK3F,GAAK2F,EAAK3F,GAAKmW,EAAQnW,EARjB,IAUZ,OAAO2F,CACR,CCjMgB,SAAAyQ,GAAiBhX,EAAeE,GAC5C,MAAO,CACHsE,KAAM2D,EAAQ8O,YACd1S,GAAIrE,EAAII,KAAKN,EAAM,MAE3B,CCvBM,MAAOkX,WAAmBxJ,EAAhC,WAAAlL,uBACClB,KAAAkD,KAAgB2D,EAAQ+O,WAGxB5V,KAAKE,MAA2B,EAMhC,EAEe,SAAA2V,GAAgBnX,EAAemH,GAC9C,IAAIxG,EAAS,IAAIuW,GAEjB,OAAQlX,EAAKI,WACZ,IAAK,OACJO,EAAOyW,QAAU,OACjBrK,OAAOC,OAAOrM,EAAOa,MAAO,CAAE+G,MAAO,OAAQC,OAAQ,SACrD,MAED,IAAK,OACJ7H,EAAOyW,QAAU,UACjBrK,OAAOC,OAAOrM,EAAOa,MAAO,CAAE6V,GAAI,MAAOC,GAAI,MAAOC,GAAI,MAAOC,GAAI,QACnE,MAED,IAAK,OACJ7W,EAAOyW,QAAU,OACjB,MAED,IAAK,QACJzW,EAAOyW,QAAU,IACjB,MAED,IAAK,UACJzW,EAAOyW,QAAU,gBACjBrK,OAAOC,OAAOrM,EAAOa,MAAO,CAAE+G,MAAO,OAAQC,OAAQ,SACrD,MAED,QACC,OAAO,KAGT,IAAK,MAAMiP,KAAMvX,EAAIsB,MAAMxB,GAC1B,OAAOyX,EAAGrX,WACT,IAAK,QACJO,EAAO+W,aAAeD,EAAG9V,MACzB,MAED,IAAK,YACJhB,EAAOa,MAAMmW,KAAOF,EAAG9V,MACvB,MAED,IAAK,OACJ,MAAOiW,EAAIC,GAAMC,GAAWL,EAAG9V,OAC/BoL,OAAOC,OAAOrM,EAAOa,MAAO,CAAEoW,KAAIC,OAClC,MAED,IAAK,KACJ,MAAOE,EAAIC,GAAMF,GAAWL,EAAG9V,OAC/BoL,OAAOC,OAAOrM,EAAOa,MAAO,CAAEuW,KAAIC,OAKrC,IAAK,MAAM3W,KAAMnB,EAAIQ,SAASV,GAC7B,OAAQqB,EAAGjB,WACV,IAAK,SACJ2M,OAAOC,OAAOrM,EAAOa,MAAOyW,GAAY5W,IACxC,MAED,IAAK,OACJ0L,OAAOC,OAAOrM,EAAOa,MAkCjB,IAjCJ,MAED,IAAK,YACJb,EAAOyW,QAAU,QACjBrK,OAAOC,OAAOrM,EAAOa,MAAO,CAAE+G,MAAO,OAAQC,OAAQ,SACrD7H,EAAOuX,UAAY,CAClB3T,GAAIrE,EAAII,KAAKe,EAAI,MACjB+N,MAAOlP,EAAII,KAAKe,EAAI,UAErB,MAED,IAAK,cACJV,EAAOgN,SAAS1M,QAAQkG,EAAOiH,kBAAkB/M,IACjD,MAED,QACC,MAAM8W,EAAQhB,GAAgB9V,EAAI8F,GAClCgR,GAASxX,EAAOgN,SAAS1M,KAAKkX,GAKjC,OAAOxX,CACR,CAEA,SAASsX,GAAY5W,GACpB,MAAO,CACN+W,OAAUlY,EAAII,KAAKe,EAAI,SACvB,eAAgBnB,EAAIM,WAAWa,EAAI,SAAUzC,EAAYI,MAAQ,MAEnE,CAQA,SAAS8Y,GAAWzZ,GACnB,OAAOA,EAAIga,MAAM,IAClB,CCrHM,MAAOC,WAAmB5K,EAAhC,WAAAlL,uBACClB,KAAAkD,KAAO2D,EAAQoQ,OAKf,EAEK,MAAOC,WAA6B9K,EAGzC,WAAAlL,CAAmB+B,GAClB6C,QADkB9F,KAAEiD,GAAFA,EAFnBjD,KAAAkD,KAAO2D,EAAQsQ,gBAId,EAGI,MAAOC,WAA8BhL,EAG1C,WAAAlL,CAAmB+B,GAClB6C,QADkB9F,KAAEiD,GAAFA,EAFnBjD,KAAAkD,KAAO2D,EAAQwQ,iBAId,EAEI,MAAOC,WAA4BlL,EAGxC,WAAAlL,CAAmB+B,GAClB6C,QADkB9F,KAAEiD,GAAFA,EAFnBjD,KAAAkD,KAAO2D,EAAQ0Q,eAId,ECXK,IAAIC,GACL,UADKA,GAEH,QAFGA,GAGG,QAHHA,GAIC,cAGZ,MAAMC,GAAyB,GAEzBC,GAAY,CACjBC,MAAS9Q,EAAQ+Q,QACjBC,UAAahR,EAAQiR,iBACrBpT,EAAKmC,EAAQkR,YACbC,KAAQnR,EAAQoR,YAChBC,MAASrR,EAAQsR,gBACjB9Z,IAAOwI,EAAQuR,aACfC,IAAOxR,EAAQyR,eACfC,IAAO1R,EAAQ2R,WACfC,IAAO5R,EAAQ6R,UACf7T,EAAKgC,EAAQ8R,QACbC,KAAQ/R,EAAQgS,eAChBC,KAAQjS,EAAQkS,aAChBC,KAAQnS,EAAQoS,eAChBC,IAAOrS,EAAQsS,iBACfC,IAAOvS,EAAQwS,eACflH,EAAKtL,EAAQyS,aACbC,KAAQ1S,EAAQ2S,QAChBC,MAAS5S,EAAQ6S,iBACjBC,IAAO9S,EAAQ+S,SACfC,OAAUhT,EAAQiT,cAClBC,EAAKlT,EAAQmT,UACbC,GAAMpT,EAAQqT,aACdC,IAAOtT,EAAQuT,OACfC,IAAOxT,EAAQyT,OACfC,SAAY1T,EAAQ2T,oBAQRC,GAGZ,WAAAvZ,CAAYQ,GACX1B,KAAK0B,QAAU,CACdgZ,aAAa,EACbC,OAAO,KACJjZ,EAEJ,CAED,UAAAuO,CAAWzO,EAAiBoZ,EAAkBC,GAC7C,IAAIxb,EAAS,GAEb,IAAK,IAAIU,KAAMnB,EAAIQ,SAASoC,EAAQoZ,GAAW,CAC9C,MAAMra,EAAO,IAAIsa,EACjBta,EAAK0C,GAAKrE,EAAII,KAAKe,EAAI,MACvBQ,EAAKua,SAAWlc,EAAII,KAAKe,EAAI,QAC7BQ,EAAK8L,SAAWrM,KAAK8M,kBAAkB/M,GACvCV,EAAOM,KAAKY,EACZ,CAED,OAAOlB,CACP,CAED,aAAA+R,CAAc5P,GACb,IAAInC,EAAS,GAEb,IAAK,IAAIU,KAAMnB,EAAIQ,SAASoC,EAAQ,WAAY,CAC/C,MAAMnF,EAAO,IAAI2a,GACjB3a,EAAK4G,GAAKrE,EAAII,KAAKe,EAAI,MACvB1D,EAAK0e,OAASnc,EAAII,KAAKe,EAAI,UAC3B1D,EAAK2e,SAAWpc,EAAII,KAAKe,EAAI,YAC7B1D,EAAK4e,KAAOrc,EAAII,KAAKe,EAAI,QACzB1D,EAAKgQ,SAAWrM,KAAK8M,kBAAkB/M,GACvCV,EAAOM,KAAKtD,EACZ,CAED,OAAOgD,CACP,CAED,iBAAA4G,CAAkBzE,GACjB,IAAI0Z,EAAQtc,EAAIgB,QAAQ4B,EAAQ,QAC5B2Z,EAAavc,EAAIgB,QAAQ4B,EAAQ,cACjC4Z,EAASxc,EAAIgB,QAAQsb,EAAO,UAEhC,MAAO,CACNhY,KAAM2D,EAAQwU,SACdhP,SAAUrM,KAAK8M,kBAAkBoO,GACjCvc,MAAOyc,EAAStU,EAAuBsU,EAAQxc,GAAO,CAAuB,EAC7E0N,SAAU6O,EAAanb,KAAKsb,gBAAgBH,GAAc,CAAE,EAE7D,CAED,eAAAG,CAAgB5c,GACf,IAAIW,EAAS,CAAA,EACTN,EAAQwc,GAAQC,UAAU9c,EAAM,SAMpC,OAJIK,IACHM,EAAO,oBAAsBN,GAGvBM,CACP,CAED,iBAAAyN,CAAkBlN,GACjB,IAAIyM,EAAW,GAEf,IAAK,IAAI3N,KAAQE,EAAIQ,SAASQ,GAC7B,OAAQlB,EAAKI,WACZ,IAAK,IACJuN,EAAS1M,KAAKK,KAAKyb,eAAe/c,IAClC,MAED,IAAK,WACJ2N,EAAS1M,KAAKK,KAAK0b,cAAchd,IACjC,MAED,IAAK,MACJ2N,EAAS1M,KAAKK,KAAK2b,WAAWjd,IAC9B,MAED,IAAK,MACJ2N,EAAS1M,QAAQK,KAAK4b,SAASld,GAAMmG,GAAK7E,KAAK8M,kBAAkBjI,MAKpE,OAAOwH,CACP,CAED,eAAAF,CAAgB0P,GACf,IAAIxc,EAAS,GAcb,OAZAkc,GAAQO,QAAQD,GAASE,IACxB,OAAQA,EAAEjd,WACT,IAAK,QACJO,EAAOM,KAAKK,KAAKgc,WAAWD,IAC5B,MAED,IAAK,cACJ1c,EAAOM,KAAKK,KAAKic,mBAAmBF,IAErC,IAGK1c,CACP,CAED,kBAAA4c,CAAmB1b,GAClB,IAAIlB,EAAoB,CACvB4D,GAAI,KACJN,KAAM,KACNlG,OAAQ,KACRyf,QAAS,KACThQ,OAAQ,IA2BT,OAxBAqP,GAAQO,QAAQvb,GAAMd,IACrB,OAAQA,EAAEX,WACT,IAAK,aACJ,IAAIqd,EAAMvd,EAAIgB,QAAQH,EAAG,OAErB0c,GACH9c,EAAO6M,OAAOvM,KAAK,CAClBlD,OAAQ,OACR2f,OAAQpc,KAAKqc,uBAAuBF,EAAK,CAAA,KAE3C,MAED,IAAK,aACJ,IAAIG,EAAM1d,EAAIgB,QAAQH,EAAG,OAErB6c,GACHjd,EAAO6M,OAAOvM,KAAK,CAClBlD,OAAQ,IACR2f,OAAQpc,KAAKqc,uBAAuBC,EAAK,CAAA,KAG5C,IAGKjd,CACP,CAED,UAAA2c,CAAWzb,GACV,IAAIlB,EAAoB,CACvB4D,GAAIrE,EAAII,KAAKuB,EAAM,WACnBgc,UAAW3d,EAAIiC,SAASN,EAAM,WAC9BoC,KAAM,KACNlG,OAAQ,KACRyf,QAAS,KACThQ,OAAQ,GACRsQ,OAAQ,MAGT,OAAQ5d,EAAII,KAAKuB,EAAM,SACtB,IAAK,YAAalB,EAAO5C,OAAS,IAAK,MACvC,IAAK,QAAS4C,EAAO5C,OAAS,QAAS,MACvC,IAAK,YAAa4C,EAAO5C,OAAS,OAsEnC,OAlEA8e,GAAQO,QAAQvb,GAAMwb,IACrB,OAAQA,EAAEjd,WACT,IAAK,UACJO,EAAO6c,QAAUtd,EAAII,KAAK+c,EAAG,OAC7B,MAED,IAAK,OACJ1c,EAAOsD,KAAO/D,EAAII,KAAK+c,EAAG,OAC1B,MAED,IAAK,OACJ1c,EAAOmd,OAAS5d,EAAII,KAAK+c,EAAG,OAC5B,MAED,IAAK,OACJ1c,EAAOod,KAAO7d,EAAII,KAAK+c,EAAG,OAC1B,MAED,IAAK,UACJ1c,EAAOqd,QAAU9d,EAAII,KAAK+c,EAAG,OAAOhF,MAAM,KAC1C,MAED,IAAK,MACJ1X,EAAO6M,OAAOvM,KAAK,CAClBlD,OAAQ,IACR2f,OAAQpc,KAAKqc,uBAAuBN,EAAG,CAAA,KAExC1c,EAAO4L,eAAiBtC,EAAyBoT,EAAGnd,GACpD,MAED,IAAK,MACJS,EAAO6M,OAAOvM,KAAK,CAClBlD,OAAQ,OACR2f,OAAQpc,KAAKqc,uBAAuBN,EAAG,CAAA,KAExC1c,EAAO6K,SAAWzB,EAAmBsT,EAAGnd,GACxC,MAED,IAAK,QACL,IAAK,OACJS,EAAO6M,OAAOvM,KAAK,CAClBlD,OAAQ,KACR2f,OAAQpc,KAAKqc,uBAAuBN,EAAG,CAAA,KAExC,MAED,IAAK,aACJ,IAAK,IAAIY,KAAK3c,KAAK4c,gBAAgBb,GAClC1c,EAAO6M,OAAOvM,KAAKgd,GACpB,MAED,IAAK,OACL,IAAK,UACL,IAAK,SACL,IAAK,aACL,IAAK,iBACL,IAAK,eACL,IAAK,aAEJ,MAED,QACC3c,KAAK0B,QAAQiZ,OAASkC,QAAQC,KAAK,gCAAgCf,EAAEjd,aACtE,IAGKO,CACP,CAED,eAAAud,CAAgBrc,GACf,IAAIlB,EAAS,GAET6D,EAAOtE,EAAII,KAAKuB,EAAM,QACtBwc,EAAW,GACXC,EAAc,GAElB,OAAQ9Z,GACP,IAAK,WACJ8Z,EAAc,aACdD,EAAW,kBACX,MACD,IAAK,UACJC,EAAc,YACdD,EAAW,iBACX,MACD,IAAK,WACJC,EAAc,aACdD,EAAW,eACX,MACD,IAAK,UACJC,EAAc,YACdD,EAAW,cACX,MACD,IAAK,YACJC,EAAc,kBACdD,EAAW,aACX,MACD,IAAK,YACJC,EAAc,kBACdD,EAAW,cACX,MACD,IAAK,YACJC,EAAc,kBACdD,EAAW,aACX,MACD,IAAK,YACJC,EAAc,kBACdD,EAAW,cACX,MACD,QAAS,MAAO,GAgCjB,OA7BAxB,GAAQO,QAAQvb,GAAMwb,IACrB,OAAQA,EAAEjd,WACT,IAAK,MACJO,EAAOM,KAAK,CACXlD,OAAQ,GAAGsgB,MACXE,IAAKD,EACLZ,OAAQpc,KAAKqc,uBAAuBN,EAAG,CAAA,KAExC,MAED,IAAK,MACJ1c,EAAOM,KAAK,CACXlD,OAAQ,GAAGsgB,SACXE,IAAKD,EACLZ,OAAQpc,KAAKqc,uBAAuBN,EAAG,CAAA,KAExC,MAED,IAAK,QACL,IAAK,OACJ1c,EAAOM,KAAK,CACXlD,OAAQsgB,EACRE,IAAKD,EACLZ,OAAQpc,KAAKqc,uBAAuBN,EAAG,CAAA,KAGzC,IAGK1c,CACP,CAED,kBAAA2M,CAAmBkR,GAClB,IAAI7d,EAAS,GACT8d,EAAU,CAAA,EACVC,EAAU,GAuBd,OArBA7B,GAAQO,QAAQoB,GAAOnB,IACtB,OAAQA,EAAEjd,WACT,IAAK,cACJkB,KAAKsK,uBAAuByR,EAAGqB,GAC7BC,SAAQlhB,GAAKkD,EAAOM,KAAKxD,KAC3B,MAED,IAAK,eACJihB,EAAQzd,KAAKK,KAAKsd,wBAAwBvB,IAC1C,MAED,IAAK,MACJ,IAAIwB,EAAQ3e,EAAII,KAAK+c,EAAG,SACpByB,EAAgB5e,EAAIiB,YAAYkc,EAAG,gBAAiB,OACxDoB,EAAQK,GAAiBD,EAE1B,IAGFle,EAAOge,SAAQlhB,GAAKA,EAAE8G,GAAKka,EAAQhhB,EAAE8G,MAE9B5D,CACP,CAED,uBAAAie,CAAwB5e,GACvB,IAAI0M,EAAOxM,EAAIgB,QAAQlB,EAAM,QACzB2M,EAAQD,GAAQxM,EAAIgB,QAAQwL,EAAM,SAClCE,EAAYD,GAASzM,EAAIgB,QAAQyL,EAAO,aAE5C,OAAOC,EAAY,CAClBrI,GAAIrE,EAAI0B,QAAQ5B,EAAM,kBACtB+e,IAAK7e,EAAII,KAAKsM,EAAW,MACzBtC,MAAOpK,EAAII,KAAKqM,EAAO,UACpB,IACJ,CAED,sBAAAf,CAAuB/J,EAAe6c,GACrC,IAAI/d,EAAS,GACT4D,EAAKrE,EAAII,KAAKuB,EAAM,iBAUxB,OARAgb,GAAQO,QAAQvb,GAAMwb,IACrB,GACM,QADEA,EAAEjd,UAERO,EAAOM,KAAKK,KAAK2K,oBAAoB1H,EAAI8Y,EAAGqB,GAE7C,IAGK/d,CACP,CAED,mBAAAsL,CAAoB1H,EAAY1C,EAAe6c,GAC9C,IAAI/d,EAAwB,CAC3B4D,GAAIA,EACJmG,MAAOxK,EAAI0B,QAAQC,EAAM,QACzBiI,MAAO,EACPkV,gBAAYzd,EACZ0d,OAAQ,CAAE,EACVC,OAAQ,CAAE,EACVC,KAAM,OAwCP,OArCAtC,GAAQO,QAAQvb,GAAMwb,IACrB,OAAQA,EAAEjd,WACT,IAAK,QACJO,EAAOmJ,MAAQ5J,EAAI0B,QAAQyb,EAAG,OAC9B,MAED,IAAK,MACJ/b,KAAKqc,uBAAuBN,EAAG1c,EAAOse,QACtC,MAED,IAAK,MACJ3d,KAAKqc,uBAAuBN,EAAG1c,EAAOue,QACtC,MAED,IAAK,iBACJ,IAAI3a,EAAKrE,EAAI0B,QAAQyb,EAAG,OACxB1c,EAAOye,OAASV,EAAQ3K,MAAKtW,GAAKA,GAAG8G,IAAMA,IAC3C,MAED,IAAK,UACJ5D,EAAO0e,UAAYnf,EAAII,KAAK+c,EAAG,OAC/B,MAED,IAAK,SACJ1c,EAAOqe,WAAa9e,EAAII,KAAK+c,EAAG,OAChC,MAED,IAAK,SACJ1c,EAAOkJ,OAAS3J,EAAII,KAAK+c,EAAG,OAC5B,MAED,IAAK,OACJ1c,EAAOwe,KAAOjf,EAAII,KAAK+c,EAAG,OAE3B,IAGK1c,CACP,CAED,QAAAuc,CAASrb,EAAesF,GACvB,MAAMmY,EAAapf,EAAIgB,QAAQW,EAAM,cACrC,OAAOyd,EAAanY,EAAOmY,GAAc,EACzC,CAED,aAAAC,CAAc1d,EAAe2d,GAC5B,MAAuB,CACtBhb,KAAM2D,EAAQsX,SACd9R,SAAU6R,EAAa3d,IAAO8L,UAAY,GAE3C,CAED,YAAA+R,CAAa7d,EAAe2d,GAC3B,MAAuB,CACtBhb,KAAM2D,EAAQwX,QACdhS,SAAU6R,EAAa3d,IAAO8L,UAAY,GAE3C,CAED,aAAAqP,CAAcnb,GACb,MAAO,CAAE2C,KAAM2D,EAAQyX,SAAUjS,SAAU,GAAIpJ,GAAIrE,EAAII,KAAKuB,EAAM,MAClE,CAED,cAAAkb,CAAelb,GACd,IHreiC7B,EAAeE,EGqe5CS,EAAuB,CAAE6D,KAAM2D,EAAQ0X,UAAWlS,SAAU,IAEhE,IAAK,IAAItM,KAAMnB,EAAIQ,SAASmB,GAC3B,OAAQR,EAAGjB,WACV,IAAK,MACJkB,KAAK2I,yBAAyB5I,EAAIV,GAClC,MAED,IAAK,IACJA,EAAOgN,SAAS1M,KAAKK,KAAKwe,SAASze,EAAIV,IACvC,MAED,IAAK,YACJA,EAAOgN,SAAS1M,KAAKK,KAAKye,eAAe1e,EAAIV,IAC7C,MAED,IAAK,WACJA,EAAOgN,SAAS1M,KAAKK,KAAK0e,cAAc3e,EAAIV,IAC5C,MAED,IAAK,gBACJA,EAAOgN,SAAS1M,MH1fcjB,EG0fUqB,EH1fKnB,EG0fDA,EHzftC,CACHsE,KAAM2D,EAAQ8X,cACd1b,GAAIrE,EAAII,KAAKN,EAAM,MACnBiE,KAAM/D,EAAII,KAAKN,EAAM,QACrBkgB,SAAUhgB,EAAI0B,QAAQ5B,EAAM,YAC5BmgB,QAASjgB,EAAI0B,QAAQ5B,EAAM,cGqf9B,MAED,IAAK,cACJW,EAAOgN,SAAS1M,KAAK+V,GAAiB3V,EAAInB,IAC1C,MAED,IAAK,oBACJS,EAAOgN,SAAS1M,KAAK,IAAIyX,GAAqBxY,EAAII,KAAKe,EAAI,QAC3D,MAED,IAAK,kBACJV,EAAOgN,SAAS1M,KAAK,IAAI2X,GAAmB1Y,EAAII,KAAKe,EAAI,QACzD,MAED,IAAK,QACL,IAAK,YACJV,EAAOgN,SAAS1M,KAAKK,KAAK8e,iBAAiB/e,IAC3C,MAED,IAAK,MACJV,EAAOgN,SAAS1M,QAAQK,KAAK4b,SAAS7b,GAAI8E,GAAK7E,KAAKyb,eAAe5W,GAAGwH,YACtE,MAED,IAAK,MACJhN,EAAOgN,SAAS1M,KAAKK,KAAKie,cAAcle,GAAI8E,GAAK7E,KAAKyb,eAAe5W,MACrE,MAED,IAAK,MACJxF,EAAOgN,SAAS1M,KAAKK,KAAKoe,aAAare,GAAI8E,GAAK7E,KAAKyb,eAAe5W,MAKvE,OAAOxF,CACP,CAED,wBAAAsJ,CAAyBjK,EAAeqgB,GACvC/e,KAAKqc,uBAAuB3d,EAAMqgB,EAAUzS,SAAW,CAAE,EAAE,MAAM7M,IAChE,GAAImJ,EAAuBnJ,EAAGsf,EAAWngB,GACxC,OAAO,EAER,OAAQa,EAAEX,WACT,IAAK,SACJigB,EAAU9U,UAAYrL,EAAII,KAAKS,EAAG,OAClC,MAED,IAAK,WACJsf,EAAUC,UAAY5C,GAAO6C,oBAAoBxf,GACjD,MAED,IAAK,UACJO,KAAKkf,WAAWzf,EAAGsf,GACnB,MAED,IAAK,MAEJ,MAED,QACC,OAAO,EAGT,OAAO,CAAI,GAEZ,CAED,UAAAG,CAAW3e,EAAewe,GAGV,QAFDngB,EAAII,KAAKuB,EAAM,aAG5Bwe,EAAUzS,SAAgB,MAAI,OAC/B,CAED,cAAAmS,CAAele,EAAe4e,GAC7B,IAAI9f,EAAqC,CAAE6D,KAAM2D,EAAQuY,UAAWD,OAAQA,EAAQ9S,SAAU,IAa9F,OAXAhN,EAAOggB,OAASzgB,EAAII,KAAKuB,EAAM,UAC/BlB,EAAO4D,GAAKrE,EAAII,KAAKuB,EAAM,MAE3Bgb,GAAQO,QAAQvb,GAAMd,IACrB,GACM,MADEA,EAAEX,UAERO,EAAOgN,SAAS1M,KAAKK,KAAKwe,SAAS/e,EAAGJ,GAEvC,IAGKA,CACP,CAED,aAAAqf,CAAcne,EAAe4e,GAC5B,IAAI9f,EAAsB,CAAE6D,KAAM2D,EAAQyY,SAAUH,SAAQ9S,SAAU,IAClEkT,EAAM3gB,EAAII,KAAKuB,EAAM,OACrBX,EAAUhB,EAAII,KAAKuB,EAAM,WAgB7B,OAdIgf,IACHlgB,EAAOkgB,IAAMA,GAEV3f,IACHP,EAAOO,QAAUA,GAElB2b,GAAQO,QAAQvb,GAAMd,IACrB,GACM,MADEA,EAAEX,UAERO,EAAOgN,SAAS1M,KAAKK,KAAKwe,SAAS/e,EAAGJ,GAEvC,IAGKA,CACP,CAED,QAAAmf,CAASje,EAAe4e,GACvB,IAAI9f,EAAyB,CAAE6D,KAAM2D,EAAQ2Y,IAAKL,OAAQA,EAAQ9S,SAAU,IAgH5E,OA9GAkP,GAAQO,QAAQvb,GAAMd,IAGrB,QAFAA,EAAIO,KAAKyf,sBAAsBhgB,IAErBX,WACT,IAAK,IACJO,EAAOgN,SAAS1M,KAAc,CAC7BuD,KAAM2D,EAAQ6Y,KACd7U,KAAMpL,EAAE+F,cAET,MAED,IAAK,UACJnG,EAAOgN,SAAS1M,KAAc,CAC7BuD,KAAM2D,EAAQ8Y,YACd9U,KAAMpL,EAAE+F,cAET,MAED,IAAK,mBACJnG,EAAOgN,SAAS1M,KAAK,IAAIuX,GAAoBtY,EAAII,KAAKS,EAAG,QACzD,MAED,IAAK,YACJJ,EAAOgN,SAAS1M,KAAqB,CACpCuD,KAAM2D,EAAQ+Y,YACdC,YAAajhB,EAAII,KAAKS,EAAG,SACzBqgB,KAAMlhB,EAAIiC,SAASpB,EAAG,QAAQ,GAC9BsgB,MAAOnhB,EAAIiC,SAASpB,EAAG,SAAS,KAEjC,MAED,IAAK,YACJJ,EAAO2gB,UAAW,EAClB3gB,EAAOgN,SAAS1M,KAAyB,CACxCuD,KAAM2D,EAAQoZ,YACdpV,KAAMpL,EAAE+F,cAET,MAED,IAAK,UACJnG,EAAO2gB,UAAW,EAClB3gB,EAAOgN,SAAS1M,KAAmB,CAClCuD,KAAM2D,EAAQqZ,aACdC,SAAUvhB,EAAII,KAAKS,EAAG,eACtBqgB,KAAMlhB,EAAIiC,SAASpB,EAAG,QAAQ,GAC9BsgB,MAAOnhB,EAAIiC,SAASpB,EAAG,SAAS,KAEjC,MAED,IAAK,gBACJJ,EAAOgN,SAAS1M,KAAK,CAAEuD,KAAM2D,EAAQuZ,gBACrC,MAED,IAAK,KACJ/gB,EAAOgN,SAAS1M,KAAe,CAC9BuD,KAAM2D,EAAQwZ,MACdC,MAAO1hB,EAAII,KAAKS,EAAG,SAAW,iBAE/B,MAED,IAAK,wBACJJ,EAAOgN,SAAS1M,KAAe,CAC9BuD,KAAM2D,EAAQwZ,MACdC,MAAO,0BAER,MAED,IAAK,MACJjhB,EAAOgN,SAAS1M,KAAgB,CAC/BuD,KAAM2D,EAAQ0Z,OACdC,KAAMxlB,EAAkB4D,EAAII,KAAKS,EAAG,SACpCghB,KAAM7hB,EAAII,KAAKS,EAAG,UAEnB,MAED,IAAK,MACJJ,EAAOgN,SAAS1M,KAAK,CAAEuD,KAAM2D,EAAQ6Z,MACrC,MAED,IAAK,oBACJrhB,EAAOgN,SAAS1M,KAAuB,CACtCuD,KAAM2D,EAAQ8Z,kBACd1d,GAAIrE,EAAII,KAAKS,EAAG,QAEjB,MAED,IAAK,mBACJJ,EAAOgN,SAAS1M,KAAuB,CACtCuD,KAAM2D,EAAQ+Z,iBACd3d,GAAIrE,EAAII,KAAKS,EAAG,QAEjB,MAED,IAAK,UACJ,IAAI0S,EAAInS,KAAK6gB,aAAaphB,GAEtB0S,IACH9S,EAAOgN,SAAW,CAAC8F,IACpB,MAED,IAAK,OACJ9S,EAAOgN,SAAS1M,KAAKK,KAAK8gB,gBAAgBrhB,IAC1C,MAED,IAAK,MACJO,KAAKyI,mBAAmBhJ,EAAGJ,GAE5B,IAGKA,CACP,CAED,gBAAAyf,CAAiBpgB,GAChB,MAAMqiB,EAAW,GAAGriB,EAAKI,cACnBO,EAAS,CAAE6D,KAAMwU,GAAUhZ,EAAKI,WAAYuN,SAAU,IAE5D,IAAK,MAAMtM,KAAMnB,EAAIQ,SAASV,GAAO,CAGpC,GAFkBgZ,GAAU3X,EAAGjB,WAG9BO,EAAOgN,SAAS1M,KAAKK,KAAK8e,iBAAiB/e,SACrC,GAAoB,KAAhBA,EAAGjB,UAAkB,CAC/B,IAAIkiB,EAAMhhB,KAAKwe,SAASze,GACxBihB,EAAI9d,KAAO2D,EAAQoa,OACnB5hB,EAAOgN,SAAS1M,KAAKqhB,EACrB,MAAUjhB,EAAGjB,WAAaiiB,IAC1B1hB,EAAOV,MAAQqB,KAAKkhB,mBAAmBnhB,GAExC,CAED,OAAOV,CACP,CAED,kBAAA6hB,CAAmBxiB,GAClB,MAAMW,EAA8B,CAAA,EAEpC,IAAK,MAAMU,KAAMnB,EAAIQ,SAASV,GAC7B,OAAQqB,EAAGjB,WACV,IAAK,MAAOO,EAAOohB,KAAO7hB,EAAII,KAAKe,EAAI,OAAQ,MAC/C,IAAK,SAAUV,EAAO8hB,sBAAwBviB,EAAII,KAAKe,EAAI,OAAQ,MACnE,IAAK,MAAOV,EAAOyJ,SAAWlK,EAAII,KAAKe,EAAI,OAAQ,MACnD,IAAK,UAAWV,EAAO+hB,WAAaxiB,EAAIiC,SAASd,EAAI,OAAQ,MAC7D,IAAK,SAAUV,EAAOgiB,UAAYziB,EAAII,KAAKe,EAAI,OAAQ,MACvD,IAAK,SAAUV,EAAOiiB,QAAU1iB,EAAII,KAAKe,EAAI,OAI/C,OAAOV,CACP,CAED,kBAAAoJ,CAAmB/J,EAAesiB,GACjChhB,KAAKqc,uBAAuB3d,EAAMsiB,EAAI1U,SAAW,CAAE,EAAE,MAAM7M,IAC1D,OAAQA,EAAEX,WACT,IAAK,SACJkiB,EAAI/W,UAAYrL,EAAII,KAAKS,EAAG,OAC5B,MAED,IAAK,YACJuhB,EAAIO,cAAgBnF,GAAOoF,iBAAiB/hB,GAAG,GAC/C,MAED,QACC,OAAO,EAGT,OAAO,CAAI,GAEZ,CAED,eAAAqhB,CAAgBpiB,GACf,MAAMW,EAAS,CAAE6D,KAAM2D,EAAQ4a,WAAYpV,SAAU,IAErD,IAAK,MAAMtM,KAAMnB,EAAIQ,SAASV,GAAO,CACpC,MAAMmY,EAAQhB,GAAgB9V,EAAIC,MAClC6W,GAASxX,EAAOgN,SAAS1M,KAAKkX,EAC9B,CAED,OAAOxX,CACP,CAED,qBAAAogB,CAAsB/gB,GACrB,GAAsB,oBAAlBA,EAAKI,UACR,OAAOJ,EAER,IAAIgjB,EAAS9iB,EAAIgB,QAAQlB,EAAM,UAE/B,GAAIgjB,EAAQ,CACX,IAAIC,EAAW/iB,EAAII,KAAK0iB,EAAQ,YAC5B7iB,EAAeH,EAAKkjB,mBAAmBD,GAE3C,GAAIlK,GAAuBoK,SAAShjB,GACnC,OAAO6iB,EAAO5f,iBACf,CAED,OAAOlD,EAAIgB,QAAQlB,EAAM,aAAaoD,iBACtC,CAED,YAAA+e,CAAatgB,GACZ,IAAK,IAAIwb,KAAKnd,EAAIQ,SAASmB,GAC1B,OAAQwb,EAAEjd,WACT,IAAK,SACL,IAAK,SACJ,OAAOkB,KAAK8hB,oBAAoB/F,GAGnC,CAED,mBAAA+F,CAAoBvhB,GACnB,IAAIlB,EAAyB,CAAE6D,KAAM2D,EAAQkb,QAAS1V,SAAU,GAAIC,SAAU,CAAA,GAC1E0V,EAA6B,UAAlBzhB,EAAKzB,UAQpB,IAAImjB,EAAmD,KACnDC,EAAYtjB,EAAIiC,SAASN,EAAM,aACnB3B,EAAIiC,SAASN,EAAM,aAEnC,IAAI4hB,EAAO,CAAEC,SAAU,OAAQC,MAAO,OAAQjc,OAAQ,KAClDkc,EAAO,CAAEF,SAAU,OAAQC,MAAO,MAAOjc,OAAQ,KAErD,IAAK,IAAI2V,KAAKnd,EAAIQ,SAASmB,GAC1B,OAAQwb,EAAEjd,WACT,IAAK,YACAojB,IACHC,EAAK/b,OAASxH,EAAIM,WAAW6c,EAAG,IAAKze,EAAYI,KACjD4kB,EAAKlc,OAASxH,EAAIM,WAAW6c,EAAG,IAAKze,EAAYI,MAElD,MAED,IAAK,SACJ2B,EAAOiN,SAAgB,MAAI1N,EAAIM,WAAW6c,EAAG,KAAMze,EAAYI,KAC/D2B,EAAOiN,SAAiB,OAAI1N,EAAIM,WAAW6c,EAAG,KAAMze,EAAYI,KAChE,MAED,IAAK,YACL,IAAK,YACJ,IAAKwkB,EAAW,CACf,IAAIK,EAAqB,aAAfxG,EAAEjd,UAA2BqjB,EAAOG,EAC9C,IAAIE,EAAY5jB,EAAIgB,QAAQmc,EAAG,SAC3B0G,EAAa7jB,EAAIgB,QAAQmc,EAAG,aAEhCwG,EAAIH,SAAWxjB,EAAII,KAAK+c,EAAG,iBAAmBwG,EAAIH,SAE9CI,IACHD,EAAIF,MAAQG,EAAUhd,aAEnBid,IACHF,EAAInc,OAASmV,GAAQmH,UAAUD,EAAYnlB,EAAYI,KACxD,CACD,MAED,IAAK,mBACJukB,EAAW,mBACX,MAED,IAAK,WACJA,EAAW,WACX,MAED,IAAK,UACJ,IAAIU,EAAI3iB,KAAK4iB,aAAa7G,GAEtB4G,GACHtjB,EAAOgN,SAAS1M,KAAKgjB,GA4BzB,MAvBgB,oBAAZV,GACH5iB,EAAOiN,SAAkB,QAAI,QAEzB6V,EAAKE,QACRhjB,EAAOiN,SAAS,cAAgB6V,EAAKE,MACrChjB,EAAOiN,SAAgB,MAAI,SAGR,YAAZ2V,GACR5iB,EAAOiN,SAAkB,QAAI,QAC7BjN,EAAOiN,SAAmB,SAAI,WAC9BjN,EAAOiN,SAAgB,MAAI,MAC3BjN,EAAOiN,SAAiB,OAAI,MAExB6V,EAAK/b,SACR/G,EAAOiN,SAAe,KAAI6V,EAAK/b,QAC5Bkc,EAAKlc,SACR/G,EAAOiN,SAAc,IAAIgW,EAAKlc,UAEvB4b,GAA2B,QAAdG,EAAKE,OAAiC,SAAdF,EAAKE,QAClDhjB,EAAOiN,SAAgB,MAAI6V,EAAKE,OAG1BhjB,CACP,CAED,YAAAujB,CAAalkB,GACZ,IAAImkB,EAAcjkB,EAAIgB,QAAQlB,EAAM,eAEpC,IAAK,IAAIqd,KAAKnd,EAAIQ,SAASyjB,GAC1B,GACM,QADE9G,EAAEjd,UAER,OAAOkB,KAAK8iB,aAAa/G,GAI5B,OAAO,IACP,CAED,YAAA+G,CAAapkB,GACZ,IAAIW,EAAoB,CAAE6D,KAAM2D,EAAQkc,MAAOtF,IAAK,GAAInR,SAAU,CAAA,GAC9D0W,EAAWpkB,EAAIgB,QAAQlB,EAAM,YAC7BukB,EAAOrkB,EAAIgB,QAAQojB,EAAU,QAEjC3jB,EAAOoe,IAAM7e,EAAII,KAAKikB,EAAM,SAE5B,IAAIC,EAAOtkB,EAAIgB,QAAQlB,EAAM,QACzBykB,EAAOvkB,EAAIgB,QAAQsjB,EAAM,QAI7B,IAAK,IAAInH,KAFT1c,EAAOiN,SAAmB,SAAI,WAEhB1N,EAAIQ,SAAS+jB,IAC1B,OAAQpH,EAAEjd,WACT,IAAK,MACJO,EAAOiN,SAAgB,MAAI1N,EAAIM,WAAW6c,EAAG,KAAMze,EAAYI,KAC/D2B,EAAOiN,SAAiB,OAAI1N,EAAIM,WAAW6c,EAAG,KAAMze,EAAYI,KAChE,MAED,IAAK,MACJ2B,EAAOiN,SAAe,KAAI1N,EAAIM,WAAW6c,EAAG,IAAKze,EAAYI,KAC7D2B,EAAOiN,SAAc,IAAI1N,EAAIM,WAAW6c,EAAG,IAAKze,EAAYI,KAK/D,OAAO2B,CACP,CAED,UAAAsc,CAAWpb,GACV,IAAIlB,EAAmB,CAAE6D,KAAM2D,EAAQuc,MAAO/W,SAAU,IAkBxD,OAhBAkP,GAAQO,QAAQvb,GAAMd,IACrB,OAAQA,EAAEX,WACT,IAAK,KACJO,EAAOgN,SAAS1M,KAAKK,KAAKqjB,cAAc5jB,IACxC,MAED,IAAK,UACJJ,EAAOmI,QAAUxH,KAAKsjB,kBAAkB7jB,GACxC,MAED,IAAK,QACJO,KAAKujB,qBAAqB9jB,EAAGJ,GAE9B,IAGKA,CACP,CAED,iBAAAikB,CAAkB/iB,GACjB,IAAIlB,EAAS,GAUb,OARAkc,GAAQO,QAAQvb,GAAMwb,IACrB,GACM,YADEA,EAAEjd,UAERO,EAAOM,KAAK,CAAEsH,MAAOrI,EAAIM,WAAW6c,EAAG,MAExC,IAGK1c,CACP,CAED,oBAAAkkB,CAAqB7kB,EAAe8kB,GAsCnC,OArCAA,EAAMlX,SAAW,GACjBkX,EAAMC,UAAY,GAElBzjB,KAAKqc,uBAAuB3d,EAAM8kB,EAAMlX,SAAUkX,EAAMC,WAAWhkB,IAClE,OAAQA,EAAEX,WACT,IAAK,WACJ0kB,EAAMvZ,UAAYrL,EAAII,KAAKS,EAAG,OAC9B,MAED,IAAK,UACJ+jB,EAAMxE,UAAY5C,GAAOsH,mBAAmBjkB,GAC5C,MAED,IAAK,SACJO,KAAK2jB,mBAAmBlkB,EAAG+jB,GAC3B,MAED,IAAK,sBACJA,EAAMI,YAAchlB,EAAI0B,QAAQb,EAAG,OACnC,MAED,IAAK,sBACJ+jB,EAAMK,YAAcjlB,EAAI0B,QAAQb,EAAG,OACnC,MAGD,IAAK,SACJ+jB,EAAMlX,SAAkB,QAAI,OAC5B,MAED,QACC,OAAO,EAGT,OAAO,CAAI,IAGJkX,EAAMlX,SAAS,eACtB,IAAK,gBACGkX,EAAMlX,SAAS,cACtBkX,EAAMlX,SAAS,eAAiB,OAChCkX,EAAMlX,SAAS,gBAAkB,OACjC,MAED,IAAK,eACGkX,EAAMlX,SAAS,cACtBkX,EAAMlX,SAAS,eAAiB,OAGlC,CAED,kBAAAqX,CAAmBpjB,EAAeijB,GACjC,IAAIM,EAAcllB,EAAIM,WAAWqB,EAAM,eACnCwjB,EAAiBnlB,EAAIM,WAAWqB,EAAM,kBACtCyjB,EAAgBplB,EAAIM,WAAWqB,EAAM,iBACrC0jB,EAAerlB,EAAIM,WAAWqB,EAAM,gBAExCijB,EAAMlX,SAAgB,MAAI,OAC1BkX,EAAMlX,SAAS,iBAAmB8P,GAAO8H,QAAQV,EAAMlX,SAAS,iBAAkByX,GAClFP,EAAMlX,SAAS,eAAiB8P,GAAO8H,QAAQV,EAAMlX,SAAS,eAAgB2X,GAC9ET,EAAMlX,SAAS,gBAAkB8P,GAAO8H,QAAQV,EAAMlX,SAAS,gBAAiB0X,GAChFR,EAAMlX,SAAS,cAAgB8P,GAAO8H,QAAQV,EAAMlX,SAAS,cAAewX,EAC5E,CAED,aAAAT,CAAc9iB,GACb,IAAIlB,EAAsB,CAAE6D,KAAM2D,EAAQsd,IAAK9X,SAAU,IAczD,OAZAkP,GAAQO,QAAQvb,GAAMd,IACrB,OAAQA,EAAEX,WACT,IAAK,KACJO,EAAOgN,SAAS1M,KAAKK,KAAKokB,eAAe3kB,IACzC,MAED,IAAK,OACJO,KAAKqkB,wBAAwB5kB,EAAGJ,GAEjC,IAGKA,CACP,CAED,uBAAAglB,CAAwB3lB,EAAe4lB,GACtCA,EAAIhY,SAAWtM,KAAKqc,uBAAuB3d,EAAM,CAAE,EAAE,MAAMe,IAC1D,OAAQA,EAAEX,WACT,IAAK,WACJwlB,EAAItF,UAAY5C,GAAO6C,oBAAoBxf,GAC3C,MAED,IAAK,YACJ6kB,EAAIC,SAAW3lB,EAAIiC,SAASpB,EAAG,OAC/B,MAED,IAAK,aACJ6kB,EAAIE,WAAa5lB,EAAI0B,QAAQb,EAAG,OAChC,MAED,IAAK,YACJ6kB,EAAIG,UAAY7lB,EAAI0B,QAAQb,EAAG,OAC/B,MAED,QACC,OAAO,EAGT,OAAO,CAAI,GAEZ,CAED,cAAA2kB,CAAe7jB,GACd,IAAIlB,EAAuB,CAAE6D,KAAM2D,EAAQ6d,KAAMrY,SAAU,IAkB3D,OAhBAkP,GAAQO,QAAQvb,GAAMd,IACrB,OAAQA,EAAEX,WACT,IAAK,MACJO,EAAOgN,SAAS1M,KAAKK,KAAK2b,WAAWlc,IACrC,MAED,IAAK,IACJJ,EAAOgN,SAAS1M,KAAKK,KAAKyb,eAAehc,IACzC,MAED,IAAK,OACJO,KAAK2kB,yBAAyBllB,EAAGJ,GAElC,IAGKA,CACP,CAED,wBAAAslB,CAAyBjmB,EAAekmB,GACvCA,EAAKtY,SAAWtM,KAAKqc,uBAAuB3d,EAAM,CAAE,EAAE,MAAMe,IAC3D,OAAQA,EAAEX,WACT,IAAK,WACJ8lB,EAAKC,KAAOjmB,EAAI0B,QAAQb,EAAG,MAAO,MAClC,MAED,IAAK,SACJmlB,EAAKE,cAAgBlmB,EAAII,KAAKS,EAAG,QAAU,WAC3C,MAED,IAAK,WACJmlB,EAAK5F,UAAY5C,GAAO6C,oBAAoBxf,GAC5C,MAED,QACC,OAAO,EAGT,OAAO,CAAI,IAGZO,KAAK+kB,2BAA2BrmB,EAAMkmB,EACtC,CAED,0BAAAG,CAA2BrmB,EAAekmB,GACzC,MAAMI,EAAe,CACpBC,KAAQ,CACPC,YAAa,cACbC,UAAW,kBAEZC,KAAQ,CACPF,YAAa,cACbC,UAAW,QAEZE,KAAQ,CACPH,YAAa,cACbC,UAAW,SAIb5J,GAAQO,QAAQpd,GAAMe,IACrB,GAAoB,kBAAhBA,EAAEX,UAA+B,CACpC,MAAMwmB,EAAY1mB,EAAII,KAAKS,EAAG,OACxBuJ,EAAQgc,EAAaM,IAAc,CAACJ,YAAa,iBACvDN,EAAKtY,SAAS,gBAAkBtD,EAAMkc,YACtCN,EAAKtY,SAAoB,UAAItD,EAAMmc,SACnC,IAEF,CAED,sBAAA9I,CAAuB3d,EAAesK,EAAgC,KAAMuc,EAAqC,KAAMC,EAAsC,MA0L5J,OAzLAxc,EAAQA,GAAS,GAEjBuS,GAAQO,QAAQpd,GAAMe,IACrB,IAAI+lB,IAAU/lB,GAGd,OAAQA,EAAEX,WACT,IAAK,KACJkK,EAAM,cAAgBoT,GAAOqJ,UAAUhmB,GACvC,MAED,IAAK,gBACJuJ,EAAM,kBAAoBoT,GAAOsJ,qBAAqBjmB,GACtD,MAED,IAAK,QACJuJ,EAAa,MAAIuS,GAAQC,UAAU/b,EAAG,MAAO,KAAM+X,IACnD,MAED,IAAK,KACJxO,EAAM,aAAeA,EAAM,cAAgBpK,EAAIM,WAAWO,EAAG,MAAOnC,EAAYK,UAChF,MAED,IAAK,MACJqL,EAAM,oBAAsBuS,GAAQC,UAAU/b,EAAG,OAAQ,KAAM+X,IAC/D,MAED,IAAK,YACJxO,EAAM,oBAAsBuS,GAAQC,UAAU/b,EAAG,MAAO,KAAM+X,IAC9D,MAED,IAAK,YAGJ,MAED,IAAK,WACJxO,EAAMuY,cAAgB3iB,EAAIM,WAAWO,EAAG,MAAOnC,EAAYK,UAC3D,MAED,IAAK,MACJ,GAAIqC,KAAK0B,QAAQgZ,YAChB,MAEF,IAAK,OACJ1R,EAAa,MAAIoT,GAAOuJ,YAAYlmB,EAAG,KACvC,MAED,IAAK,WACJO,KAAK4lB,cAAcnmB,EAAGuJ,GACtB,MAED,IAAK,SACJA,EAAM,mBAAqBpK,EAAIiC,SAASpB,EAAG,OAAO,GAAQ,eAAiB,OAC3E,MAED,IAAK,IACJuJ,EAAM,eAAiBpK,EAAIiC,SAASpB,EAAG,OAAO,GAAQ,OAAS,SAC/D,MAED,IAAK,IACJuJ,EAAM,cAAgBpK,EAAIiC,SAASpB,EAAG,OAAO,GAAQ,SAAW,SAChE,MAED,IAAK,OACJuJ,EAAM,kBAAoBpK,EAAIiC,SAASpB,EAAG,OAAO,GAAQ,YAAc,OACvE,MAED,IAAK,YACJuJ,EAAM,gBAAkBpK,EAAIiC,SAASpB,EAAG,OAAO,GAAQ,aAAe,OACtE,MAED,IAAK,IACJO,KAAK6lB,eAAepmB,EAAGuJ,GACvB,MAED,IAAK,MACL,IAAK,SACJhJ,KAAK8lB,iBAAiBrmB,EAAGuJ,GACzB,MAED,IAAK,SACJhJ,KAAKgD,UAAUvD,EAAGuJ,GAClB,MAED,IAAK,aACJhJ,KAAK+lB,sBAAsBtmB,EAAG8lB,GAAcvc,GAC5C,MAED,IAAK,iBACJA,EAAM,kBAAoBoT,GAAO4J,cAAcvmB,GAC/CuJ,EAAM,mBAAqB,WAC3B,MAED,IAAK,OACJhJ,KAAK+lB,sBAAsBtmB,EAAGuJ,GAC9B,MAED,IAAK,MACJA,EAAc,OAAIoT,GAAO6J,cAAcxmB,GACvC,MAED,IAAK,YACJO,KAAK+lB,sBAAsBtmB,EAAGuJ,GAC9B,MAED,IAAK,SACApK,EAAIiC,SAASpB,EAAG,OAAO,KAC1BuJ,EAAe,QAAI,QACpB,MAED,IAAK,OAKL,IAAK,SAGJ,MAED,IAAK,aACL,IAAK,QACJhJ,KAAKkmB,sBAAsBzmB,EAAG8lB,GAAcvc,GAC5C,MAED,IAAK,YACJA,EAAM,gBAAkBoT,GAAO+J,iBAAiB1mB,GAChD,MAED,IAAK,SACJuJ,EAAM,kBAAoBoT,GAAOsJ,qBAAqBjmB,GACtD,MAED,IAAK,UACkB,OAAlBf,EAAKI,WACRkB,KAAKomB,aAAa3mB,EAAGuJ,GACtB,MAED,IAAK,WACApK,EAAIiC,SAASpB,EAAG,SACnBuJ,EAAM,iBAAmB,cAC1B,MAED,IAAK,sBACJA,EAAe,QAAIpK,EAAIiC,SAASpB,EAAG,OAAO,GAAQ,OAAS,OAC3D,MAED,IAAK,OACJuJ,EAAa,MAAIpK,EAAII,KAAKS,EAAG,OAC7B,MAED,IAAK,MACL,IAAK,OACAb,EAAIiC,SAASpB,EAAG,OAAO,KAC1BuJ,EAAiB,UAAI,OACtB,MAED,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,aACL,IAAK,oBACL,IAAK,sBACL,IAAK,sBACL,IAAK,YACL,IAAK,kBACL,IAAK,sBACL,IAAK,YACL,IAAK,WACL,IAAK,eACL,IAAK,OACL,IAAK,MACL,IAAK,UAEJ,MAED,QACKhJ,KAAK0B,QAAQiZ,OAChBkC,QAAQC,KAAK,mCAAmCpe,EAAKI,aAAaW,EAAEX,aAEtE,IAGKkK,CACP,CAED,cAAA6c,CAAetlB,EAAeyI,GAC7B,IAAIjM,EAAM6B,EAAII,KAAKuB,EAAM,OAEzB,GAAW,MAAPxD,EAAJ,CAGA,OAAQA,GACP,IAAK,OACL,IAAK,kBACL,IAAK,eACL,IAAK,cACL,IAAK,WACL,IAAK,gBACL,IAAK,UACL,IAAK,aACJiM,EAAM,mBAAqB,mBAC3B,MAED,IAAK,SACL,IAAK,cACJA,EAAM,mBAAqB,mBAC3B,MAED,IAAK,SACJA,EAAM,mBAAqB,mBAC3B,MAED,IAAK,SACL,IAAK,QAUL,IAAK,QACJA,EAAM,mBAAqB,YAC3B,MARD,IAAK,OACL,IAAK,aACL,IAAK,YACJA,EAAM,mBAAqB,iBAC3B,MAMD,IAAK,OACJA,EAAM,mBAAqB,OAI7B,IAAIqd,EAAM9K,GAAQC,UAAUjb,EAAM,SAE9B8lB,IACHrd,EAAM,yBAA2Bqd,EA9C1B,CA+CR,CAED,SAAArjB,CAAUzC,EAAeyI,GACxB,IAGI5F,EAAQ,CAHAxE,EAAII,KAAKuB,EAAM,SACV6b,GAAOkK,WAAW/lB,EAAM,cAC1B3B,EAAII,KAAKuB,EAAM,aACYgmB,QAAOpqB,GAAKA,IAAGuG,KAAIvG,GAAKnB,EAAkBmB,KAEhFiH,EAAMvH,OAAS,IAClBmN,EAAM,eAAiB,IAAI,IAAIwd,IAAIpjB,IAAQqjB,KAAK,MACjD,CAED,gBAAAX,CAAiBvlB,EAAeyI,GAC/B,IAAI0d,EAAY9nB,EAAIM,WAAWqB,EAAM,aACjComB,EAAU/nB,EAAIM,WAAWqB,EAAM,WAC/BiG,EAAO5H,EAAIM,WAAWqB,EAAM,QAC5BiI,EAAQ5J,EAAIM,WAAWqB,EAAM,SAC7BmG,EAAQ9H,EAAIM,WAAWqB,EAAM,SAC7BqmB,EAAMhoB,EAAIM,WAAWqB,EAAM,OAE3BmmB,IAAW1d,EAAM,eAAiB0d,GAClCC,IAAS3d,EAAM,eAAiB,IAAI2d,MACpCngB,GAAQgC,KAAOQ,EAAM,uBAAyBxC,GAAQgC,IACtD9B,GAASkgB,KAAK5d,EAAM,qBAAuBtC,GAASkgB,EACxD,CAED,YAAAR,CAAa7lB,EAAeyI,GAC3B,IAAIO,EAAS3K,EAAIM,WAAWqB,EAAM,UAC9BiJ,EAAQ5K,EAAIM,WAAWqB,EAAM,SAC7BkJ,EAAO7K,EAAI0B,QAAQC,EAAM,OAAQ,MACjCmJ,EAAW9K,EAAII,KAAKuB,EAAM,YAK9B,GAHIgJ,IAAQP,EAAM,cAAgBO,GAC9BC,IAAOR,EAAM,iBAAmBQ,GAEvB,OAATC,EACH,OAAQC,GACP,IAAK,OACJV,EAAM,eAAiB,IAAIS,EAAO,KAAKjL,QAAQ,KAC/C,MAED,IAAK,UACJwK,EAAM,eAAiB,eAAeS,EAAO,QAC7C,MAED,QACCT,EAAM,eAAiBA,EAAM,cAAmBS,EAAO,GAAV,KAIhD,CAED,qBAAAyc,CAAsB3lB,EAAesmB,GACpCtL,GAAQO,QAAQvb,GAAMd,IACrB,OAAQA,EAAEX,WACT,IAAK,OACJ+nB,EAAO,gBAAkBzK,GAAO4J,cAAcvmB,GAC9C,MAED,IAAK,QACJonB,EAAO,iBAAmBzK,GAAO4J,cAAcvmB,GAC/C,MAED,IAAK,MACJonB,EAAO,eAAiBzK,GAAO4J,cAAcvmB,GAC7C,MAED,IAAK,SACJonB,EAAO,kBAAoBzK,GAAO4J,cAAcvmB,GAEjD,GAEF,CAED,aAAAmmB,CAAcrlB,EAAesmB,GACpBjoB,EAAII,KAAKuB,EAAM,SAOrBsmB,EAAe,OAAIjoB,EAAIM,WAAWqB,EAAM,MAK1C,CAED,qBAAAwlB,CAAsBxlB,EAAesmB,GACpCtL,GAAQO,QAAQvb,GAAMd,IACrB,OAAQA,EAAEX,WACT,IAAK,QACL,IAAK,OACJ+nB,EAAO,eAAiBzK,GAAO6J,cAAcxmB,GAC7C,MAED,IAAK,MACL,IAAK,QACJonB,EAAO,gBAAkBzK,GAAO6J,cAAcxmB,GAC9C,MAED,IAAK,MACJonB,EAAO,cAAgBzK,GAAO6J,cAAcxmB,GAC5C,MAED,IAAK,SACJonB,EAAO,iBAAmBzK,GAAO6J,cAAcxmB,GAEhD,GAEF,EAGF,MAAMqnB,GAAc,CAAC,QAAS,OAAQ,OAAQ,WAAY,WAAY,WAAY,YAAa,cAAe,UAAW,aAAc,QAAS,YAAa,UAAW,OAAQ,MAAO,QAAS,UAEhM,MAAMvL,GACL,cAAOO,CAAQvb,EAAewmB,GAC7B,IAAK,IAAIznB,EAAI,EAAGA,EAAIiB,EAAKf,WAAW3D,OAAQyD,IAAK,CAChD,IAAIyc,EAAIxb,EAAKf,WAAWF,GAEpByc,EAAErc,UAAYsnB,KAAKC,cACtBF,EAAYhL,EACb,CACD,CAED,gBAAOP,CAAUjb,EAAeC,EAAkB0mB,EAAmB,KAAMC,EAAoB,SAC9F,IAAIrmB,EAAIlC,EAAII,KAAKuB,EAAMC,GAEvB,GAAIM,EACH,MAAS,QAALA,EACIqmB,EACGL,GAAYjF,SAAS/gB,GACxBA,EAGD,IAAIA,IAGZ,IAAIsmB,EAAaxoB,EAAII,KAAKuB,EAAM,cAEhC,OAAO6mB,EAAa,cAAcA,WAAsBF,CACxD,CAED,gBAAOxE,CAAUniB,EAAe2C,EAAwB5F,EAAYC,KACnE,OAAOY,EAAcoC,EAAKiF,YAAatC,EACvC,EAGF,MAAMkZ,GACL,iBAAOkK,CAAW7mB,EAAYT,GAC7B,IAAIjC,EAAM6B,EAAII,KAAKS,EAAGT,GACtB,OAAOjC,EAAM,cAAcA,UAAc,IACzC,CAED,kBAAO4oB,CAAYlmB,EAAYT,GAC9B,IAAIkE,EAAO5F,EAAYC,IAEvB,OAAQqB,EAAII,KAAKS,EAAG,SACnB,IAAK,MAAO,MACZ,IAAK,MAAOyD,EAAO5F,EAAYU,QAAS,MACxC,IAAK,OAAQ,MAAO,OAGrB,OAAOY,EAAIM,WAAWO,EAAGT,EAAMkE,EAC/B,CAED,oBAAO8iB,CAAcvmB,GACpB,OAAOb,EAAIM,WAAWO,EAAG,IACzB,CAED,oBAAOwmB,CAAcxmB,GACpB,IAAIyD,EAAOkZ,GAAOiL,gBAAgBzoB,EAAII,KAAKS,EAAG,QAE9C,GAAY,QAARyD,EACH,MAAO,OAER,IAAInE,EAAQwc,GAAQC,UAAU/b,EAAG,SAGjC,MAAO,GAFIb,EAAIM,WAAWO,EAAG,KAAMnC,EAAYM,WAE7BsF,KAAiB,QAATnE,EAAkByY,GAAoBzY,GAChE,CAED,sBAAOsoB,CAAgBnkB,GACtB,OAAQA,GACP,IAAK,SACL,IAAK,iBAYL,IAAK,QACL,IAAK,oBACL,IAAK,qBACL,IAAK,oBACL,IAAK,oBACL,IAAK,qBACL,IAAK,oBACL,IAAK,wBACL,IAAK,yBACL,IAAK,wBACL,IAAK,eACL,IAAK,gBAEL,IAAK,OAAQ,MAAO,QAxBpB,IAAK,SACL,IAAK,eAAgB,MAAO,SAC5B,IAAK,UACL,IAAK,aACL,IAAK,SAAU,MAAO,SACtB,IAAK,SACL,IAAK,aAiBL,IAAK,SAAU,MAAO,SAhBtB,IAAK,QAAS,MAAO,QACrB,IAAK,MACL,IAAK,OAAQ,MAAO,OACpB,IAAK,SAAU,MAAO,SAiBvB,MAAO,OACP,CAED,uBAAOijB,CAAiB1mB,GAEvB,MAAe,SADJb,EAAII,KAAKS,EAAG,OACE,QAAU,MACnC,CAED,0BAAOwf,CAAoBxf,GAC1B,MAAM1C,EAAM6B,EAAII,KAAKS,EAAG,OAOxB,MANgB,CACf,YAAa,WAAY,YAAa,WACtC,UAAW,WAAY,UAAW,WAClC,UAAW,UAAW,UAAW,WAGnB8mB,QAAO,CAACe,EAAGhoB,IAAgB,KAAVvC,EAAIuC,KAAWmnB,KAAK,IACpD,CAED,gBAAOhB,CAAUhmB,GAChB,IAAIyD,EAAOtE,EAAII,KAAKS,EAAG,OAEvB,OAAQyD,GACP,IAAK,QACL,IAAK,OAAQ,MAAO,OACpB,IAAK,SAAU,MAAO,SACtB,IAAK,MACL,IAAK,QAAS,MAAO,QACrB,IAAK,OAAQ,MAAO,UAGrB,OAAOA,CACP,CAED,uBAAOse,CAAiB/hB,EAAY8nB,GAAqB,GACxD,IAAIrkB,EAAOtE,EAAII,KAAKS,EAAG,OAEvB,OAAQyD,GACP,IAAK,YAAa,MAAO,MACzB,IAAK,cAAe,OAAOqkB,EAAY,MAAQ,QAGhD,OAAOA,EAAY,KAAOrkB,CAC1B,CAED,2BAAOwiB,CAAqBjmB,GAC3B,IAAIyD,EAAOtE,EAAII,KAAKS,EAAG,OAEvB,OAAQyD,GACP,IAAK,OACL,IAAK,WAAY,MAAO,WACxB,IAAK,MAAO,MAAO,MACnB,IAAK,SAAU,MAAO,SACtB,IAAK,SAAU,MAAO,SAGvB,OAAOA,CACP,CAED,cAAOghB,CAAQhoB,EAAWsrB,GACzB,OAAS,MAALtrB,EAAkBsrB,EACb,MAALA,EAAkBtrB,EAEf,QAAQA,OAAOsrB,IACtB,CAED,yBAAO9D,CAAmBjkB,GACzB,MAAM1C,EAAM6B,EAAI8B,QAAQjB,EAAG,MAAO,GAClC,IAAIuf,EAAY,GAShB,OAPIpgB,EAAIiC,SAASpB,EAAG,aAAsB,GAAN1C,KAAeiiB,GAAa,eAC5DpgB,EAAIiC,SAASpB,EAAG,YAAqB,GAAN1C,KAAeiiB,GAAa,cAC3DpgB,EAAIiC,SAASpB,EAAG,gBAAyB,IAAN1C,KAAeiiB,GAAa,eAC/DpgB,EAAIiC,SAASpB,EAAG,eAAwB,IAAN1C,KAAeiiB,GAAa,cAC9DpgB,EAAIiC,SAASpB,EAAG,YAAqB,IAAN1C,KAAeiiB,GAAa,cAC3DpgB,EAAIiC,SAASpB,EAAG,YAAqB,KAAN1C,KAAeiiB,GAAa,aAExDA,EAAUyI,MACjB,ECvrDF,MAAMC,GAAsB,CAAEnF,IAAK,EAAGxZ,OAAQ,OAAQC,MAAO,QAc7C,SAAA2e,GAAcjpB,EAAmBmK,EAAsB+e,EAAwBC,EAAuB,KAClH,MAAMpkB,EAAI/E,EAAKopB,QAAQ,KAEjBC,EAAMrpB,EAAKspB,wBACXC,EAAMxkB,EAAEukB,wBACRE,EAAMC,iBAAiB1kB,GAE1B2kB,EAAWvf,GAAMhN,OAAS,EAAIgN,EAAKnG,KAAI2lB,IAAM,CAClD9F,IAAK+F,GAAcD,EAAEvf,UACrBC,OAAQsf,EAAEtf,OACVC,MAAOqf,EAAErf,UACNuf,MAAK,CAACrsB,EAAGsrB,IAAMtrB,EAAEqmB,IAAMiF,EAAEjF,MAAO,CAACmF,IAE/Bc,EAAUJ,EAASA,EAASvsB,OAAS,GACrC4sB,EAAWR,EAAIhhB,MAAQ4gB,EACvB1hB,EAAOmiB,GAAcV,GACxB,IAAIrF,EAAMiG,EAAQjG,IAAMpc,EAExB,GAAIoc,EAAMkG,EACN,KAAOlG,EAAMkG,GAAYL,EAASvsB,OAhC1B,GAgC4C0mB,GAAOpc,EACvDiiB,EAASzoB,KAAK,IAAK+nB,GAAYnF,IAAKA,IAI5C,MAAMmG,EAAa9nB,WAAWsnB,EAAIQ,YAC5BC,EAAUV,EAAIzhB,KAAOkiB,EACrBliB,GAAQuhB,EAAIvhB,KAAOmiB,GAAWd,EAC9Be,EAAMR,EAAS3V,MAAK4V,GAAgB,SAAXA,EAAErf,OAAoBqf,EAAE9F,IAAM/b,IAE7D,GAAU,MAAPoiB,EACC,OAEJ,IAAI3hB,EAAgB,EAEpB,GAAiB,SAAb2hB,EAAI5f,OAAiC,UAAb4f,EAAI5f,MAAmB,CACrD,MAAMof,EAAW9rB,MAAM6D,KAAKsD,EAAEolB,iBAAiB,IAAInqB,EAAKsgB,cAClD8J,EAAUV,EAASW,QAAQrqB,GAAQ,EAC7BsqB,EAAQC,SAASC,cACvBF,EAAMG,SAASzqB,EAAM,GAEvBoqB,EAAUV,EAASvsB,OACtBmtB,EAAMI,aAAahB,EAASU,IAE5BE,EAAMK,YAAY5lB,GAGnB,MAAMjG,EAAmB,UAAborB,EAAI5f,MAAoB,GAAM,EAC9BsgB,EAASN,EAAMhB,wBACrB5hB,EAASkjB,EAAO9iB,KAAOhJ,EAAM8rB,EAAOriB,OAASghB,EAAIzhB,KAAOkiB,GAE9DzhB,EAAQ2hB,EAAIrG,IAAMnc,EAASyhB,CACxB,MACG5gB,EAAQ2hB,EAAIrG,IAAM/b,EAOtB,OAJA9H,EAAK6qB,UAAY,SACjB7qB,EAAKsK,MAAMwgB,eAAiB,UAC5B9qB,EAAKsK,MAAMygB,YAAc,GAAGxiB,EAAMzI,QAAQ,OAElCoqB,EAAI7f,QACR,IAAK,MACL,IAAK,YACDrK,EAAKsK,MAAMwgB,eAAiB,YAC5B9qB,EAAKsK,MAAM0gB,oBAAsB,SACjC,MAEJ,IAAK,SACL,IAAK,QACL,IAAK,aACDhrB,EAAKsK,MAAMwgB,eAAiB,YAGxC,CAEA,SAASlB,GAAczsB,GACtB,OAAO+E,WAAW/E,EACnB,CCzEA,MAAMmB,GACA,6BADAA,GAEG,2CAkBI2sB,GA6BZ,WAAAzoB,CAAmB0oB,GAAA5pB,KAAY4pB,aAAZA,EA3BnB5pB,KAASgf,UAAW,OAIpBhf,KAAQ6pB,SAA8B,GACtC7pB,KAAW8pB,YAAS,KAEpB9pB,KAAmB+pB,oBAA4B,GAC/C/pB,KAAoBgqB,qBAA0B,KAC9ChqB,KAAkBiqB,mBAAc,GAChCjqB,KAAmBkqB,oBAAY,KAE/BlqB,KAAWmqB,YAAgC,GAC3CnqB,KAAUoqB,WAAgC,GAE1CpqB,KAAiBqqB,kBAAa,GAC9BrqB,KAAoBsqB,qBAAU,GAG9BtqB,KAAWuqB,YAAU,GAGrBvqB,KAAUqR,WAA0B,GAEpCrR,KAAKwqB,MAAmB,GACxBxqB,KAAeyqB,gBAAU,EAGxB,CAED,YAAMC,CAAOzB,EAAwB0B,EAA4BC,EAA8B,KAAMlpB,GACpG1B,KAAKipB,SAAWA,EAChBjpB,KAAK0B,QAAUA,EACf1B,KAAKgf,UAAYtd,EAAQsd,UACzBhf,KAAK6qB,aAAenpB,EAAQopB,UAAY,IAAI9qB,KAAKgf,oBAAsB,QACvEhf,KAAK6pB,SAAW,KAChB7pB,KAAKwqB,MAAQ,GAETxqB,KAAK0B,QAAQqpB,gBAAkBC,WAAWC,YAC7CjrB,KAAKkrB,iBAAmB,IAAID,WAK7BE,GAFAP,EAAiBA,GAAkBD,GAGnCQ,GAAkBR,GAElBC,EAAeQ,YAAYprB,KAAKqrB,cAAc,qCAC9CT,EAAeQ,YAAYprB,KAAKsrB,sBAE5BrC,EAAS7V,YACZwX,EAAeQ,YAAYprB,KAAKqrB,cAAc,iCAC9CrrB,KAAKurB,YAAYtC,EAAS7V,UAAWwX,IAGX,MAAvB3B,EAAS/V,aACZlT,KAAK6pB,SAAW7pB,KAAKwrB,cAAcvC,EAAS/V,WAAWhH,QAEvD0e,EAAeQ,YAAYprB,KAAKqrB,cAAc,2BAC9CT,EAAeQ,YAAYprB,KAAKyrB,aAAaxC,EAAS/V,WAAWhH,UAG9D+c,EAASjW,gBACZhT,KAAK0rB,kBAAkBzC,EAASjW,cAAcjH,eAE9C6e,EAAeQ,YAAYprB,KAAKqrB,cAAc,qCAC9CT,EAAeQ,YAAYprB,KAAK2rB,gBAAgB1C,EAASjW,cAAcjH,cAAe6e,KAInF3B,EAAS3V,gBACZtT,KAAKmqB,YAAcruB,EAAMmtB,EAAS3V,cAActD,OAAO7T,GAAKA,EAAE8G,MAG3DgmB,EAASzV,eACZxT,KAAKoqB,WAAatuB,EAAMmtB,EAASzV,aAAaxD,OAAO7T,GAAKA,EAAE8G,MAGzDgmB,EAASrV,eACZ5T,KAAK4nB,eAAiBqB,EAASrV,aAAarD,UAAUC,iBAGlD9O,EAAQkqB,aAAe3C,EAASnW,eACpC9S,KAAK6rB,gBAAgB5C,EAASnW,cAAe8X,GAE9C,IAAIkB,EAAkB9rB,KAAK+rB,eAAe9C,EAASrW,aAAa5M,MAE5DhG,KAAK0B,QAAQopB,UAChBH,EAAcS,YAAYprB,KAAKgsB,cAAcF,IAE7CG,GAAetB,EAAemB,GAG3B9rB,KAAKkrB,kBAAoBxpB,EAAQqpB,gBACnCmB,IAAYC,WAAWC,IAAI,GAAGpsB,KAAKgf,qBAAsBhf,KAAKkrB,kBAGhElrB,KAAKyqB,gBAAgBpN,SAAQgL,GAAKA,YAE5B9jB,QAAQ8nB,WAAWrsB,KAAKwqB,OAE9BxqB,KAAKssB,iBACL,CAED,WAAAf,CAAYnY,EAAsBwX,GACjC,MAAM2B,EAAY,CAAA,EACZhd,EAAa6D,EAAUhE,OAAOG,WAEhCA,IACCA,EAAWV,YACd0d,EAAU,0BAA4Bhd,EAAWV,UAAUG,eAGxDO,EAAWR,YACdwd,EAAU,0BAA4Bhd,EAAWR,UAAUC,gBAI7D,MAAMM,EAAc8D,EAAUhE,OAAOE,YAErC,GAAIA,EACH,IAAK,IAAKkd,EAAG1rB,KAAM2K,OAAOghB,QAAQnd,EAAYb,QAC7C8d,EAAU,UAAUC,WAAa,IAAI1rB,IAIvC,MAAM4rB,EAAU1sB,KAAK2sB,cAAc,IAAI3sB,KAAKgf,YAAauN,GACzD3B,EAAeQ,YAAYprB,KAAK4sB,mBAAmBF,GACnD,CAED,eAAAb,CAAgBgB,EAA0BjC,GACzC,IAAK,IAAIlmB,KAAKmoB,EAAUzpB,MACvB,IAAK,IAAI0pB,KAAOpoB,EAAE9B,cACjB5C,KAAKwqB,MAAM7qB,KAAKK,KAAKipB,SAAS3U,SAASwY,EAAI7pB,GAAI6pB,EAAIjwB,KAAKkwB,MAAKC,IAC5D,MAAMC,EAAY,CACjB,cAAejyB,EAAkB0J,EAAE/B,MACnC8a,IAAO,OAAOuP,MAGC,QAAZF,EAAI5pB,MAA8B,cAAZ4pB,EAAI5pB,OAC7B+pB,EAAU,eAAiB,QAGZ,UAAZH,EAAI5pB,MAAgC,cAAZ4pB,EAAI5pB,OAC/B+pB,EAAU,cAAgB,UAG3B,MAAMP,EAAU1sB,KAAK2sB,cAAc,aAAcM,GACjDrC,EAAeQ,YAAYprB,KAAKqrB,cAAc,UAAU3mB,EAAE/B,cAC1DioB,EAAeQ,YAAYprB,KAAK4sB,mBAAmBF,GAAS,IAI/D,CAED,gBAAAQ,CAAiBlO,GAChB,OAAOA,EAAY,GAAGhf,KAAKgf,avC5MvB,SAA0BA,GAC/B,OAAOA,GAAWlb,QAAQ,SAAU,KAAKA,QAAQ,QAAS,OAAOqpB,aAClE,CuC0M0CC,CAAgBpO,KAAehf,KAAKgf,SAC5E,CAED,aAAAwM,CAActf,GACb,MAAMmhB,EAAYvxB,EAAMoQ,EAAOqa,QAAOpqB,GAAa,MAARA,EAAE8G,MAAa9G,GAAKA,EAAE8G,KAEjE,IAAK,MAAM+F,KAASkD,EAAOqa,QAAOpqB,GAAKA,EAAE+f,UAAU,CAClD,IAAIoR,EAAYD,EAAUrkB,EAAMkT,SAEhC,GAAIoR,EAAW,CACdtkB,EAAMiC,eAAiBzO,EAAUwM,EAAMiC,eAAgBqiB,EAAUriB,gBACjEjC,EAAMkB,SAAW1N,EAAUwM,EAAMkB,SAAUojB,EAAUpjB,UAErD,IAAK,MAAMqjB,KAAcD,EAAUphB,OAAQ,CAC1C,MAAMshB,EAAcxkB,EAAMkD,OAAOuG,MAAKtW,GAAKA,EAAEM,QAAU8wB,EAAW9wB,SAE9D+wB,EACHxtB,KAAKytB,oBAAoBF,EAAWnR,OAAQoR,EAAYpR,QAExDpT,EAAMkD,OAAOvM,KAAK,IAAK4tB,EAAYnR,OAAQ,IAAKmR,EAAWnR,SAE5D,CACD,MACQpc,KAAK0B,QAAQiZ,OACrBkC,QAAQC,KAAK,yBAAyB9T,EAAMkT,UAC7C,CAED,IAAK,IAAIlT,KAASkD,EACjBlD,EAAM0kB,QAAU1tB,KAAKktB,iBAAiBlkB,EAAM/F,IAG7C,OAAOoqB,CACP,CAED,iBAAA3B,CAAkB/f,GACjB,IAAK,IAAItN,KAAOsN,EAAW4a,QAAOxK,GAAKA,EAAE2B,aAAa,CACrD,MAAM1U,EAAQhJ,KAAK2tB,UAAUtvB,EAAIqf,YAE7B1U,GAAOiC,gBAAgB9B,YAC1BH,EAAMiC,eAAe9B,UAAUC,MAAQ/K,EAAI+K,MAE5C,CACD,CAED,cAAAwkB,CAAehuB,GACd,GAAIA,EAAQyM,SACX,IAAK,IAAIxH,KAAKjF,EAAQyM,SACrBxH,EAAEsa,OAASvf,EAEPiF,EAAE3B,MAAQ2D,EAAQuc,MACrBpjB,KAAK6tB,aAAahpB,GAGlB7E,KAAK4tB,eAAe/oB,EAIvB,CAED,YAAAgpB,CAAarK,GACZ,IAAK,IAAIhR,KAAKgR,EAAMnX,SACnB,IAAK,IAAI5M,KAAK+S,EAAEnG,SACf5M,EAAE6M,SAAWtM,KAAKytB,oBAAoBjK,EAAMC,UAAWhkB,EAAE6M,SAAU,CAClE,cAAe,eAAgB,aAAc,gBAC7C,eAAgB,gBAAiB,cAAe,mBAGjDtM,KAAK4tB,eAAenuB,EAGtB,CAED,mBAAAguB,CAAoBxpB,EAA+B4iB,EAAgC3mB,EAAkB,MACpG,IAAK+D,EACJ,OAAO4iB,EAKR,IAAK,IAAIhqB,KAHK,MAAVgqB,IAAgBA,EAAS,CAAA,GAChB,MAAT3mB,IAAeA,EAAQuL,OAAOqiB,oBAAoB7pB,IAEtC/D,GACX+D,EAAM8pB,eAAelxB,KAASgqB,EAAOkH,eAAelxB,KACvDgqB,EAAOhqB,GAAOoH,EAAMpH,IAGtB,OAAOgqB,CACP,CAED,iBAAAmH,CAAkBhP,EAAmBrgB,GACpC,IAAID,EAAOsB,KAAKiuB,cAAc,UAAW,CAAEjP,cAkB3C,OAhBIrgB,IACCA,EAAMyI,cACT1I,EAAKsK,MAAMklB,YAAcvvB,EAAMyI,YAAYZ,KAC3C9H,EAAKsK,MAAMmlB,aAAexvB,EAAMyI,YAAYV,MAC5ChI,EAAKsK,MAAMolB,WAAazvB,EAAMyI,YAAYX,IAC1C/H,EAAKsK,MAAMqlB,cAAgB1vB,EAAMyI,YAAYT,QAG1ChI,EAAMqI,WACJhH,KAAK0B,QAAQgZ,cACjBhc,EAAKsK,MAAM/B,MAAQtI,EAAMqI,SAASC,OAC9BjH,KAAK0B,QAAQ4sB,eACjB5vB,EAAKsK,MAAMulB,UAAY5vB,EAAMqI,SAASE,UAIlCxI,CACP,CAED,oBAAA8vB,CAAqB7vB,GACpB,IAAID,EAAOsB,KAAKiuB,cAAc,WAW9B,OATItvB,EAAM6I,SAAW7I,EAAM6I,QAAQS,kBAClCvJ,EAAKsK,MAAMylB,YAAc,GAAG9vB,EAAM6I,QAAQS,kBAC1CvJ,EAAKsK,MAAM0lB,UAAY/vB,EAAM6I,QAAQU,MAEjCvJ,EAAM6I,QAAQW,YACjBzJ,EAAKsK,MAAM2lB,WAAa,oBAInBjwB,CACP,CAED,cAAAqtB,CAAe9C,GACd,MAAM5pB,EAAS,GAEfW,KAAK4tB,eAAe3E,GACpB,MAAM2F,EAAW5uB,KAAK6uB,eAAe5F,EAAS5c,SAAU4c,EAAStqB,OAC3DyO,EAAQpN,KAAK8uB,kBAAkBF,GACrC,IAAIG,EAAY,KAEhB,IAAK,IAAIzvB,EAAI,EAAGC,EAAI6N,EAAMvR,OAAQyD,EAAIC,EAAGD,IAAK,CAC7CU,KAAKgvB,mBAAqB,GAG1B,IAAIrwB,EADYyO,EAAM9N,GAAG,GACL2vB,UACpB,MAAMC,EAAclvB,KAAKguB,kBAAkBhuB,KAAKgf,UAAWrgB,GAC3DqB,KAAKmvB,kBAAkBlG,EAAS3c,SAAU4iB,GAE1ClvB,KAAK0B,QAAQ0tB,eAAiBpvB,KAAKqvB,mBAAmB1wB,EAAM+I,WAAY/I,EACvEU,EAAOxD,OAAQkzB,GAAapwB,EAAOuwB,GAEpC,IAAK,MAAMI,KAAQliB,EAAM9N,GAAI,CAC5B,IAAIiwB,EAAiBvvB,KAAKwuB,qBAAqBc,EAAKL,WACpDjvB,KAAKwvB,eAAeF,EAAKlwB,SAAUmwB,GACnCL,EAAY9D,YAAYmE,GACxB5wB,EAAQ2wB,EAAKL,SACb,CAEGjvB,KAAK0B,QAAQ+tB,iBAChBzvB,KAAK0vB,YAAY1vB,KAAKgvB,mBAAoBhvB,KAAKmqB,YAAa+E,GAGzDlvB,KAAK0B,QAAQiuB,gBAAkBrwB,GAAKC,EAAI,GAC3CS,KAAK0vB,YAAY1vB,KAAKqqB,kBAAmBrqB,KAAKoqB,WAAY8E,GAG3DlvB,KAAK0B,QAAQkuB,eAAiB5vB,KAAKqvB,mBAAmB1wB,EAAMiJ,WAAYjJ,EACvEU,EAAOxD,OAAQkzB,GAAapwB,EAAOuwB,GAEpC7vB,EAAOM,KAAKuvB,GACZH,EAAYpwB,CACZ,CAED,OAAOU,CACP,CAED,kBAAAgwB,CAAmBQ,EAA+BlxB,EAA0BmxB,EAAcC,EAAyBC,GAClH,GAAKH,EAAL,CAEA,IAAI/C,GAAOnuB,EAAMkJ,WAAakoB,EAAiBF,EAAKpd,MAAKtW,GAAe,SAAVA,EAAE+G,OAAmB,QAC9E4sB,EAAO,GAAK,EAAID,EAAKpd,MAAKtW,GAAe,QAAVA,EAAE+G,OAAkB,OACpD2sB,EAAKpd,MAAKtW,GAAe,WAAVA,EAAE+G,OAEjByP,EAAOma,GAAO9sB,KAAKipB,SAAS9T,gBAAgB2X,EAAI7pB,GAAIjD,KAAKipB,SAASrW,cAEtE,GAAID,EAAM,CACT3S,KAAK8pB,YAAcnX,EACd3S,KAAKsqB,qBAAqBzI,SAASlP,EAAKvX,QAC5C4E,KAAK4tB,eAAejb,EAAK/F,aACzB5M,KAAKsqB,qBAAqB3qB,KAAKgT,EAAKvX,OAErC,MAAO2E,GAAMC,KAAKwvB,eAAe,CAAC7c,EAAK/F,aAAcojB,GAEjDrxB,GAAOyI,cACNuL,EAAK/F,YAAY1J,OAAS2D,EAAQ2F,QACrCzM,EAAGiJ,MAAMinB,UAAY,QAAQtxB,EAAMyI,YAAYC,YAAY1I,EAAMyI,YAAYX,OAC7E1G,EAAGiJ,MAAMulB,UAAY,QAAQ5vB,EAAMyI,YAAYX,SAAS9H,EAAMyI,YAAYC,WAElEsL,EAAK/F,YAAY1J,OAAS2D,EAAQ6F,SAC1C3M,EAAGiJ,MAAMknB,aAAe,QAAQvxB,EAAMyI,YAAYE,YAAY3I,EAAMyI,YAAYT,UAChF5G,EAAGiJ,MAAMulB,UAAY,QAAQ5vB,EAAMyI,YAAYT,YAAYhI,EAAMyI,YAAYE,YAI/EtH,KAAK8pB,YAAc,IACnB,CA5BiB,CA6BlB,CAED,kBAAAqG,CAAmBzxB,GAClB,OAAIA,EAAKwE,MAAQ2D,EAAQwZ,QAGO,yBAA3B3hB,EAAkB4hB,OACdtgB,KAAK0B,QAAQ0uB,4BAEa,QAA3B1xB,EAAkB4hB,MAC1B,CAED,kBAAA+P,CAAmBC,EAAyB7T,GAC3C,QAAK6T,MACA7T,IAEE6T,EAAKtpB,UAAUG,aAAesV,EAAKzV,UAAUG,aAChDmpB,EAAKtpB,UAAUC,OAASwV,EAAKzV,UAAUC,OACvCqpB,EAAKtpB,UAAUE,QAAUuV,EAAKzV,UAAUE,QAC5C,CAED,cAAA2nB,CAAezvB,EAA4BmxB,GAC1C,IAAIC,EAAmB,CAAEvB,UAAW,KAAM7vB,SAAU,GAAIqxB,WAAW,GAC/DpxB,EAAS,CAACmxB,GAEd,IAAK,IAAI9xB,KAAQU,EAAU,CAC1B,GAAIV,EAAKwE,MAAQ2D,EAAQ0X,UAAW,CACnC,MAAM5B,EAAI3c,KAAK2tB,UAAWjvB,EAAsBuL,WAE5C0S,GAAG1R,gBAAgBlB,kBACtBymB,EAAQvB,UAAYA,EACpBuB,EAAQC,WAAY,EACpBD,EAAU,CAAEvB,UAAW,KAAM7vB,SAAU,GAAIqxB,WAAW,GACtDpxB,EAAOM,KAAK6wB,GAEb,CAID,GAFAA,EAAQpxB,SAASO,KAAKjB,GAElBA,EAAKwE,MAAQ2D,EAAQ0X,UAAW,CACnC,MAAM9a,EAAI/E,EAEV,IAAIuwB,EAAYxrB,EAAEyF,aACdwnB,GAAe,EACfC,GAAe,EAgBnB,GAdI3wB,KAAK0B,QAAQkvB,YAAcntB,EAAE4I,WAChCqkB,EAAcjtB,EAAE4I,SAASwkB,WAAUre,IAEX,IADvBme,EAAcne,EAAEnG,UAAUwkB,UAAU7wB,KAAKmwB,mBAAmBW,KAAK9wB,SAAW,OAK1EivB,IAA6B,GAAhByB,KAChBF,EAAQvB,UAAYA,EACpBuB,EAAQC,WAA4B,GAAhBC,EACpBF,EAAU,CAAEvB,UAAW,KAAM7vB,SAAU,GAAIqxB,WAAW,GACtDpxB,EAAOM,KAAK6wB,KAGO,GAAhBE,EAAmB,CACtB,IAAIK,EAAWttB,EAAE4I,SAASqkB,GACtBM,EAAWL,EAAcI,EAAS1kB,SAASxQ,OAAS,EAExD,GAAI60B,EAAcjtB,EAAE4I,SAASxQ,OAAS,GAAKm1B,EAAU,CACpD,IAAI3kB,EAAW3N,EAAK2N,SAChB4kB,EAAe,IAAKvyB,EAAM2N,SAAUA,EAAS6kB,MAAMR,IAIvD,GAHAhyB,EAAK2N,SAAWA,EAAS6kB,MAAM,EAAGR,GAClCF,EAAQpxB,SAASO,KAAKsxB,GAElBD,EAAU,CACb,IAAIG,EAAcJ,EAAS1kB,SACvB+kB,EAAS,IAAKL,EAAU1kB,SAAU8kB,EAAYD,MAAM,EAAGP,IAC3DjyB,EAAK2N,SAAS1M,KAAKyxB,GACnBL,EAAS1kB,SAAW8kB,EAAYD,MAAMP,EACtC,CACD,CACD,CACD,CACD,CAED,IAAIU,EAAmB,KAEvB,IAAK,IAAI/xB,EAAID,EAAOxD,OAAS,EAAGyD,GAAK,EAAGA,IACZ,MAAvBD,EAAOC,GAAG2vB,UACb5vB,EAAOC,GAAG2vB,UAAYoC,GAAoBd,EAE1Cc,EAAmBhyB,EAAOC,GAAG2vB,UAI/B,OAAO5vB,CACP,CAED,iBAAAyvB,CAAkBF,GACjB,IACI0B,EADAE,EAAU,GAEd,MAAMnxB,EAAsB,CAACmxB,GAE7B,IAAK,IAAI7T,KAAKiS,EACb4B,EAAQ7wB,KAAKgd,IAET3c,KAAK0B,QAAQ0uB,6BAA+BzT,EAAE8T,WAAazwB,KAAKqwB,mBAAmBC,EAAM3T,EAAEsS,aAC9F5vB,EAAOM,KAAK6wB,EAAU,IAEvBF,EAAO3T,EAAEsS,UAGV,OAAO5vB,EAAOknB,QAAOpqB,GAAKA,EAAEN,OAAS,GACrC,CAED,aAAAmwB,CAAc3f,GACb,OAAOrM,KAAKiuB,cAAc,MAAO,CAAEjP,UAAW,GAAGhf,KAAKgf,qBAAuB3S,EAC7E,CAED,kBAAAif,GACC,IAAI7rB,EAAIO,KAAKgf,UACTsS,EAAe,MAClB7xB,iIACAA,qBAAqBA,yFAClBO,KAAK0B,QAAQ6vB,qBAChBD,EAAe,sBAAsBA,OAEtC,IAAIE,EAAY,GAAGF,OAClB7xB,mFACOA,yHACAA,2DACAA,8BACPA,4CACAA,gBAAgBA,yCAChBA,2CACAA,kEACAA,uDACAA,iCAYD,OATIO,KAAK0B,QAAQqpB,iBAChByG,GAAa,MACb/xB,wCACAA,2KACAA,wBAAwBA,2CACxBA,qBAAqBA,0DAIfO,KAAK4sB,mBAAmB4E,EAC/B,CAmED,eAAA7F,CAAgBhgB,EAA6Bif,GAC5C,IAAI4G,EAAY,GACZC,EAAgB,GAEpB,IAAK,IAAIpzB,KAAOsN,EAAY,CAC3B,IAAIoR,EAAW,KAAK/c,KAAK0xB,eAAerzB,EAAI4E,GAAI5E,EAAI+K,SAChDuoB,EAAgB,OAEpB,GAAItzB,EAAIyf,OAAQ,CACf,IAAI8T,EAAW,KAAK5xB,KAAKgf,aAAa3gB,EAAIyf,OAAOL,MAAM0P,cAEvDqE,GAAaxxB,KAAK2sB,cAAc,GAAG5P,WAAmB,CACrDhZ,QAAW,MACX8tB,QAAW,eACX1W,WAAc,OAAOyW,MACnBvzB,EAAIyf,OAAO9U,OAEdhJ,KAAKwqB,MAAM7qB,KAAKK,KAAKipB,SAAS5U,mBAAmBhW,EAAIyf,OAAOL,KAAKsP,MAAK9nB,IACrE,IAAI4F,EAAO,GAAG7K,KAAK6qB,kBAAkB+G,UAAiB3sB,OACtD2lB,EAAeQ,YAAYprB,KAAK4sB,mBAAmB/hB,GAAM,IAE1D,MACI,GAAIxM,EAAI0f,UAAW,CACvB,IAAI+T,EAAU9xB,KAAK+xB,iBAAiB1zB,EAAI4E,GAAI5E,EAAI+K,OAChD,MAAM4oB,EAAeF,EAAU,KAAOzzB,EAAImK,MAAQ,GAC9CnK,EAAI+K,MAAQ,IACfooB,GAAaxxB,KAAK2sB,cAAc,KAAK3sB,KAAK0xB,eAAerzB,EAAI4E,GAAI5E,EAAI+K,MAAQ,KAAM,CAClF,cAAe4oB,KAIjBP,EAAc9xB,KAAKqyB,GAEnBR,GAAaxxB,KAAK2sB,cAAc,GAAG5P,WAAmB,CACrDhZ,QAAW/D,KAAKiyB,mBAAmB5zB,EAAI0f,UAAW1f,EAAIwf,KAAMxf,EAAI4E,GAAIjD,KAAKkyB,oBAAoB7zB,EAAIkK,SACjG,oBAAqBupB,KAClBzzB,EAAIuf,QAER,MAEA+T,EAAgB3xB,KAAKkyB,oBAAoB7zB,EAAIkK,QAG9CipB,GAAaxxB,KAAK2sB,cAAc5P,EAAU,CACzC8U,QAAW,YACX,sBAAuB,SACvB,kBAAmBF,KAChBtzB,EAAIsf,QAER,CAQD,OANI8T,EAAc51B,OAAS,IAC1B21B,GAAaxxB,KAAK2sB,cAAc3sB,KAAK6qB,aAAc,CAClD,gBAAiB4G,EAAchL,KAAK,QAI/BzmB,KAAK4sB,mBAAmB4E,EAC/B,CAED,YAAA/F,CAAavf,GACZ,IAAIslB,EAAY,GAChB,MAAMnE,EAAYrtB,KAAK6pB,SACjBsI,EAAer2B,EAAMoQ,EAAOqa,QAAO5J,GAAKA,EAAEJ,aAAYI,GAAKA,EAAElgB,SAEnE,IAAK,MAAMuM,KAASkD,EAAQ,CAC3B,IAAIkmB,EAAYppB,EAAMkD,OAEtB,GAAIlD,EAAMwT,OAAQ,CACjB,IAAI6V,EAAcrpB,EAAMwT,QAAU6Q,EAAUrkB,EAAMwT,QAE9C6V,EACHD,EAAYA,EAAUE,OAAOD,EAAYnmB,QACjClM,KAAK0B,QAAQiZ,OACrBkC,QAAQC,KAAK,2BAA2B9T,EAAMwT,SAC/C,CAED,IAAK,MAAM+V,KAAYH,EAAW,CAEjC,IAAIrV,EAAW,GAAG/T,EAAMvM,QAAU,MAAMuM,EAAM0kB,UAE1C1kB,EAAMvM,QAAU81B,EAAS91B,SAC5BsgB,GAAY,IAAIwV,EAAS91B,UAEtB01B,EAAanpB,EAAMvM,SAAWuM,IACjC+T,EAAW,IAAI/c,KAAKgf,aAAahW,EAAMvM,WAAasgB,GAErDyU,GAAaxxB,KAAK2sB,cAAc5P,EAAUwV,EAASnW,OACnD,CACD,CAED,OAAOpc,KAAK4sB,mBAAmB4E,EAC/B,CAED,WAAA9B,CAAY8C,EAAmBC,EAAuCzC,GACrE,IAAIhgB,EAAQwiB,EAAQ9vB,KAAIO,GAAMwvB,EAASxvB,KAAKsjB,QAAOpqB,GAAKA,IAExD,GAAI6T,EAAMnU,OAAS,EAAG,CACrB,IAAIwD,EAASW,KAAKiuB,cAAc,KAAM,KAAMjuB,KAAKwvB,eAAexf,IAChEggB,EAAK5E,YAAY/rB,EACjB,CACD,CAED,aAAAqzB,CAAch0B,GACb,OAAQA,EAAKwE,MACZ,KAAK2D,EAAQ0X,UACZ,OAAOve,KAAK2yB,gBAAgBj0B,GAE7B,KAAKmI,EAAQ8X,cACZ,OAAO3e,KAAK4yB,oBAAoBl0B,GAEjC,KAAKmI,EAAQ8O,YACZ,OAAO,KAER,KAAK9O,EAAQ2Y,IACZ,OAAOxf,KAAK6yB,UAAUn0B,GAEvB,KAAKmI,EAAQuc,MACZ,OAAOpjB,KAAK8yB,YAAYp0B,GAEzB,KAAKmI,EAAQsd,IACZ,OAAOnkB,KAAK+yB,eAAer0B,GAE5B,KAAKmI,EAAQ6d,KACZ,OAAO1kB,KAAKgzB,gBAAgBt0B,GAE7B,KAAKmI,EAAQuY,UACZ,OAAOpf,KAAKizB,gBAAgBv0B,GAE7B,KAAKmI,EAAQyY,SACZ,OAAOtf,KAAKkzB,eAAex0B,GAE5B,KAAKmI,EAAQkb,QACZ,OAAO/hB,KAAKmzB,cAAcz0B,GAE3B,KAAKmI,EAAQkc,MACZ,OAAO/iB,KAAKozB,YAAY10B,GAEzB,KAAKmI,EAAQ6Y,KAGb,KAAK7Y,EAAQ6Y,KACZ,OAAO1f,KAAKqzB,WAAW30B,GAExB,KAAKmI,EAAQ8Y,YACZ,OAAO3f,KAAKszB,kBAAkB50B,GAE/B,KAAKmI,EAAQ6Z,IACZ,OAAO1gB,KAAKuzB,UAAU70B,GAEvB,KAAKmI,EAAQ0Z,OACZ,OAAOvgB,KAAKwzB,aAAa90B,GAE1B,KAAKmI,EAAQwZ,MACZ,OAAOrgB,KAAKyzB,YAAY/0B,GAEzB,KAAKmI,EAAQ6F,OACZ,OAAO1M,KAAK0zB,gBAAgBh1B,EAAM,UAEnC,KAAKmI,EAAQ2F,OACZ,OAAOxM,KAAK0zB,gBAAgBh1B,EAAM,UAEnC,KAAKmI,EAAQ8I,SACb,KAAK9I,EAAQgJ,QACZ,OAAO7P,KAAK0zB,gBAAgBh1B,EAAM,MAEnC,KAAKmI,EAAQ8Z,kBACZ,OAAO3gB,KAAK2zB,wBAAwBj1B,GAErC,KAAKmI,EAAQ+Z,iBACZ,OAAO5gB,KAAK4zB,uBAAuBl1B,GAEpC,KAAKmI,EAAQuZ,cACZ,OAAOpgB,KAAKiuB,cAAc,OAE3B,KAAKpnB,EAAQ4a,WACZ,OAAOzhB,KAAK6zB,iBAAiBn1B,GAE9B,KAAKmI,EAAQ+O,WACZ,OAAO5V,KAAK8zB,iBAAiBp1B,GAE9B,KAAKmI,EAAQ+Q,QACZ,OAAO5X,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,OAAQ,CAAEg3B,MAAOh3B,KAEjE,KAAK6J,EAAQiR,iBACZ,OAAO9X,KAAK0zB,gBAAgBh1B,EAAM,QAEnC,KAAKmI,EAAQkR,YACZ,OAAO/X,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,SAEhD,KAAK6J,EAAQ8R,QACZ,OAAO3Y,KAAK+zB,kBAAkBr1B,EAAM1B,GACnC0B,EAAKygB,OAAOjc,MAAQ2D,EAAQqT,aAAe,MAAQ,QAErD,KAAKrT,EAAQuR,aACb,KAAKvR,EAAQyR,eACb,KAAKzR,EAAQoR,YACb,KAAKpR,EAAQ+S,SACb,KAAK/S,EAAQuT,OACZ,OAAOpa,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,QAEhD,KAAK6J,EAAQ2T,aACZ,OAAOxa,KAAKi0B,mBAAmBv1B,GAEhC,KAAKmI,EAAQiT,cACZ,OAAO9Z,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,UAEhD,KAAK6J,EAAQmT,UACZ,OAAOha,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,UAEhD,KAAK6J,EAAQqT,aACZ,OAAOla,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,OAEhD,KAAK6J,EAAQ2R,WACZ,OAAOxY,KAAKk0B,iBAAiBx1B,GAE9B,KAAKmI,EAAQgS,eACZ,OAAO7Y,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,QAEhD,KAAK6J,EAAQkS,aACZ,OAAO/Y,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,QAEhD,KAAK6J,EAAQ6R,UACb,KAAK7R,EAAQsS,iBACb,KAAKtS,EAAQwS,eACZ,OAAOrZ,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,MAEhD,KAAK6J,EAAQsR,gBACZ,OAAOnY,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,MAEhD,KAAK6J,EAAQyS,aACZ,OAAOtZ,KAAKm0B,mBAAmBz1B,GAEhC,KAAKmI,EAAQoa,OACZ,OAAOjhB,KAAKo0B,aAAa11B,GAE1B,KAAKmI,EAAQ2S,QACZ,OAAOxZ,KAAKq0B,cAAc31B,GAE3B,KAAKmI,EAAQoS,eACZ,OAAOjZ,KAAKs0B,qBAAqB51B,GAElC,KAAKmI,EAAQyT,OACZ,OAAOta,KAAKu0B,aAAa71B,GAE1B,KAAKmI,EAAQ6S,iBACZ,OAAO1Z,KAAKw0B,cAAc91B,GAE3B,KAAKmI,EAAQsX,SACZ,OAAOne,KAAKy0B,eAAe/1B,GAE5B,KAAKmI,EAAQwX,QACZ,OAAOre,KAAK00B,cAAch2B,GAE3B,KAAKmI,EAAQwQ,kBACZ,OAAOrX,KAAK20B,wBAAwBj2B,GAErC,KAAKmI,EAAQ0Q,gBACZ,OAAOvX,KAAK40B,sBAAsBl2B,GAEnC,KAAKmI,EAAQsQ,iBACZ,OAAOnX,KAAK60B,uBAAuBn2B,GAEpC,KAAKmI,EAAQyX,SACZ,OAAOte,KAAK80B,eAAep2B,GAG7B,OAAO,IACP,CACD,cAAA8wB,CAAeuF,EAAyB/E,GACvC,GAAa,MAAT+E,EACH,OAAO,KAER,IAAI11B,EAAS01B,EAAMC,SAAQnwB,GAAK7E,KAAK0yB,cAAc7tB,KAAI0hB,QAAO1hB,GAAU,MAALA,IAKnE,OAHImrB,GACH/D,GAAe+D,EAAM3wB,GAEfA,CACP,CAED,eAAAq0B,CAAuDh1B,EAAsBoX,EAAYnX,GACxF,OAAOqB,KAAKiuB,cAAiBnY,EAASnX,EAAOqB,KAAKwvB,eAAe9wB,EAAK2N,UACtE,CAED,iBAAA0nB,CAAkBr1B,EAAsB1B,EAAY8Y,EAAiBnX,GACpE,OAAOqB,KAAKi1B,gBAAgBj4B,EAAI8Y,EAASnX,EAAOqB,KAAKwvB,eAAe9wB,EAAK2N,UACzE,CAED,eAAAsmB,CAAgBj0B,GACf,IAAIW,EAASW,KAAK0zB,gBAAgBh1B,EAAM,KAExC,MAAMsK,EAAQhJ,KAAK2tB,UAAUjvB,EAAKuL,WAClCvL,EAAKmK,OAALnK,EAAKmK,KAASG,GAAOiC,gBAAgBpC,MAErC7I,KAAKk1B,YAAYx2B,EAAMW,GACvBW,KAAKmvB,kBAAkBzwB,EAAK4N,SAAUjN,GACtCW,KAAKm1B,uBAAuB91B,EAAO2J,MAAOtK,GAE1C,MAAMyK,EAAYzK,EAAKyK,WAAaH,GAAOiC,gBAAgB9B,UAM3D,OAJIA,GACH9J,EAAO+1B,UAAUC,IAAIr1B,KAAK0xB,eAAevoB,EAAUlG,GAAIkG,EAAUC,QAG3D/J,CACP,CAED,mBAAAi2B,CAAoBtsB,EAAYrK,GAC/BqB,KAAKm1B,uBAAuBnsB,EAAOrK,EACnC,CAED,sBAAAw2B,CAAuBnsB,EAAYrK,GACrB,MAATA,IAGAA,EAAMI,QACTiK,EAAa,MAAIrK,EAAMI,OAGpBJ,EAAMM,WACT+J,EAAM,aAAerK,EAAMM,UAE5B,CAED,eAAAg0B,CAAgBv0B,GACf,IAAIW,EAASW,KAAK0zB,gBAAgBh1B,EAAM,KAExCsB,KAAKmvB,kBAAkBzwB,EAAK4N,SAAUjN,GAEtC,IAAIk2B,EAAO,GAEX,GAAI72B,EAAKuE,GAAI,CACZ,MAAMsP,EAAMvS,KAAKipB,SAASrW,aAAavR,KAAKoR,MAAK+iB,GAAMA,EAAGvyB,IAAMvE,EAAKuE,IAAwB,aAAlBuyB,EAAG1wB,aAC9EywB,EAAOhjB,GAAK9V,QAAU84B,CACtB,CAQD,OANI72B,EAAK2gB,SACRkW,GAAQ,IAAI72B,EAAK2gB,UAGlBhgB,EAAOk2B,KAAOA,EAEPl2B,CACP,CAED,cAAA6zB,CAAex0B,GACd,OAAOsB,KAAK0zB,gBAAgBh1B,EAAM,OAClC,CAED,uBAAAi2B,CAAwBc,GACvB,IAAKz1B,KAAK0B,QAAQqpB,eACjB,OAAO,KAER,MAAM2K,EAAM,IAAIC,MAChB31B,KAAKkrB,kBAAkBmK,IAAIK,GAE3B,MAAMr2B,EAASW,KAAK4pB,aAAayB,cAAc,qBAAqBoK,EAAaxyB,MAIjF,OAHAjD,KAAK41B,OAAM,IAAMF,EAAIvM,SAAS9pB,EAAQ,KACtCW,KAAKqR,WAAWokB,EAAaxyB,IAAMyyB,EAE5Br2B,CACP,CAED,qBAAAu1B,CAAsBiB,GACrB,IAAK71B,KAAK0B,QAAQqpB,eACjB,OAAO,KAER,MAAM2K,EAAM11B,KAAKqR,WAAWwkB,EAAW5yB,IACjC5D,EAASW,KAAK4pB,aAAayB,cAAc,mBAAmBwK,EAAW5yB,MAG7E,OAFAjD,KAAK41B,OAAM,IAAMF,GAAKI,OAAOz2B,EAAQ,KAE9BA,CACP,CAED,sBAAAw1B,CAAuBkB,GACtB,IAAK/1B,KAAK0B,QAAQqpB,eACjB,OAAO,KAER,IAAIiL,EAAUh2B,KAAKipB,SAASnV,cAAczC,WAAW0kB,EAAW9yB,IAEhE,IAAK+yB,EACJ,OAAO,KAER,MAAMC,EAAM,IAAIC,iBACVC,EAAen2B,KAAKiuB,cAAc,OAAQ,CAAEjP,UAAW,GAAGhf,KAAKgf,yBAA2B,CAAC,OAC3FoX,EAAsBp2B,KAAKiuB,cAAc,MAAO,CAAEjP,UAAW,GAAGhf,KAAKgf,8BAQ3E,OANAhf,KAAKq2B,qBAAqBL,EAASI,GAEnCH,EAAI7K,YAAYprB,KAAK4pB,aAAayB,cAAc,YAAY2K,EAAQ/yB,SAAS+yB,EAAQjb,aAAaib,EAAQ/a,SAC1Ggb,EAAI7K,YAAY+K,GAChBF,EAAI7K,YAAYgL,GAETH,CACP,CAED,cAAAnB,CAAep2B,GACd,IAAKsB,KAAK0B,QAAQ40B,gBACjB,OAAO,KAER,IAAIj3B,EAASW,KAAKiuB,cAAc,UAMhC,OAJAjuB,KAAKwqB,MAAM7qB,KAAKK,KAAKipB,SAASxU,aAAa/V,EAAKuE,GAAIjD,KAAK8pB,aAAaiD,MAAK5wB,IAC1EkD,EAAOk3B,OAASp6B,CAAC,KAGXkD,CACP,CAED,oBAAAg3B,CAAqBL,EAAqBQ,GACzCA,EAAUpL,YAAYprB,KAAKiuB,cAAc,MAAO,CAAEjP,UAAW,GAAGhf,KAAKgf,4BAA8B,CAACgX,EAAQjb,UAC5Gyb,EAAUpL,YAAYprB,KAAKiuB,cAAc,MAAO,CAAEjP,UAAW,GAAGhf,KAAKgf,0BAA4B,CAAC,IAAIyX,KAAKT,EAAQ/a,MAAMyb,oBAEzH12B,KAAKwvB,eAAewG,EAAQ3pB,SAAUmqB,EACtC,CAED,aAAArD,CAAcz0B,GACb,IAAIW,EAASW,KAAK0zB,gBAAgBh1B,EAAM,OAQxC,OANAW,EAAO2J,MAAM6oB,QAAU,eACvBxyB,EAAO2J,MAAMF,SAAW,WACxBzJ,EAAO2J,MAAM2tB,WAAa,MAE1B32B,KAAKmvB,kBAAkBzwB,EAAK4N,SAAUjN,GAE/BA,CACP,CAED,WAAA+zB,CAAY10B,GACX,IAAIW,EAASW,KAAKiuB,cAAc,OAUhC,OARAjuB,KAAKmvB,kBAAkBzwB,EAAK4N,SAAUjN,GAElCW,KAAKipB,UACRjpB,KAAKwqB,MAAM7qB,KAAKK,KAAKipB,SAAS/U,kBAAkBxV,EAAK+e,IAAKzd,KAAK8pB,aAAaiD,MAAK5wB,IAChFkD,EAAOoe,IAAMthB,CAAC,KAITkD,CACP,CAED,UAAAg0B,CAAW30B,GACV,OAAOsB,KAAK4pB,aAAagN,eAAel4B,EAAKmM,KAC7C,CAED,iBAAAyoB,CAAkB50B,GACjB,OAAOsB,KAAK0B,QAAQiuB,eAAiB3vB,KAAK4pB,aAAagN,eAAel4B,EAAKmM,MAAQ,IACnF,CAED,WAAA4oB,CAAY/0B,GACX,MAAkB,gBAAdA,EAAK4hB,MACDtgB,KAAKiuB,cAAc,MAGpB,IACP,CAED,cAAAwG,CAAe/1B,GACd,OAAIsB,KAAK0B,QAAQm1B,cACT72B,KAAK0zB,gBAAgBh1B,EAAM,OAE5BsB,KAAKwvB,eAAe9wB,EAAK2N,SAChC,CAED,aAAAqoB,CAAch2B,GACb,OAAIsB,KAAK0B,QAAQm1B,cACT72B,KAAK0zB,gBAAgBh1B,EAAM,OAE5B,IACP,CAED,YAAA80B,CAAa90B,GACZ,IAAImmB,EAAO7kB,KAAKiuB,cAAc,QAG9B,OAFApJ,EAAK7b,MAAM/N,WAAayD,EAAK8hB,KAC7BqE,EAAK0E,UAAY,MAAM7qB,EAAK+hB,QACrBoE,CACP,CAED,uBAAA8O,CAAwBj1B,GACvB,IAAIW,EAASW,KAAKiuB,cAAc,OAGhC,OAFAjuB,KAAKgvB,mBAAmBrvB,KAAKjB,EAAKuE,IAClC5D,EAAOmG,YAAc,GAAGxF,KAAKgvB,mBAAmBnzB,SACzCwD,CACP,CAED,sBAAAu0B,CAAuBl1B,GACtB,IAAIW,EAASW,KAAKiuB,cAAc,OAGhC,OAFAjuB,KAAKqqB,kBAAkB1qB,KAAKjB,EAAKuE,IACjC5D,EAAOmG,YAAc,GAAGxF,KAAKqqB,kBAAkBxuB,SACxCwD,CACP,CAED,SAAAk0B,CAAU70B,GACT,IAAIo4B,EAAU92B,KAAKiuB,cAAc,QAIjC,GAFA6I,EAAQvN,UAAY,SAEhBvpB,KAAK0B,QAAQq1B,aAAc,CAC9BD,EAAQ9X,UAAYhf,KAAKg3B,eACzB,IAAIC,EAubP,SAA8Cv4B,EAAsBwE,GACnE,IAAIic,EAASzgB,EAAKygB,OAElB,KAAiB,MAAVA,GAAkBA,EAAOjc,MAAQA,GACvCic,EAASA,EAAOA,OAEjB,OAAUA,CACX,CA9be+X,CAAyBx4B,EAAMmI,EAAQ0X,YAAY1V,KAC/D7I,KAAKuqB,YAAY5qB,KAAK,CAAEs3B,QAAOpS,KAAMiS,GACrC,CAED,OAAOA,CACP,CAED,mBAAAlE,CAAoBl0B,GACnB,OAAOsB,KAAKiuB,cAAc,OAAQ,CAAEhrB,GAAIvE,EAAKiE,MAC7C,CAED,SAAAkwB,CAAUn0B,GACT,GAAIA,EAAKshB,SACR,OAAO,KAER,MAAM3gB,EAASW,KAAKiuB,cAAc,QAQlC,GANIvvB,EAAKuE,KACR5D,EAAO4D,GAAKvE,EAAKuE,IAElBjD,KAAKk1B,YAAYx2B,EAAMW,GACvBW,KAAKmvB,kBAAkBzwB,EAAK4N,SAAUjN,GAElCX,EAAK6iB,cAAe,CACvB,MAAM4V,EAAUn3B,KAAKiuB,cAAcvvB,EAAK6iB,eACxCvhB,KAAKwvB,eAAe9wB,EAAK2N,SAAU8qB,GACnC93B,EAAO+rB,YAAY+L,EACnB,MAEAn3B,KAAKwvB,eAAe9wB,EAAK2N,SAAUhN,GAGpC,OAAOA,CACP,CAED,WAAAyzB,CAAYp0B,GACX,IAAIW,EAASW,KAAKiuB,cAAc,SAiBhC,OAfAjuB,KAAKiqB,mBAAmBtqB,KAAKK,KAAKkqB,qBAClClqB,KAAK+pB,oBAAoBpqB,KAAKK,KAAKgqB,sBACnChqB,KAAKgqB,qBAAuB,GAC5BhqB,KAAKkqB,oBAAsB,CAAE7D,IAAK,EAAG/B,IAAK,GAEtC5lB,EAAK8I,SACRnI,EAAO+rB,YAAYprB,KAAKo3B,mBAAmB14B,EAAK8I,UAEjDxH,KAAKk1B,YAAYx2B,EAAMW,GACvBW,KAAKwvB,eAAe9wB,EAAK2N,SAAUhN,GACnCW,KAAKmvB,kBAAkBzwB,EAAK4N,SAAUjN,GAEtCW,KAAKgqB,qBAAuBhqB,KAAK+pB,oBAAoBsN,MACrDr3B,KAAKkqB,oBAAsBlqB,KAAKiqB,mBAAmBoN,MAE5Ch4B,CACP,CAED,kBAAA+3B,CAAmB5vB,GAClB,IAAInI,EAASW,KAAKiuB,cAAc,YAEhC,IAAK,IAAI5H,KAAO7e,EAAS,CACxB,IAAI8vB,EAAUt3B,KAAKiuB,cAAc,OAE7B5H,EAAIpf,QACPqwB,EAAQtuB,MAAM/B,MAAQof,EAAIpf,OAE3B5H,EAAO+rB,YAAYkM,EACnB,CAED,OAAOj4B,CACP,CAED,cAAA0zB,CAAer0B,GACd,IAAIW,EAASW,KAAKiuB,cAAc,MAgBhC,OAdAjuB,KAAKkqB,oBAAoB7D,IAAM,EAE3B3nB,EAAK8lB,YACRnlB,EAAO+rB,YAAYprB,KAAKu3B,2BAA2B74B,EAAK8lB,aAEzDxkB,KAAKk1B,YAAYx2B,EAAMW,GACvBW,KAAKwvB,eAAe9wB,EAAK2N,SAAUhN,GACnCW,KAAKmvB,kBAAkBzwB,EAAK4N,SAAUjN,GAElCX,EAAK+lB,WACRplB,EAAO+rB,YAAYprB,KAAKu3B,2BAA2B74B,EAAK+lB,YAEzDzkB,KAAKkqB,oBAAoB5F,MAElBjlB,CACP,CAED,0BAAAk4B,CAA2BC,GAC1B,MAAMn4B,EAASW,KAAKiuB,cAAc,KAAM,CAAEuJ,YAE1C,OADAn4B,EAAO2J,MAAc,OAAI,OAClB3J,CACP,CAED,eAAA2zB,CAAgBt0B,GACf,IAAIW,EAASW,KAAK0zB,gBAAgBh1B,EAAM,MAExC,MAAM7B,EAAMmD,KAAKkqB,oBAAoB7D,IAsBrC,OApBI3nB,EAAKomB,cACkB,WAAtBpmB,EAAKomB,eACR9kB,KAAKgqB,qBAAqBntB,GAAOwC,EACjCA,EAAOo4B,QAAU,GACPz3B,KAAKgqB,qBAAqBntB,KACpCmD,KAAKgqB,qBAAqBntB,GAAK46B,SAAW,EAC1Cp4B,EAAO2J,MAAM6oB,QAAU,QAGxB7xB,KAAKgqB,qBAAqBntB,GAAO,KAGlCmD,KAAKk1B,YAAYx2B,EAAMW,GACvBW,KAAKmvB,kBAAkBzwB,EAAK4N,SAAUjN,GAElCX,EAAKmmB,OACRxlB,EAAOm4B,QAAU94B,EAAKmmB,MAEvB7kB,KAAKkqB,oBAAoB7D,KAAOhnB,EAAOm4B,QAEhCn4B,CACP,CAED,gBAAAw0B,CAAiBn1B,GAChB,OAAOsB,KAAK0zB,gBAAgBh1B,EAAM,MAClC,CAED,gBAAAo1B,CAAiBp1B,GAChB,IAAI83B,EAAYx2B,KAAK03B,iBAAiB,OAEtClB,EAAUmB,aAAa,QAASj5B,EAAK0X,cAErC,MAAM/W,EAASW,KAAK43B,sBAAsBl5B,GAgB1C,OAdIA,EAAKkY,WAAW3T,IACnBjD,KAAKwqB,MAAM7qB,KAAKK,KAAKipB,UAAU/U,kBAAkBxV,EAAKkY,UAAU3T,GAAIjD,KAAK8pB,aACvEiD,MAAK5wB,GAAKkD,EAAOs4B,aAAa,OAAQx7B,MAGzCq6B,EAAUpL,YAAY/rB,GAEtBw4B,uBAAsB,KACrB,MAAMC,EAAMtB,EAAU10B,kBAA0Bi2B,UAEhDvB,EAAUmB,aAAa,QAAS,GAAGK,KAAKC,KAAKH,EAAG37B,EAAK27B,EAAG7wB,UACxDuvB,EAAUmB,aAAa,SAAU,GAAGK,KAAKC,KAAKH,EAAGI,EAAIJ,EAAG5wB,UAAU,IAG5DsvB,CACP,CAED,qBAAAoB,CAAsBl5B,GACrB,MAAMW,EAASW,KAAK03B,iBAAiBh5B,EAAKoX,SAC1CrK,OAAOghB,QAAQ/tB,EAAKwB,OAAOmd,SAAQ,EAAEmP,EAAG1rB,KAAOzB,EAAOs4B,aAAanL,EAAG1rB,KAEtE,IAAK,IAAI+V,KAASnY,EAAK2N,SAClBwK,EAAM3T,MAAQ2D,EAAQ+O,WACzBvW,EAAO+rB,YAAYprB,KAAK43B,sBAAsB/gB,IAE9CxX,EAAO+rB,eAAetuB,EAAQkD,KAAK0yB,cAAc7b,KAInD,OAAOxX,CACP,CAED,gBAAA60B,CAAiBx1B,GAChB,MAAMjD,EAAOiD,EAAK2N,SAASoG,MAAK1S,GAAMA,EAAGmD,MAAQ2D,EAAQ8R,UAEzD,GAAIja,EAAKC,OAAOyiB,WACf,OAAOphB,KAAKi1B,gBAAgBj4B,GAAW,QAAS,KAAMgD,KAAKwvB,eAAe,CAAC/zB,KAG5E,MAAM08B,EAASz5B,EAAK2N,SAASoG,MAAK1S,GAAMA,EAAGmD,MAAQ2D,EAAQ6R,YAC3D,OAAO1Y,KAAKi1B,gBAAgBj4B,GAAW,QAAS,KAAMgD,KAAKwvB,eAAe,CAAC/zB,EAAM08B,IACjF,CAED,kBAAAhE,CAAmBz1B,GAClB,MAAM2N,EAAW,GAMjB,OAJAA,EAAS1M,KAAKK,KAAKi1B,gBAAgBj4B,GAAW,KAAM,KAAM,CAAC0B,EAAKC,MAAM0iB,WAAa,OACnFhV,EAAS1M,QAAQK,KAAKwvB,eAAe9wB,EAAK2N,WAC1CA,EAAS1M,KAAKK,KAAKi1B,gBAAgBj4B,GAAW,KAAM,KAAM,CAAC0B,EAAKC,MAAM2iB,SAAW,OAE1EthB,KAAKi1B,gBAAgBj4B,GAAW,OAAQ,KAAMqP,EACrD,CAED,aAAAgoB,CAAc31B,GACb,MAAM2N,EAAW,GACX+rB,EAAUt8B,EAAM4C,EAAK2N,UAAUlQ,GAAKA,EAAE+G,OAEtCgW,EAAMkf,EAAQvxB,EAAQsS,kBACtBC,EAAMgf,EAAQvxB,EAAQwS,gBACtBgf,EAAUnf,EAAMlZ,KAAKi1B,gBAAgBj4B,GAAW,KAAM,KAAMF,EAAQkD,KAAK0yB,cAAcxZ,KAAS,KAChGof,EAAUlf,EAAMpZ,KAAKi1B,gBAAgBj4B,GAAW,KAAM,KAAMF,EAAQkD,KAAK0yB,cAActZ,KAAS,KAEhGmf,EAAWv4B,KAAKi1B,gBAAgBj4B,GAAW,KAAM,KAAM,CAAC0B,EAAKC,OAAO8hB,MAAQ,MAclF,OAZI4X,GAAWC,EACdjsB,EAAS1M,KAAKK,KAAKi1B,gBAAgBj4B,GAAW,aAAc,KAAM,CAACu7B,EAAUD,EAASD,KAC7EA,EACThsB,EAAS1M,KAAKK,KAAKi1B,gBAAgBj4B,GAAW,QAAS,KAAM,CAACu7B,EAAUF,KAC/DC,EACTjsB,EAAS1M,KAAKK,KAAKi1B,gBAAgBj4B,GAAW,SAAU,KAAM,CAACu7B,EAAUD,KAEzEjsB,EAAS1M,KAAK44B,GAGflsB,EAAS1M,QAAQK,KAAKwvB,eAAe4I,EAAQvxB,EAAQ8R,SAAStM,WAEvDrM,KAAKi1B,gBAAgBj4B,GAAW,OAAQ,KAAMqP,EACrD,CAED,oBAAAioB,CAAqB51B,GACpB,MAAM2N,EAAW,GACX+rB,EAAUt8B,EAAM4C,EAAK2N,UAAUlQ,GAAKA,EAAE+G,OAEtCgW,EAAMkf,EAAQvxB,EAAQsS,kBACtBC,EAAMgf,EAAQvxB,EAAQwS,gBACtBgf,EAAUnf,EAAMlZ,KAAKi1B,gBAAgBj4B,GAAW,KAAM,KAAMF,EAAQkD,KAAK0yB,cAAcxZ,KAAS,KAChGof,EAAUlf,EAAMpZ,KAAKi1B,gBAAgBj4B,GAAW,KAAM,KAAMF,EAAQkD,KAAK0yB,cAActZ,KAAS,KAChGof,EAAWx4B,KAAKi1B,gBAAgBj4B,GAAW,KAAM,MAKvD,OAHAqP,EAAS1M,KAAKK,KAAKi1B,gBAAgBj4B,GAAW,UAAW,KAAM,CAACw7B,EAAUF,EAASD,KACnFhsB,EAAS1M,QAAQK,KAAKwvB,eAAe4I,EAAQvxB,EAAQ8R,SAAStM,WAEvDrM,KAAKi1B,gBAAgBj4B,GAAW,OAAQ,KAAMqP,EACrD,CAED,kBAAA4nB,CAAmBv1B,GAClB,MAAMoX,EAA+C,QAArCpX,EAAKC,MAAMwiB,sBAAkC,QAAU,SACjE9hB,EAASW,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW8Y,GAMvD,OAJIpX,EAAKC,MAAM8hB,MACdphB,EAAO+rB,YAAYprB,KAAKi1B,gBAAgBj4B,GAAW,KAAM,KAAM,CAAC0B,EAAKC,MAAM8hB,QAGrEphB,CACP,CAED,YAAAk1B,CAAa71B,GACZ,MAAMW,EAASW,KAAK+zB,kBAAkBr1B,EAAM1B,GAAW,QAEvD,OAAO0B,EAAKC,MAAMmK,UACjB,IAAK,MAAOzJ,EAAO2J,MAAMwgB,eAAiB,WAAY,MACtD,IAAK,SAAUnqB,EAAO2J,MAAMwgB,eAAiB,YAG9C,OAAOnqB,CACP,CAED,YAAA+0B,CAAa11B,GACZ,MAAMW,EAASW,KAAKi1B,gBAAgBj4B,GAAW,KAAM,KAAMgD,KAAKwvB,eAAe9wB,EAAK2N,WAKpF,OAHArM,KAAKk1B,YAAYx2B,EAAMW,GACvBW,KAAKmvB,kBAAkBzwB,EAAK4N,SAAUjN,GAE/BA,CACP,CAED,aAAAm1B,CAAc91B,GACb,MAAMW,EAASW,KAAKi1B,gBAAgBj4B,GAAW,UAE/CgD,KAAKk1B,YAAYx2B,EAAMW,GACvBW,KAAKmvB,kBAAkBzwB,EAAK4N,SAAUjN,GAEtC,IAAK,IAAIwX,KAAS7W,KAAKwvB,eAAe9wB,EAAK2N,UAC1ChN,EAAO+rB,YAAYprB,KAAKi1B,gBAAgBj4B,GAAW,MAAO,KAAM,CAC/DgD,KAAKi1B,gBAAgBj4B,GAAW,MAAO,KAAM,CAAC6Z,OAIhD,OAAOxX,CACP,CAGD,iBAAA8vB,CAAkBnmB,EAA+ByvB,GAChD,IAAK,IAAIjM,KAAKxjB,EACTwjB,EAAE9oB,WAAW,KAChB+0B,EAAMd,aAAanL,EAAE0E,MAAM,GAAIloB,EAAMwjB,IAErCiM,EAAMzvB,MAAMwjB,GAAKxjB,EAAMwjB,EAGzB,CAED,WAAA0I,CAAYjxB,EAAuBw0B,GAC9Bx0B,EAAM+a,YACTyZ,EAAMzZ,UAAY/a,EAAM+a,WAErB/a,EAAMgG,WACTwuB,EAAMrD,UAAUC,IAAIr1B,KAAKktB,iBAAiBjpB,EAAMgG,WACjD,CAED,SAAA0jB,CAAU1jB,GACT,OAAOA,GAAajK,KAAK6pB,WAAW5f,EACpC,CAED,cAAAynB,CAAezuB,EAAYy1B,GAC1B,MAAO,GAAG14B,KAAKgf,iBAAiB/b,KAAMy1B,GACtC,CAED,YAAA1B,GACC,MAAO,GAAGh3B,KAAKgf,oBACf,CAED,aAAA2N,CAAcgM,EAAmBvc,EAAgCsQ,EAAkB,MAClF,IAAIrtB,EAAS,GAAGs5B,UAEhB,IAAK,MAAM97B,KAAOuf,EACbvf,EAAI6G,WAAW,OAGnBrE,GAAU,KAAKxC,MAAQuf,EAAOvf,WAM/B,OAHI6vB,IACHrtB,GAAUqtB,GAEJrtB,EAAS,OAChB,CAED,gBAAA0yB,CAAiB9uB,EAAYy1B,GAC5B,MAAO,GAAG14B,KAAKgf,iBAAiB/b,KAAMy1B,GACtC,CAED,kBAAAzG,CAAmBpnB,EAAcgT,EAAc5a,EAAY21B,GAW1D,MAAO,IALM/tB,EAAK/G,QAAQ,SAAS6Y,IAClC,IAAI+b,EAAMp6B,SAASqe,EAAEphB,UAAU,GAAI,IAAM,EACzC,MAAO,YAAYyE,KAAK+xB,iBAAiB9uB,EAAIy1B,OAASE,KAAa,MAPpD,CACfhQ,IAAO,MACP1gB,MAAS,QAQkB2V,IAAS,KACrC,CAED,mBAAAqU,CAAoB3pB,GA2CnB,MA1Cc,CACbswB,KAAM,OACN/a,OAAQ,OACRgb,QAAS,UACTC,YAAa,cACbC,YAAa,cACbC,WAAY,cACZC,WAAY,cACZC,YAAa,uBAMbC,MAAO,WACPC,eAAgB,WAChBC,gBAAiB,wBACjBC,wBAAyB,wBACzBC,uBAAwB,sBACxBC,QAAS,mBACTC,iBAAkB,kBAClBC,qBAAsB,oBACtBC,0BAA2B,sBAC3BC,gBAAiB,qBACjBC,MAAO,iBACPC,eAAgB,iBAChBC,iBAAkB,oBAClBC,2BAA4B,cAC5BC,cAAe,kBACfC,YAAa,OACbC,eAAgB,uBAChBC,cAAe,uBACfC,eAAgB,wBAChBC,QAAS,SACTC,QAAS,SACTC,aAAc,aACdC,OAAQ,SACRC,kBAAmB,kBACnBC,0BAA2B,kBAC3BC,iBAAmB,eAGLtyB,IAAWA,CAC1B,CAED,eAAA+jB,GACMtsB,KAAK0B,QAAQq1B,cAGlB+D,YAAW,KACV,MAAMjT,WDz9C2B2O,EAAyBvN,SAASjjB,MACrE,MAAM+0B,EAAO9R,SAASgF,cAAc,OACpC8M,EAAK/xB,MAAM/B,MAAQ,QAEnBuvB,EAAUpL,YAAY2P,GACtB,MAAM17B,EAAS,IAAM07B,EAAKC,YAG1B,OAFAxE,EAAUyE,YAAYF,GAEf17B,CACR,CCg9CwB67B,GAErB,IAAK,IAAItS,KAAO5oB,KAAKuqB,YACpB5C,GAAciB,EAAI/D,KAAM+D,EAAIqO,MAAOj3B,KAAK4nB,eAAgBC,EACxD,GACC,IACH,CAED,eAAAoN,CAAgBj4B,EAAY8Y,EAAiBnX,EAAmC0N,GAC/E,IAAIhN,EAASrC,EAAKgD,KAAK4pB,aAAaqL,gBAAgBj4B,EAAI8Y,GAAW9V,KAAK4pB,aAAaqE,cAAcnY,GAGnG,OAFArK,OAAOC,OAAOrM,EAAQV,GACtB0N,GAAY4f,GAAe5sB,EAAQgN,GAC5BhN,CACP,CAED,aAAA4uB,CAAqDnY,EAAYnX,EAA8D0N,GAC9H,OAAOrM,KAAKi1B,qBAAgBh1B,EAAW6V,EAASnX,EAAO0N,EACvD,CAED,gBAAAqrB,CAAuD5hB,EAAYnX,EAA6D0N,GAC/H,OAAOrM,KAAKi1B,gBAAgBj4B,GAAQ8Y,EAASnX,EAAO0N,EACpD,CAED,kBAAAugB,CAAmBF,GAClB,OAAO1sB,KAAKiuB,cAAc,QAAS,CAAE1E,UAAWmD,GAChD,CAED,aAAArB,CAAcxgB,GACb,OAAO7K,KAAK4pB,aAAayB,cAAcxgB,EACvC,CAED,KAAA+qB,CAAM5d,GACLhY,KAAKyqB,gBAAgB9qB,KAAKqY,EAC1B,EAKF,SAASmT,GAAkBzsB,GAC1BA,EAAK6qB,UAAY,EAClB,CAEA,SAAS0C,GAAevtB,EAAY2N,GACnCA,EAASgR,SAAQ5d,IAAKf,SAAK0sB,YvCj+CD,iBADF/uB,EuCk+CwBoD,IvCj+CVpD,aAAgB8+B,OuCi+CDlS,SAAS2N,eAAen3B,GAAKA,GvCl+C7E,IAAmBpD,CuCk+C4D,GACrF,CCv/Ca,MAAA++B,GAA0B,CACnC9M,cAAc,EACd5T,aAAa,EACbkR,aAAa,EACbgF,YAAY,EACZjW,OAAO,EACPoc,cAAc,EACd/X,UAAW,OACX8L,WAAW,EACXyG,oBAAoB,EACpBvsB,oBAAoB,EACpBorB,6BAA6B,EAC7BhB,eAAe,EACfQ,eAAe,EACfH,iBAAiB,EACpBE,gBAAgB,EAChBjb,cAAc,EACdmiB,eAAe,EACZ9L,gBAAgB,EAChBuL,iBAAiB,GAGL,SAAA+E,GAAWp2B,EAAkBq2B,GACzC,MAAMC,EAAM,IAAKH,MAAmBE,GACpC,OAAOvpB,GAAa3Q,KAAK6D,EAAM,IAAIwV,GAAe8gB,GAAMA,EAC5D,CAEOj3B,eAAek3B,GAAevS,EAAe0B,EAA4BC,EAA8B0Q,GAC1G,MAAMC,EAAM,IAAKH,MAAmBE,GAC9BG,EAAW,IAAI9R,GAAa+R,OAAOzS,UAC5C,aAAawS,EAAS/Q,OAAOzB,EAAU0B,EAAeC,EAAgB2Q,EACvE,CAEOj3B,eAAeq3B,GAAY12B,EAAkB0lB,EAA4BC,EAA8B0Q,GAC7G,MAAMh2B,QAAY+1B,GAAWp2B,EAAMq2B,GAEhC,aADGE,GAAel2B,EAAKqlB,EAAeC,EAAgB0Q,GAC/Ch2B,CACX"} \ No newline at end of file +{"version":3,"file":"docx-preview.min.mjs","sources":["../src/common/relationship.ts","../src/utils.ts","../src/document/common.ts","../src/parser/xml-parser.ts","../src/common/part.ts","../src/font-table/fonts.ts","../src/font-table/font-table.ts","../src/common/open-xml-package.ts","../src/document/document-part.ts","../src/document/border.ts","../src/document/section.ts","../src/document/dom.ts","../src/document/run.ts","../src/document/paragraph.ts","../src/document/line-spacing.ts","../src/numbering/numbering.ts","../src/numbering/numbering-part.ts","../src/styles/styles-part.ts","../src/header-footer/elements.ts","../src/header-footer/parts.ts","../src/document-props/extended-props.ts","../src/document-props/extended-props-part.ts","../src/document-props/core-props-part.ts","../src/document-props/core-props.ts","../src/theme/theme.ts","../src/theme/theme-part.ts","../src/notes/elements.ts","../src/notes/parts.ts","../src/settings/settings.ts","../src/settings/settings-part.ts","../src/document-props/custom-props-part.ts","../src/document-props/custom-props.ts","../src/comments/comments-part.ts","../src/comments/comments-extended-part.ts","../src/word-document.ts","../src/document/bookmarks.ts","../src/vml/vml.ts","../src/comments/elements.ts","../src/document-parser.ts","../src/javascript.ts","../src/html-renderer.ts","../src/docx-preview.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["RelationshipTypes","encloseFontFamily","fontFamily","test","splitPath","path","si","lastIndexOf","substring","resolvePath","base","prefix","URL","toString","length","keyBy","array","by","reduce","a","x","isObject","item","Array","isArray","mergeDeep","target","sources","source","shift","key","asArray","val","ns","LengthUsage","mul","unit","min","max","convertLength","usage","num","parseInt","clamp","toFixed","parseCommonProperty","elem","props","xml","namespaceURI","localName","color","attr","fontSize","lengthAttr","XmlParser","elements","result","i","l","childNodes","c","nodeType","Node","ELEMENT_NODE","push","element","elementAttr","attrLocalName","el","this","undefined","attrs","from","attributes","value","intAttr","node","attrName","defaultValue","hexAttr","floatAttr","parseFloat","boolAttr","v","convertBoolean","globalXmlParser","Part","constructor","_package","load","rels","loadRelationships","xmlText","xmlDoc","parseXmlDocument","options","keepOrigin","_xmlDocument","parseXml","firstElementChild","save","update","XMLSerializer","serializeToString","root","embedFontTypeMap","embedRegular","embedBold","embedItalic","embedBoldItalic","parseFonts","map","name","embedFontRefs","family","altName","parseEmbedFontRef","parseFont","id","type","FontTablePart","fonts","xmlParser","OpenXmlPackage","_zip","get","p","startsWith","substr","normalizePath","files","replace","content","file","input","zip","JSZip","loadAsync","generateAsync","async","Promise","resolve","relsPath","f","fn","txt","e","targetMode","xmlString","trimXmlDeclaration","data","charCodeAt","DOMParser","parseFromString","errorText","doc","getElementsByTagName","textContent","Error","parseXmlString","DocumentPart","pkg","parser","super","_documentParser","body","parseDocumentFile","parseBorder","size","offset","frame","shadow","parseBorders","left","top","right","bottom","SectionType","DomType","parseSectionProperties","section","pageSize","width","height","orientation","pageMargins","header","footer","gutter","columns","parseColumns","headerRefs","parseFooterHeaderReference","footerRefs","titlePage","pageBorders","pageNumber","parsePageNumber","numberOfColumns","space","separator","equalWidth","chapSep","chapStyle","format","start","parseRunProperties","parseRunProperty","parseParagraphProperties","parseParagraphProperty","tabs","position","leader","style","parseTabs","sectionProps","numbering","level","parseNumbering","lineSpacing","before","after","line","lineRule","parseLineSpacing","textAlignment","keepLines","keepNext","pageBreakBefore","outlineLevel","styleName","runProps","overrides","abstractId","parseNumberingLevelOverrride","parseAbstractNumbering","levels","multiLevelType","numberingStyleLink","styleLink","parseNumberingLevel","restart","text","justification","bulletPictureId","paragraphStyle","paragraphProps","numberingLevel","parseNumberingBulletPicture","pict","shape","imagedata","referenceId","NumberingPart","Object","assign","numberings","abstractNumberings","bulletPictures","parseNumberingPart","domNumberings","parseNumberingFile","StylesPart","styles","parseStylesFile","OpenXmlElementBase","children","cssStyle","WmlHeader","Header","WmlFooter","Footer","BaseHeaderFooterPart","rootElement","createRootElement","parseBodyElements","HeaderPart","FooterPart","safeParseToInt","ExtendedPropsPart","template","pages","words","characters","application","lines","paragraphs","company","appVersion","parseExtendedProps","CorePropsPart","title","description","subject","creator","keywords","language","lastModifiedBy","revision","parseCoreProps","DmlTheme","parseColorScheme","colors","srgbClr","sysClr","parseFontScheme","majorFont","parseFontInfo","minorFont","latinTypeface","eaTypeface","csTypeface","ThemePart","theme","themeElements","colorScheme","fontScheme","parseTheme","WmlBaseNote","WmlFootnote","Footnote","WmlEndnote","Endnote","BaseNotePart","FootnotesPart","notes","parseNotes","EndnotesPart","parseNoteProperties","defaultNoteIds","nummeringFormat","SettingsPart","settings","defaultTabStop","footnoteProps","endnoteProps","autoHyphenation","parseSettings","CustomPropsPart","firstChild","formatId","nodeName","parseCustomProps","CommentsPart","comments","parseComments","commentMap","CommentsExtendedPart","paraId","paraIdParent","done","topLevelRels","OfficeDocument","ExtendedProperties","CoreProperties","CustomProperties","WordDocument","parts","partsMap","blob","d","_options","_parser","all","rel","r","find","loadRelationshipPart","part","documentPart","FontTable","fontTablePart","Numbering","numberingPart","Styles","stylesPart","Theme","themePart","Footnotes","footnotesPart","Endnotes","endnotesPart","corePropsPart","extendedPropsPart","Settings","settingsPart","Comments","commentsPart","CommentsExtended","commentsExtendedPart","folder","loadDocumentImage","loadResource","blobToURL","loadNumberingImage","loadFont","Blob","deobfuscate","loadAltChunk","useBase64URL","reject","reader","FileReader","onloadend","onerror","readAsDataURL","blobToBase64","createObjectURL","findPartByRelId","basePart","getPathById","outputType","guidKey","trimmed","numbers","parseBookmarkStart","BookmarkStart","colFirst","colLast","parseBookmarkEnd","BookmarkEnd","VmlElement","parseVmlElement","tagName","cx","cy","rx","ry","at","cssStyleText","fill","x1","y1","parsePoint","x2","y2","parseStroke","parseFill","imageHref","child","stroke","split","WmlComment","Comment","WmlCommentReference","CommentReference","WmlCommentRangeStart","CommentRangeStart","WmlCommentRangeEnd","CommentRangeEnd","autos","supportedNamespaceURIs","mmlTagMap","oMath","MmlMath","oMathPara","MmlMathParagraph","MmlFraction","func","MmlFunction","fName","MmlFunctionName","MmlNumerator","den","MmlDenominator","rad","MmlRadical","deg","MmlDegree","MmlBase","sSup","MmlSuperscript","sSub","MmlSubscript","sPre","MmlPreSubSuper","sup","MmlSuperArgument","sub","MmlSubArgument","MmlDelimiter","nary","MmlNary","eqArr","MmlEquationArray","lim","MmlLimit","limLow","MmlLimitLower","m","MmlMatrix","mr","MmlMatrixRow","box","MmlBox","bar","MmlBar","groupChr","MmlGroupChar","DocumentParser","ignoreWidth","debug","elemName","elemClass","noteType","author","initials","date","xbody","background","sectPr","Document","parseBackground","xmlUtil","colorAttr","parseParagraph","parseAltChunk","parseTable","parseSdt","xstyles","n","parseStyle","parseDefaultStyles","basedOn","rPr","values","parseDefaultProperties","pPr","isDefault","linked","next","aliases","s","parseTableStyle","console","warn","selector","modificator","mod","mapping","bullets","forEach","parseNumberingPicBullet","numId","abstractNumId","src","pStyleName","pStyle","rStyle","suff","bulletId","bullet","levelText","sdtContent","parseInserted","parentParser","Inserted","parseDeleted","Deleted","AltChunk","Paragraph","parseRun","parseHyperlink","parseSmartTag","parseMathElement","paragraph","className","classNameOfCnfStyle","parseFrame","parent","Hyperlink","anchor","SmartTag","uri","Run","checkAlternateContent","Text","DeletedText","SimpleField","instruction","lock","dirty","fieldRun","Instruction","ComplexField","charType","NoBreakHyphen","Break","break","Symbol","font","char","Tab","FootnoteReference","EndnoteReference","parseDrawing","parseVmlPicture","propsTag","run","MmlRun","parseMathProperies","verticalJustification","hideDegree","beginChar","endChar","verticalAlign","valueOfVertAlign","VmlPicture","choice","requires","lookupNamespaceURI","includes","parseDrawingWrapper","Drawing","isAnchor","wrapType","simplePos","posX","relative","align","posY","pos","alignNode","offsetNode","g","parseGraphic","graphicData","parsePicture","Image","blipFill","blip","srcRect","spPr","xfrm","rotation","Table","parseTableRow","parseTableColumns","parseTableProperties","table","cellStyle","classNameOftblLook","parseTablePosition","colBandSize","rowBandSize","topFromText","bottomFromText","rightFromText","leftFromText","addSize","Row","parseTableCell","parseTableRowProperties","row","isHeader","gridBefore","gridAfter","Cell","parseTableCellProperties","cell","span","verticalMerge","parseTableCellVerticalText","directionMap","btLr","writingMode","transform","lrTb","tbRl","childStyle","handler","valueOfJc","valueOfTextAlignment","valueOfSize","parseTrHeight","parseUnderline","parseIndentation","parseBorderProperties","valueOfMargin","valueOfBorder","parseMarginProperties","valueOfTblLayout","parseSpacing","col","themeValue","filter","Set","join","firstLine","hanging","end","output","knownColors","defValue","autoColor","themeColor","parseBorderType","_","asTagName","b","trim","defaultTab","updateTabStop","defaultTabSize","pixelToPoint","closest","ebb","getBoundingClientRect","pbb","pcs","getComputedStyle","tabStops","t","lengthToPoint","sort","lastTab","pWidthPt","marginLeft","pOffset","tab","querySelectorAll","nextIdx","indexOf","range","document","createRange","setStart","setEndBefore","setEndAfter","nextBB","innerHTML","textDecoration","wordSpacing","textDecorationStyle","HtmlRenderer","htmlDocument","styleMap","currentPart","tableVerticalMerges","currentVerticalMerge","tableCellPositions","currentCellPosition","footnoteMap","endnoteMap","currentEndnoteIds","usedHederFooterParts","currentTabs","tasks","postRenderTasks","render","bodyContainer","styleContainer","rootSelector","inWrapper","renderComments","globalThis","Highlight","commentHighlight","removeAllElements","appendChild","createComment","renderDefaultStyle","renderTheme","processStyles","renderStyles","prodessNumberings","renderNumbering","ignoreFonts","renderFontTable","sectionElements","renderSections","renderWrapper","appendChildren","CSS","highlights","set","allSettled","refreshTabStops","variables","k","entries","cssText","styleToString","createStyleElement","fontsPart","ref","then","fontData","cssValues","processStyleName","toLowerCase","escapeClassName","stylesMap","baseStyle","baseValues","styleValues","copyStyleProperties","cssName","findStyle","processElement","processTable","getOwnPropertyNames","hasOwnProperty","createPageElement","createElement","paddingLeft","paddingRight","paddingTop","paddingBottom","ignoreHeight","minHeight","createSectionContent","columnCount","columnGap","columnRule","sections","splitBySection","groupByPageBreaks","prevProps","currentFootnoteIds","sectProps","pageElement","renderStyleValues","renderHeaders","renderHeaderFooter","sect","contentElement","renderElements","renderFootnotes","renderNotes","renderEndnotes","renderFooters","refs","page","firstOfSection","into","marginTop","marginBottom","isPageBreakElement","ignoreLastRenderedPageBreak","isPageBreakSection","prev","defaultProps","current","pageBreak","pBreakIndex","rBreakIndex","breakPages","findIndex","bind","breakRun","splitRun","newParagraph","slice","runChildren","newRun","currentSectProps","wrapperStyle","hideWrapperOnPrint","styleText","resetCounters","numberingClass","listStyleType","valiable","display","counter","numberingCounter","counterReset","levelTextToContent","numFormatToCssValue","defautStyles","subStyles","linkedStyle","concat","subStyle","noteIds","notesMap","renderElement","renderParagraph","renderBookmarkStart","renderRun","renderTable","renderTableRow","renderTableCell","renderHyperlink","renderSmartTag","renderDrawing","renderImage","renderText","renderDeletedText","renderTab","renderSymbol","renderBreak","renderContainer","renderFootnoteReference","renderEndnoteReference","renderVmlPicture","renderVmlElement","renderContainerNS","xmlns","renderMmlGroupChar","renderMmlRadical","renderMmlDelimiter","renderMmlRun","renderMmlNary","renderMmlPreSubSuper","renderMmlBar","renderMllList","renderInserted","renderDeleted","renderCommentRangeStart","renderCommentRangeEnd","renderCommentReference","renderAltChunk","elems","flatMap","createElementNS","renderClass","renderCommonProperties","classList","add","renderRunProperties","href","it","commentStart","rng","Range","later","commentEnd","setEnd","commentRef","comment","frg","DocumentFragment","commentRefEl","commentsContainerEl","renderCommentContent","renderAltChunks","srcdoc","container","Date","toLocaleString","textIndent","some","createTextNode","renderChanges","tabSpan","experimental","tabStopClass","stops","findParent","wrapper","renderTableColumns","pop","colElem","renderTableCellPlaceholder","colSpan","rowSpan","createSvgElement","setAttribute","renderVmlChildElement","requestAnimationFrame","bb","getBBox","Math","ceil","y","degree","grouped","supElem","subElem","charElem","stubElem","ouput","lvl","selectors","numformat","none","decimal","lowerLetter","upperLetter","lowerRoman","upperRoman","decimalZero","aiueo","aiueoFullWidth","chineseCounting","chineseCountingThousand","chineseLegalSimplified","chosung","ideographDigital","ideographTraditional","ideographLegalTraditional","ideographZodiac","iroha","irohaFullWidth","japaneseCounting","japaneseDigitalTenThousand","japaneseLegal","thaiNumbers","koreanCounting","koreanDigital","koreanDigital2","hebrew1","hebrew2","hindiNumbers","ganada","taiwaneseCounting","taiwaneseCountingThousand","taiwaneseDigital","setTimeout","temp","offsetWidth","removeChild","computePixelToPoint","String","defaultOptions","parseAsync","userOptions","ops","renderDocument","renderer","window","renderAsync"],"mappings":";;;;;;qBASA,IAAYA,ECLN,SAAUC,EAAkBC,GAC9B,MAAO,qBAAqBC,KAAKD,GAAc,IAAIA,KAAgBA,CACvE,CAEM,SAAUE,EAAUC,GACtB,IAAIC,EAAKD,EAAKE,YAAY,KAAO,EAIjC,MAAO,CAHY,GAAND,EAAU,GAAKD,EAAKG,UAAU,EAAGF,GACzB,GAANA,EAAUD,EAAOA,EAAKG,UAAUF,GAGnD,CAEM,SAAUG,EAAYJ,EAAcK,GACtC,IACI,MAAMC,EAAS,eAEf,OADY,IAAIC,IAAIP,EAAMM,EAASD,GAAMG,WAC9BL,UAAUG,EAAOG,OAChC,CAAE,MACE,MAAO,GAAGJ,IAAOL,GACrB,CACJ,CAEM,SAAUU,EAAeC,EAAYC,GACvC,OAAOD,EAAME,OAAO,CAACC,EAAGC,KACpBD,EAAEF,EAAGG,IAAMA,EACJD,GACR,CAAA,EACP,CAWM,SAAUE,EAASC,GACrB,OAAOA,GAAwB,iBAATA,IAAsBC,MAAMC,QAAQF,EAC9D,UAMgBG,EAAUC,KAAWC,GACjC,IAAKA,EAAQb,OACT,OAAOY,EAEX,MAAME,EAASD,EAAQE,QAEvB,GAAIR,EAASK,IAAWL,EAASO,GAC7B,IAAK,MAAME,KAAOF,EACd,GAAIP,EAASO,EAAOE,IAAO,CAEvBL,EADYC,EAAOI,KAASJ,EAAOI,GAAO,IAC3BF,EAAOE,GAC1B,MACIJ,EAAOI,GAAOF,EAAOE,GAKjC,OAAOL,EAAUC,KAAWC,EAChC,CAiBM,SAAUI,EAAWC,GAC1B,OAAOT,MAAMC,QAAQQ,GAAOA,EAAM,CAACA,EACpC,ED9EA,SAAYhC,GACRA,EAAA,eAAA,qFACAA,EAAA,UAAA,gFACAA,EAAA,MAAA,4EACAA,EAAA,UAAA,gFACAA,EAAA,OAAA,6EACAA,EAAA,kBAAA,2EACAA,EAAA,MAAA,4EACAA,EAAA,SAAA,+EACAA,EAAA,YAAA,kFACAA,EAAA,UAAA,gFACAA,EAAA,UAAA,gFACHA,EAAA,SAAA,+EACGA,EAAA,OAAA,6EACAA,EAAA,OAAA,6EACAA,EAAA,mBAAA,0FACAA,EAAA,eAAA,wFACHA,EAAA,iBAAA,0FACAA,EAAA,SAAA,+EACGA,EAAA,iBAAA,0EACAA,EAAA,SAAA,6EACH,CArBD,CAAYA,IAAAA,EAAiB,CAAA,IENtB,MAAMiC,EACD,+DAsBCC,EACJ,CAAEC,IAAK,IAAMC,KAAM,MADfF,EAEJ,CAAEC,IAAK,EAAI,MAAOC,KAAM,MAFpBF,EAGC,CAAEC,IAAK,GAAKC,KAAM,MAHnBF,EAID,CAAEC,IAAK,KAAOC,KAAM,KAAMC,IAAK,IAAMC,IAAK,IAJzCJ,EAKF,CAAEC,IAAK,EAAGC,KAAM,MALdF,EAMA,CAAEC,IAAK,IAAMC,KAAM,KAK1B,SAAUG,EAAcP,EAAaQ,EAAyBN,GAEhE,GAAW,MAAPF,GAAe,iBAAiB7B,KAAK6B,GACrC,OAAOA,EAGX,IAAIS,EAAMC,SAASV,GAAOQ,EAAML,IAKnC,OAHOK,EAAMH,KAAOG,EAAMF,MACnBG,WD2CcT,EAAKK,EAAKC,GAC5B,OAAOD,EAAML,EAAMK,EAAOC,EAAMN,EAAMM,EAAMN,CAChD,CC7CcW,CAAMF,EAAKD,EAAMH,IAAKG,EAAMF,MAElC,GAAGG,EAAIG,QAAQ,KAAKJ,EAAMJ,MAClC,UAkBgBS,EAAoBC,EAAeC,EAAyBC,GACxE,GAAGF,EAAKG,cAAgBhB,EACpB,OAAO,EAEX,OAAOa,EAAKI,WACR,IAAK,QACDH,EAAMI,MAAQH,EAAII,KAAKN,EAAM,OAC7B,MAEJ,IAAK,KACDC,EAAMM,SAAWL,EAAIM,WAAWR,EAAM,MAAOZ,GAC7C,MAEJ,QACI,OAAO,EAGf,OAAO,CACX,OCxDaqB,EACT,QAAAC,CAASV,EAAeI,EAAoB,MACxC,MAAMO,EAAS,GAEf,IAAK,IAAIC,EAAI,EAAGC,EAAIb,EAAKc,WAAW9C,OAAQ4C,EAAIC,EAAGD,IAAK,CACpD,IAAIG,EAAIf,EAAKc,WAAWtC,KAAKoC,GAEzBG,EAAEC,UAAYC,KAAKC,cAA8B,MAAbd,GAAsBW,EAAcX,WAAaA,GACrFO,EAAOQ,KAAKJ,EACpB,CAEA,OAAOJ,CACX,CAEA,OAAAS,CAAQpB,EAAeI,GACnB,IAAK,IAAIQ,EAAI,EAAGC,EAAIb,EAAKc,WAAW9C,OAAQ4C,EAAIC,EAAGD,IAAK,CACpD,IAAIG,EAAIf,EAAKc,WAAWtC,KAAKoC,GAE7B,GAAkB,GAAdG,EAAEC,UAAkBD,EAAcX,WAAaA,EAC/C,OAAOW,CACf,CAEA,OAAO,IACX,CAEA,WAAAM,CAAYrB,EAAeI,EAAmBkB,GAC1C,IAAIC,EAAKC,KAAKJ,QAAQpB,EAAMI,GAC5B,OAAOmB,EAAKC,KAAKlB,KAAKiB,EAAID,QAAiBG,CAC/C,CAEH,KAAAC,CAAM1B,GACL,OAAOvB,MAAMkD,KAAK3B,EAAK4B,WACxB,CAEG,IAAAtB,CAAKN,EAAeI,GAChB,IAAK,IAAIQ,EAAI,EAAGC,EAAIb,EAAK4B,WAAW5D,OAAQ4C,EAAIC,EAAGD,IAAK,CACpD,IAAIvC,EAAI2B,EAAK4B,WAAWpD,KAAKoC,GAE7B,GAAIvC,EAAE+B,WAAaA,EACf,OAAO/B,EAAEwD,KACjB,CAEA,OAAO,IACX,CAEA,OAAAC,CAAQC,EAAeC,EAAkBC,EAAuB,MAC5D,IAAI/C,EAAMsC,KAAKlB,KAAKyB,EAAMC,GAC1B,OAAO9C,EAAMU,SAASV,GAAO+C,CACjC,CAEH,OAAAC,CAAQH,EAAeC,EAAkBC,EAAuB,MACzD,IAAI/C,EAAMsC,KAAKlB,KAAKyB,EAAMC,GAC1B,OAAO9C,EAAMU,SAASV,EAAK,IAAM+C,CACrC,CAEA,SAAAE,CAAUJ,EAAeC,EAAkBC,EAAuB,MAC9D,IAAI/C,EAAMsC,KAAKlB,KAAKyB,EAAMC,GAC1B,OAAO9C,EAAMkD,WAAWlD,GAAO+C,CACnC,CAEA,QAAAI,CAASN,EAAeC,EAAkBC,EAAwB,MAC9D,gBDvCuBK,EAAWL,GAAe,GACrD,OAAQK,GACJ,IAAK,IAEL,IAAK,KAEL,IAAK,OAAQ,OAAO,EAHpB,IAAK,IAEL,IAAK,MAEL,IAAK,QAAS,OAAO,EACrB,QAAS,OAAOL,EAExB,CC6BeM,CAAef,KAAKlB,KAAKyB,EAAMC,GAAWC,EACrD,CAEA,UAAAzB,CAAWuB,EAAeC,EAAkBtC,EAAyBN,GACjE,OAAOK,EAAc+B,KAAKlB,KAAKyB,EAAMC,GAAWtC,EACpD,EAGJ,MAAM8C,EAAkB,IAAI/B,QC9FfgC,EAKT,WAAAC,CAAsBC,EAAiCpF,GAAjCiE,KAAAmB,SAAAA,EAAiCnB,KAAAjE,KAAAA,CACvD,CAEA,UAAMqF,GACJpB,KAAKqB,WAAarB,KAAKmB,SAASG,kBAAkBtB,KAAKjE,MAEvD,MAAMwF,QAAgBvB,KAAKmB,SAASC,KAAKpB,KAAKjE,MACxCyF,EAASxB,KAAKmB,SAASM,iBAAiBF,GAE1CvB,KAAKmB,SAASO,QAAQC,aACtB3B,KAAK4B,aAAeJ,GAGxBxB,KAAK6B,SAASL,EAAOM,kBACvB,CAEA,IAAAC,GDAE,IAA6BvD,ECC3BwB,KAAKmB,SAASa,OAAOhC,KAAKjE,MDDCyC,ECCwBwB,KAAK4B,cDArD,IAAIK,eAAgBC,kBAAkB1D,ICC7C,CAEU,QAAAqD,CAASM,GACnB,EC5BJ,MAAMC,EAAmB,CACrBC,aAAc,UACdC,UAAW,OACXC,YAAa,SACbC,gBAAiB,cAgBf,SAAUC,EAAWN,EAAezD,GACtC,OAAOA,EAAIQ,SAASiD,GAAMO,IAAI3C,GAG5B,SAAoBvB,EAAeE,GACrC,IAAIS,EAA0B,CAC1BwD,KAAMjE,EAAII,KAAKN,EAAM,QACrBoE,cAAe,IAGnB,IAAK,IAAI7C,KAAMrB,EAAIQ,SAASV,GACxB,OAAQuB,EAAGnB,WACP,IAAK,SACDO,EAAO0D,OAASnE,EAAII,KAAKiB,EAAI,OAC7B,MAEJ,IAAK,UACDZ,EAAO2D,QAAUpE,EAAII,KAAKiB,EAAI,OAC9B,MAEJ,IAAK,eACL,IAAK,YACL,IAAK,cACL,IAAK,kBACDZ,EAAOyD,cAAcjD,KAAKoD,EAAkBhD,EAAIrB,IAK5D,OAAOS,CACX,CA7BwC6D,CAAUjD,EAAIrB,GACtD,CA8BM,SAAUqE,EAAkBvE,EAAeE,GAC7C,MAAO,CACHuE,GAAIvE,EAAII,KAAKN,EAAM,MACnBhB,IAAKkB,EAAII,KAAKN,EAAM,WACpB0E,KAAMd,EAAiB5D,EAAKI,WAEpC,CCzDM,MAAOuE,UAAsBlC,EAG/B,QAAAY,CAASM,GACLnC,KAAKoD,MAAQX,EAAWN,EAAMnC,KAAKmB,SAASkC,UAChD,QCESC,EAGT,WAAApC,CAAoBqC,EAAoB7B,GAApB1B,KAAAuD,KAAAA,EAAoBvD,KAAA0B,QAAAA,EAFxC1B,KAAAqD,UAAuB,IAAIpE,CAG3B,CAEA,GAAAuE,CAAIzH,GACA,MAAM0H,EAuCd,SAAuB1H,GACnB,OAAOA,EAAK2H,WAAW,KAAO3H,EAAK4H,OAAO,GAAK5H,CACnD,CAzCkB6H,CAAc7H,GACxB,OAAOiE,KAAKuD,KAAKM,MAAMJ,IAAMzD,KAAKuD,KAAKM,MAAMJ,EAAEK,QAAQ,MAAO,MAClE,CAEA,MAAA9B,CAAOjG,EAAcgI,GACjB/D,KAAKuD,KAAKS,KAAKjI,EAAMgI,EACzB,CAEA,iBAAa3C,CAAK6C,EAAmBvC,GACjC,MAAMwC,QAAYC,EAAMC,UAAUH,GACxC,OAAO,IAAIX,EAAeY,EAAKxC,EAC7B,CAEA,IAAAK,CAAKmB,EAAY,QACb,OAAOlD,KAAKuD,KAAKc,cAAc,CAAEnB,QACrC,CAEA,IAAA9B,CAAKrF,EAAcmH,EAAyB,UACxC,OAAOlD,KAAKwD,IAAIzH,IAAOuI,MAAMpB,IAASqB,QAAQC,QAAQ,KAC1D,CAEA,uBAAMlD,CAAkBvF,EAAe,MACnC,IAAI0I,EAAW,cAEf,GAAY,MAAR1I,EAAc,CACd,MAAO2I,EAAGC,GAAM7I,EAAUC,GAC1B0I,EAAW,GAAGC,UAAUC,QAC5B,CAEA,MAAMC,QAAY5E,KAAKoB,KAAKqD,GAClC,OAAOG,GPf0BzC,EOeDnC,KAAKyB,iBAAiBmD,GAAK9C,mBPfXpD,EOe8BsB,KAAKqD,WPdtEnE,SAASiD,GAAMO,IAAImC,IAAC,CAC3B5B,GAAIvE,EAAII,KAAK+F,EAAG,MAChB3B,KAAMxE,EAAII,KAAK+F,EAAG,QAClBzH,OAAQsB,EAAII,KAAK+F,EAAG,UACpBC,WAAYpG,EAAII,KAAK+F,EAAG,kBOUkE,KPf5F,IAA6B1C,EAAezD,COgB9C,CAGA,gBAAA+C,CAAiBmD,GACb,gBJlDuBG,EAAmBC,GAA8B,GAmBhF,IAAuBC,EAlBfD,IACAD,EAAYA,EAAUjB,QAAQ,aAAc,KAEhDiB,EAgB8B,SADXE,EAfOF,GAgBdG,WAAW,GAAgBD,EAAK/I,UAAU,GAAK+I,EAd3D,MAAM9F,GAAS,IAAIgG,WAAYC,gBAAgBL,EAAW,mBACpDM,GAQiBC,EARanG,EAS7BmG,EAAIC,qBAAqB,eAAe,IAAIC,aADvD,IAA2BF,EANvB,GAAID,EACA,MAAM,IAAII,MAAMJ,GAEpB,OAAOlG,CACX,CIqCeuG,CAAed,EAAK5E,KAAK0B,QAAQsD,mBAC5C,EChDE,MAAOW,UAAqB1E,EAG9B,WAAAC,CAAY0E,EAAqB7J,EAAc8J,GAC3CC,MAAMF,EAAK7J,GACXiE,KAAK+F,gBAAkBF,CAC3B,CAIA,QAAAhE,CAASM,GACLnC,KAAKgG,KAAOhG,KAAK+F,gBAAgBE,kBAAkB9D,EACvD,ECEE,SAAU+D,EAAY1H,EAAeE,GACvC,MAAO,CACHwE,KAAMxE,EAAII,KAAKN,EAAM,OACrBK,MAAOH,EAAII,KAAKN,EAAM,SACtB2H,KAAMzH,EAAIM,WAAWR,EAAM,KAAMZ,GACjCwI,OAAQ1H,EAAIM,WAAWR,EAAM,QAASZ,GACtCyI,MAAO3H,EAAImC,SAASrC,EAAM,SAC1B8H,OAAQ5H,EAAImC,SAASrC,EAAM,UAEnC,CAEM,SAAU+H,EAAa/H,EAAeE,GACxC,IAAIS,EAAkB,CAAA,EAEtB,IAAK,IAAI0F,KAAKnG,EAAIQ,SAASV,GACvB,OAAQqG,EAAEjG,WACN,IAAK,OAAQO,EAAOqH,KAAON,EAAYrB,EAAGnG,GAAM,MAChD,IAAK,MAAOS,EAAOsH,IAAMP,EAAYrB,EAAGnG,GAAM,MAC9C,IAAK,QAASS,EAAOuH,MAAQR,EAAYrB,EAAGnG,GAAM,MAClD,IAAK,SAAUS,EAAOwH,OAAST,EAAYrB,EAAGnG,GAItD,OAAOS,CACX,CCDA,IAAYyH,EC1CAC,WDmEIC,EAAuBtI,EAAeE,EAAiBsC,GACnE,IAAI+F,EAA6B,CAAA,EAEjC,IAAK,IAAIlC,KAAKnG,EAAIQ,SAASV,GACvB,OAAQqG,EAAEjG,WACN,IAAK,OACDmI,EAAQC,SAAW,CACfC,MAAOvI,EAAIM,WAAW6F,EAAG,KACzBqC,OAAQxI,EAAIM,WAAW6F,EAAG,KAC1BsC,YAAazI,EAAII,KAAK+F,EAAG,WAE7B,MAEJ,IAAK,OACDkC,EAAQ7D,KAAOxE,EAAII,KAAK+F,EAAG,OAC3B,MAEJ,IAAK,QACDkC,EAAQK,YAAc,CAClBZ,KAAM9H,EAAIM,WAAW6F,EAAG,QACxB6B,MAAOhI,EAAIM,WAAW6F,EAAG,SACzB4B,IAAK/H,EAAIM,WAAW6F,EAAG,OACvB8B,OAAQjI,EAAIM,WAAW6F,EAAG,UAC1BwC,OAAQ3I,EAAIM,WAAW6F,EAAG,UAC1ByC,OAAQ5I,EAAIM,WAAW6F,EAAG,UAC1B0C,OAAQ7I,EAAIM,WAAW6F,EAAG,WAE9B,MAEJ,IAAK,OACDkC,EAAQS,QAAUC,EAAa5C,EAAGnG,GAClC,MAEJ,IAAK,mBACAqI,EAAQW,aAAeX,EAAQW,WAAa,KAAK/H,KAAKgI,EAA2B9C,EAAGnG,IACrF,MAEJ,IAAK,mBACAqI,EAAQa,aAAeb,EAAQa,WAAa,KAAKjI,KAAKgI,EAA2B9C,EAAGnG,IACrF,MAEJ,IAAK,UACDqI,EAAQc,UAAYnJ,EAAImC,SAASgE,EAAG,OAAO,GAC3C,MAEJ,IAAK,YACDkC,EAAQe,YAAcvB,EAAa1B,EAAGnG,GACtC,MAEJ,IAAK,YACDqI,EAAQgB,WAAaC,EAAgBnD,EAAGnG,GAKpD,OAAOqI,CACX,CAEA,SAASU,EAAajJ,EAAeE,GACjC,MAAO,CACHuJ,gBAAiBvJ,EAAI4B,QAAQ9B,EAAM,OACnC0J,MAAOxJ,EAAIM,WAAWR,EAAM,SAC5B2J,UAAWzJ,EAAImC,SAASrC,EAAM,OAC9B4J,WAAY1J,EAAImC,SAASrC,EAAM,cAAc,GAC7CgJ,QAAS9I,EAAIQ,SAASV,EAAM,OACvBkE,IAAImC,IAAC,CACFoC,MAAOvI,EAAIM,WAAW6F,EAAG,KACzBqD,MAAOxJ,EAAIM,WAAW6F,EAAG,YAGzC,CAEA,SAASmD,EAAgBxJ,EAAeE,GACpC,MAAO,CACH2J,QAAS3J,EAAII,KAAKN,EAAM,WACxB8J,UAAW5J,EAAII,KAAKN,EAAM,aAC1B+J,OAAQ7J,EAAII,KAAKN,EAAM,OACvBgK,MAAO9J,EAAI4B,QAAQ9B,EAAM,SAEjC,CAEA,SAASmJ,EAA2BnJ,EAAeE,GAC/C,MAAO,CACHuE,GAAIvE,EAAII,KAAKN,EAAM,MACnB0E,KAAMxE,EAAII,KAAKN,EAAM,QAE7B,CE3IM,SAAUiK,EAAmBjK,EAAeE,GAC9C,IAAIS,EAAwB,CAAA,EAE5B,IAAI,IAAIY,KAAMrB,EAAIQ,SAASV,GACvBkK,EAAiB3I,EAAIZ,EAAQT,GAGjC,OAAOS,CACX,UAEgBuJ,EAAiBlK,EAAeC,EAAsBC,GAClE,QAAIH,EAAoBC,EAAMC,EAAOC,EAIzC,CCUM,SAAUiK,EAAyBnK,EAAeE,GACpD,IAAIS,EAA8B,CAAA,EAElC,IAAI,IAAIY,KAAMrB,EAAIQ,SAASV,GACvBoK,EAAuB7I,EAAIZ,EAAQT,GAGvC,OAAOS,CACX,UAEgByJ,EAAuBpK,EAAeC,EAA4BC,GAC9E,GAAIF,EAAKG,cAAgBhB,EACrB,OAAO,EAEX,GAAGY,EAAoBC,EAAMC,EAAOC,GAChC,OAAO,EAEX,OAAQF,EAAKI,WACT,IAAK,OACDH,EAAMoK,KAoDZ,SAAoBrK,EAAeE,GACrC,OAAOA,EAAIQ,SAASV,EAAM,OACrBkE,IAAImC,IAAC,CACFiE,SAAUpK,EAAIM,WAAW6F,EAAG,OAC5BkE,OAAQrK,EAAII,KAAK+F,EAAG,UACpBmE,MAAOtK,EAAII,KAAK+F,EAAG,SAE/B,CA3DyBoE,CAAUzK,EAAME,GAC7B,MAEJ,IAAK,SACDD,EAAMyK,aAAepC,EAAuBtI,EAAME,GAClD,MAEJ,IAAK,QACDD,EAAM0K,UAqDZ,SAAyB3K,EAAeE,GAC1C,IAAIS,EAA6B,CAAA,EAEjC,IAAK,IAAI0F,KAAKnG,EAAIQ,SAASV,GACvB,OAAQqG,EAAEjG,WACN,IAAK,QACDO,EAAO8D,GAAKvE,EAAII,KAAK+F,EAAG,OACxB,MAEJ,IAAK,OACD1F,EAAOiK,MAAQ1K,EAAI4B,QAAQuE,EAAG,OAK1C,OAAO1F,CACX,CArE8BkK,CAAe7K,EAAME,GACvC,MAEJ,IAAK,UAED,OADAD,EAAM6K,YC5DZ,SAA2B9K,EAAeE,GAC5C,MAAO,CACH6K,OAAQ7K,EAAIM,WAAWR,EAAM,UAC7BgL,MAAO9K,EAAIM,WAAWR,EAAM,SAC5BiL,KAAM/K,EAAI4B,QAAQ9B,EAAM,QACxBkL,SAAUhL,EAAII,KAAKN,EAAM,YAEjC,CDqDgCmL,CAAiBnL,EAAME,IACpC,EAGX,IAAK,gBAED,OADAD,EAAMmL,cAAgBlL,EAAII,KAAKN,EAAM,QAC9B,EAGX,IAAK,YACDC,EAAMoL,UAAYnL,EAAImC,SAASrC,EAAM,OAAO,GAC5C,MAEJ,IAAK,WACDC,EAAMqL,SAAWpL,EAAImC,SAASrC,EAAM,OAAO,GAC3C,MAEJ,IAAK,kBACDC,EAAMsL,gBAAkBrL,EAAImC,SAASrC,EAAM,OAAO,GAClD,MAEJ,IAAK,aACDC,EAAMuL,aAAetL,EAAI4B,QAAQ9B,EAAM,OACvC,MAEJ,IAAK,SACDC,EAAMwL,UAAYvL,EAAII,KAAKN,EAAM,OACjC,MAEJ,IAAK,MACDC,EAAMyL,SAAWzB,EAAmBjK,EAAME,GAC1C,MAEJ,QACI,OAAO,EAGf,OAAO,CACX,CEjCM,SAAU2K,EAAe7K,EAAeE,GAC1C,IAAIS,EAAoB,CACpB8D,GAAIvE,EAAII,KAAKN,EAAM,SACnB2L,UAAW,IAGf,IAAK,IAAItF,KAAKnG,EAAIQ,SAASV,GACvB,OAAQqG,EAAEjG,WACN,IAAK,gBACDO,EAAOiL,WAAa1L,EAAII,KAAK+F,EAAG,OAChC,MACJ,IAAK,cACD1F,EAAOgL,UAAUxK,KAAK0K,EAA6BxF,EAAGnG,IAKlE,OAAOS,CACX,CAEM,SAAUmL,EAAuB9L,EAAeE,GAClD,IAAIS,EAA4B,CAC5B8D,GAAIvE,EAAII,KAAKN,EAAM,iBACnB+L,OAAQ,IAGZ,IAAK,IAAI1F,KAAKnG,EAAIQ,SAASV,GACvB,OAAQqG,EAAEjG,WACN,IAAK,OACDO,EAAOwD,KAAOjE,EAAII,KAAK+F,EAAG,OAC1B,MACJ,IAAK,iBACD1F,EAAOqL,eAAiB9L,EAAII,KAAK+F,EAAG,OACpC,MACJ,IAAK,eACD1F,EAAOsL,mBAAqB/L,EAAII,KAAK+F,EAAG,OACxC,MACJ,IAAK,YACD1F,EAAOuL,UAAYhM,EAAII,KAAK+F,EAAG,OAC/B,MACJ,IAAK,MACD1F,EAAOoL,OAAO5K,KAAKgL,EAAoB9F,EAAGnG,IAKtD,OAAOS,CACX,CAEM,SAAUwL,EAAoBnM,EAAeE,GAC/C,IAAIS,EAAyB,CACzBiK,MAAO1K,EAAI4B,QAAQ9B,EAAM,SAG7B,IAAK,IAAIqG,KAAKnG,EAAIQ,SAASV,GACvB,OAAQqG,EAAEjG,WACN,IAAK,QACDO,EAAOqJ,MAAQ9J,EAAII,KAAK+F,EAAG,OAC3B,MACJ,IAAK,aACD1F,EAAOyL,QAAUlM,EAAI4B,QAAQuE,EAAG,OAChC,MACJ,IAAK,SACD1F,EAAOoJ,OAAS7J,EAAII,KAAK+F,EAAG,OAC5B,MACJ,IAAK,UACD1F,EAAO0L,KAAOnM,EAAII,KAAK+F,EAAG,OAC1B,MACJ,IAAK,QACD1F,EAAO2L,cAAgBpM,EAAII,KAAK+F,EAAG,OACnC,MACJ,IAAK,iBACD1F,EAAO4L,gBAAkBrM,EAAII,KAAK+F,EAAG,OACrC,MACJ,IAAK,SACD1F,EAAO6L,eAAiBtM,EAAII,KAAK+F,EAAG,OACpC,MACJ,IAAK,MACD1F,EAAO8L,eAAiBtC,EAAyB9D,EAAGnG,GACpD,MACJ,IAAK,MACDS,EAAO+K,SAAWzB,EAAmB5D,EAAGnG,GAKpD,OAAOS,CACX,CAEM,SAAUkL,EAA6B7L,EAAeE,GACxD,IAAIS,EAAiC,CACjCiK,MAAO1K,EAAI4B,QAAQ9B,EAAM,SAG7B,IAAK,IAAIqG,KAAKnG,EAAIQ,SAASV,GACvB,OAAQqG,EAAEjG,WACN,IAAK,gBACDO,EAAOqJ,MAAQ9J,EAAI4B,QAAQuE,EAAG,OAC9B,MACJ,IAAK,MACD1F,EAAO+L,eAAiBP,EAAoB9F,EAAGnG,GAK3D,OAAOS,CACX,CAEM,SAAUgM,EAA4B3M,EAAeE,GAEvD,IAAI0M,EAAO1M,EAAIkB,QAAQpB,EAAM,QACzB6M,EAAQD,GAAQ1M,EAAIkB,QAAQwL,EAAM,SAClCE,EAAYD,GAAS3M,EAAIkB,QAAQyL,EAAO,aAE5C,OAAOC,EAAY,CACfrI,GAAIvE,EAAII,KAAKN,EAAM,kBACnB+M,YAAa7M,EAAII,KAAKwM,EAAW,MACjCtC,MAAOtK,EAAII,KAAKuM,EAAO,UACvB,IACR,ELxJA,SAAYzE,GACRA,EAAA,WAAA,aACAA,EAAA,SAAA,WACAA,EAAA,WAAA,aACAA,EAAA,SAAA,WACAA,EAAA,QAAA,SACH,CAND,CAAYA,IAAAA,EAAW,CAAA,IMpCjB,MAAO4E,UAAsBvK,EAG/B,WAAAC,CAAY0E,EAAqB7J,EAAc8J,GAC3CC,MAAMF,EAAK7J,GACXiE,KAAK+F,gBAAkBF,CAC3B,CAQA,QAAAhE,CAASM,GACLsJ,OAAOC,OAAO1L,KD8BhB,SAA6BxB,EAAeE,GAC9C,IAAIS,EAAkC,CAClCwM,WAAY,GACZC,mBAAoB,GACpBC,eAAgB,IAGpB,IAAK,IAAIhH,KAAKnG,EAAIQ,SAASV,GACvB,OAAQqG,EAAEjG,WACN,IAAK,MACDO,EAAOwM,WAAWhM,KAAK0J,EAAexE,EAAGnG,IACzC,MACJ,IAAK,cACDS,EAAOyM,mBAAmBjM,KAAK2K,EAAuBzF,EAAGnG,IACzD,MACJ,IAAK,eACDS,EAAO0M,eAAelM,KAAKwL,EAA4BtG,EAAGnG,IAKtE,OAAOS,CACX,CCpD4B2M,CAAmB3J,EAAMnC,KAAKmB,SAASkC,YAC3DrD,KAAK+L,cAAgB/L,KAAK+F,gBAAgBiG,mBAAmB7J,EACjE,EClBE,MAAO8J,UAAmBhL,EAK5B,WAAAC,CAAY0E,EAAqB7J,EAAc8J,GAC3CC,MAAMF,EAAK7J,GACXiE,KAAK+F,gBAAkBF,CAC3B,CAEA,QAAAhE,CAASM,GACLnC,KAAKkM,OAASlM,KAAK+F,gBAAgBoG,gBAAgBhK,EACvD,GNjBJ,SAAY0E,GACRA,EAAA,SAAA,WACAA,EAAA,UAAA,YACAA,EAAA,IAAA,MACAA,EAAA,MAAA,QACAA,EAAA,cAAA,gBACAA,EAAA,MAAA,QACAA,EAAA,IAAA,MACAA,EAAA,KAAA,OACAA,EAAA,UAAA,YACAA,EAAA,SAAA,WACAA,EAAA,QAAA,UACAA,EAAA,MAAA,QACAA,EAAA,KAAA,OACAA,EAAA,IAAA,MACAA,EAAA,OAAA,SACAA,EAAA,cAAA,gBACAA,EAAA,YAAA,cACAA,EAAA,OAAA,SACAA,EAAA,OAAA,SACAA,EAAA,kBAAA,oBACHA,EAAA,iBAAA,mBACGA,EAAA,SAAA,WACAA,EAAA,QAAA,UACAA,EAAA,YAAA,cACAA,EAAA,aAAA,eACAA,EAAA,YAAA,cACHA,EAAA,WAAA,aACAA,EAAA,QAAA,UACAA,EAAA,iBAAA,mBACAA,EAAA,YAAA,cACAA,EAAA,YAAA,cACAA,EAAA,gBAAA,kBACAA,EAAA,aAAA,eACAA,EAAA,eAAA,iBACAA,EAAA,WAAA,aACAA,EAAA,QAAA,UACAA,EAAA,UAAA,YACAA,EAAA,eAAA,iBACAA,EAAA,aAAA,eACAA,EAAA,eAAA,iBACAA,EAAA,eAAA,iBACAA,EAAA,iBAAA,mBACAA,EAAA,QAAA,UACAA,EAAA,aAAA,eACAA,EAAA,OAAA,SACAA,EAAA,iBAAA,mBACAA,EAAA,SAAA,WACAA,EAAA,cAAA,gBACAA,EAAA,UAAA,YACAA,EAAA,aAAA,eACAA,EAAA,OAAA,SACAA,EAAA,OAAA,SACAA,EAAA,aAAA,eACAA,EAAA,WAAA,aACAA,EAAA,SAAA,WACAA,EAAA,QAAA,UACAA,EAAA,YAAA,cACAA,EAAA,QAAA,UACAA,EAAA,iBAAA,mBACAA,EAAA,kBAAA,oBACAA,EAAA,gBAAA,kBACGA,EAAA,SAAA,UACH,CA/DD,CAAYA,IAAAA,EAAO,CAAA,UA6EGuF,EAAtB,WAAAlL,GAEIlB,KAAAqM,SAA8B,GAC9BrM,KAAAsM,SAAoC,CAAA,CAOxC,EOrFM,MAAOC,UAAkBH,EAA/B,WAAAlL,uBACIlB,KAAAkD,KAAgB2D,EAAQ2F,MAC5B,EAEM,MAAOC,UAAkBL,EAA/B,WAAAlL,uBACIlB,KAAAkD,KAAgB2D,EAAQ6F,MAC5B,ECFM,MAAgBC,UAAwE1L,EAK1F,WAAAC,CAAY0E,EAAqB7J,EAAc8J,GAC3CC,MAAMF,EAAK7J,GACXiE,KAAK+F,gBAAkBF,CAC3B,CAEA,QAAAhE,CAASM,GACLnC,KAAK4M,YAAc5M,KAAK6M,oBACxB7M,KAAK4M,YAAYP,SAAWrM,KAAK+F,gBAAgB+G,kBAAkB3K,EACvE,EAKE,MAAO4K,UAAmBJ,EAClB,iBAAAE,GACN,OAAO,IAAIN,CACf,EAGE,MAAOS,UAAmBL,EAClB,iBAAAE,GACN,OAAO,IAAIJ,CACf,ECsBJ,SAASQ,EAAe5M,GACpB,QAAqB,IAAVA,EAEX,OAAOjC,SAASiC,EACpB,CCxDM,MAAO6M,UAA0BjM,EAGnC,QAAAY,CAASM,GACLnC,KAAKvB,MDQP,SAA6B0D,EAAekB,GAC9C,MAAMlE,EAAmC,CAAA,EAIzC,IAAK,IAAIY,KAAMsD,EAAUnE,SAASiD,GAC9B,OAAQpC,EAAGnB,WACP,IAAK,WACDO,EAAOgO,SAAWpN,EAAGyF,YACrB,MACJ,IAAK,QACDrG,EAAOiO,MAAQH,EAAelN,EAAGyF,aACjC,MACJ,IAAK,QACDrG,EAAOkO,MAAQJ,EAAelN,EAAGyF,aACjC,MACJ,IAAK,aACDrG,EAAOmO,WAAaL,EAAelN,EAAGyF,aACtC,MACJ,IAAK,cACDrG,EAAOoO,YAAcxN,EAAGyF,YACxB,MACJ,IAAK,QACDrG,EAAOqO,MAAQP,EAAelN,EAAGyF,aACjC,MACJ,IAAK,aACDrG,EAAOsO,WAAaR,EAAelN,EAAGyF,aACtC,MACJ,IAAK,UACDrG,EAAOuO,QAAU3N,EAAGyF,YACpB,MACJ,IAAK,aACDrG,EAAOwO,WAAa5N,EAAGyF,YAKnC,OAAOrG,CACX,CC9CqByO,CAAmBzL,EAAMnC,KAAKmB,SAASkC,UACxD,ECLE,MAAOwK,WAAsB5M,EAG/B,QAAAY,CAASM,GACLnC,KAAKvB,MCMP,SAAyB0D,EAAekB,GAC1C,MAAMlE,EAA+B,CAAA,EAErC,IAAK,IAAIY,KAAMsD,EAAUnE,SAASiD,GAC9B,OAAQpC,EAAGnB,WACP,IAAK,QAASO,EAAO2O,MAAQ/N,EAAGyF,YAAa,MAC7C,IAAK,cAAerG,EAAO4O,YAAchO,EAAGyF,YAAa,MACzD,IAAK,UAAWrG,EAAO6O,QAAUjO,EAAGyF,YAAa,MACjD,IAAK,UAAWrG,EAAO8O,QAAUlO,EAAGyF,YAAa,MACjD,IAAK,WAAYrG,EAAO+O,SAAWnO,EAAGyF,YAAa,MACnD,IAAK,WAAYrG,EAAOgP,SAAWpO,EAAGyF,YAAa,MACnD,IAAK,iBAAkBrG,EAAOiP,eAAiBrO,EAAGyF,YAAa,MAC/D,IAAK,WAAYzF,EAAGyF,cAAgBrG,EAAOkP,SAAWjQ,SAAS2B,EAAGyF,cAI1E,OAAOrG,CACX,CDvBqBmP,CAAenM,EAAMnC,KAAKmB,SAASkC,UACpD,QENSkL,IAoCP,SAAUC,GAAiBhQ,EAAeE,GAC5C,IAAIS,EAAyB,CACzBwD,KAAMjE,EAAII,KAAKN,EAAM,QACrBiQ,OAAQ,CAAA,GAGZ,IAAK,IAAI1O,KAAMrB,EAAIQ,SAASV,GAAO,CAC/B,IAAIkQ,EAAUhQ,EAAIkB,QAAQG,EAAI,WAC1B4O,EAASjQ,EAAIkB,QAAQG,EAAI,UAEzB2O,EACAvP,EAAOsP,OAAO1O,EAAGnB,WAAaF,EAAII,KAAK4P,EAAS,OAE3CC,IACLxP,EAAOsP,OAAO1O,EAAGnB,WAAaF,EAAII,KAAK6P,EAAQ,WAEvD,CAEA,OAAOxP,CACX,CAEM,SAAUyP,GAAgBpQ,EAAeE,GAC3C,IAAIS,EAAwB,CACxBwD,KAAMjE,EAAII,KAAKN,EAAM,SAGzB,IAAK,IAAIuB,KAAMrB,EAAIQ,SAASV,GACxB,OAAQuB,EAAGnB,WACP,IAAK,YAAaO,EAAO0P,UAAYC,GAAc/O,EAAIrB,GAAM,MAC7D,IAAK,YAAaS,EAAO4P,UAAYD,GAAc/O,EAAIrB,GAI/D,OAAOS,CACX,CAEM,SAAU2P,GAActQ,EAAeE,GACzC,MAAO,CACHsQ,cAAetQ,EAAImB,YAAYrB,EAAM,QAAS,YAC9CyQ,WAAYvQ,EAAImB,YAAYrB,EAAM,KAAM,YACxC0Q,WAAYxQ,EAAImB,YAAYrB,EAAM,KAAM,YAEhD,CC5EM,MAAO2Q,WAAkBlO,EAG3B,WAAAC,CAAY0E,EAAqB7J,GAC7B+J,MAAMF,EAAK7J,EACf,CAEA,QAAA8F,CAASM,GACLnC,KAAKoP,MDYP,SAAqB5Q,EAAeE,GACtC,IAAIS,EAAS,IAAIoP,GACbc,EAAgB3Q,EAAIkB,QAAQpB,EAAM,iBAEtC,IAAK,IAAIuB,KAAMrB,EAAIQ,SAASmQ,GACxB,OAAOtP,EAAGnB,WACN,IAAK,YAAaO,EAAOmQ,YAAcd,GAAiBzO,EAAIrB,GAAM,MAClE,IAAK,aAAcS,EAAOoQ,WAAaX,GAAgB7O,EAAIrB,GAInE,OAAOS,CACX,CCxBqBqQ,CAAWrN,EAAMnC,KAAKmB,SAASkC,UAChD,QCXkBoM,IAMhB,MAAOC,WAAoBD,GAAjC,WAAAvO,uBACClB,KAAAkD,KAAO2D,EAAQ8I,QAChB,EAEM,MAAOC,WAAmBH,GAAhC,WAAAvO,uBACClB,KAAAkD,KAAO2D,EAAQgJ,OAChB,ECTM,MAAOC,WAA4C7O,EAKrD,WAAAC,CAAY0E,EAAqB7J,EAAc8J,GAC3CC,MAAMF,EAAK7J,GACXiE,KAAK+F,gBAAkBF,CAC3B,EAGE,MAAOkK,WAAsBD,GAC/B,WAAA5O,CAAY0E,EAAqB7J,EAAc8J,GAC3CC,MAAMF,EAAK7J,EAAM8J,EACrB,CAEA,QAAAhE,CAASM,GACLnC,KAAKgQ,MAAQhQ,KAAK+F,gBAAgBkK,WAAW9N,EAAM,WAAYuN,GACnE,EAGE,MAAOQ,WAAqBJ,GAC9B,WAAA5O,CAAY0E,EAAqB7J,EAAc8J,GAC3CC,MAAMF,EAAK7J,EAAM8J,EACrB,CAEA,QAAAhE,CAASM,GACLnC,KAAKgQ,MAAQhQ,KAAK+F,gBAAgBkK,WAAW9N,EAAM,UAAWyN,GAClE,ECFE,SAAUO,GAAoB3R,EAAeE,GAClD,IAAIS,EAAS,CACZiR,eAAgB,IAGjB,IAAK,IAAIrQ,KAAMrB,EAAIQ,SAASV,GAC3B,OAAOuB,EAAGnB,WACT,IAAK,SACJO,EAAOkR,gBAAkB3R,EAAII,KAAKiB,EAAI,OACtC,MAED,IAAK,WACL,IAAK,UACJZ,EAAOiR,eAAezQ,KAAKjB,EAAII,KAAKiB,EAAI,OAKxC,OAAOZ,CACX,CC9CM,MAAOmR,WAAqBrP,EAGjC,WAAAC,CAAY0E,EAAqB7J,GAChC+J,MAAMF,EAAK7J,EACZ,CAEA,QAAA8F,CAASM,GACRnC,KAAKuQ,SDID,SAAwB/R,EAAeE,GAC5C,IAAIS,EAAS,CAAA,EAEb,IAAK,IAAIY,KAAMrB,EAAIQ,SAASV,GAC3B,OAAOuB,EAAGnB,WACT,IAAK,iBAAkBO,EAAOqR,eAAiB9R,EAAIM,WAAWe,EAAI,OAAQ,MAC1E,IAAK,aAAcZ,EAAOsR,cAAgBN,GAAoBpQ,EAAIrB,GAAM,MACxE,IAAK,YAAaS,EAAOuR,aAAeP,GAAoBpQ,EAAIrB,GAAM,MACtE,IAAK,kBAAmBS,EAAOwR,gBAAkBjS,EAAImC,SAASd,EAAI,OAIjE,OAAOZ,CACX,CCjBkByR,CAAczO,EAAMnC,KAAKmB,SAASkC,UACnD,ECVK,MAAOwN,WAAwB5P,EAGjC,QAAAY,CAASM,GACLnC,KAAKvB,MCEP,SAA2B0D,EAAezD,GAC/C,OAAOA,EAAIQ,SAASiD,EAAM,YAAYO,IAAImC,IACzC,MAAMiM,EAAajM,EAAEiM,WAErB,MAAO,CACNC,SAAUrS,EAAII,KAAK+F,EAAG,SACtBlC,KAAMjE,EAAII,KAAK+F,EAAG,QAClB3B,KAAM4N,EAAWE,SACjB3Q,MAAOyQ,EAAWtL,cAGrB,CDbqByL,CAAiB9O,EAAMnC,KAAKmB,SAASkC,UACtD,EEFE,MAAO6N,WAAqBjQ,EAM9B,WAAAC,CAAY0E,EAAqB7J,EAAc8J,GAC3CC,MAAMF,EAAK7J,GACXiE,KAAK+F,gBAAkBF,CAC3B,CAEH,QAAAhE,CAASM,GACFnC,KAAKmR,SAAWnR,KAAK+F,gBAAgBqL,cAAcjP,GACzDnC,KAAKqR,WAAa5U,EAAMuD,KAAKmR,SAAUrU,GAAKA,EAAEmG,GAC5C,ECVE,MAAOqO,WAA6BrQ,EAItC,WAAAC,CAAY0E,EAAqB7J,GAC7B+J,MAAMF,EAAK7J,GAJfiE,KAAAmR,SAA+B,EAK/B,CAEH,QAAAtP,CAASM,GACF,MAAMzD,EAAMsB,KAAKmB,SAASkC,UAE1B,IAAK,IAAItD,KAAMrB,EAAIQ,SAASiD,EAAM,aAC9BnC,KAAKmR,SAASxR,KAAK,CACf4R,OAAQ7S,EAAII,KAAKiB,EAAI,UACrByR,aAAc9S,EAAII,KAAKiB,EAAI,gBAC3B0R,KAAM/S,EAAImC,SAASd,EAAI,UAIrCC,KAAKqR,WAAa5U,EAAMuD,KAAKmR,SAAUrU,GAAKA,EAAEyU,OAC5C,ECTJ,MAAMG,GAAe,CACpB,CAAExO,KAAMxH,EAAkBiW,eAAgBvU,OAAQ,qBAClD,CAAE8F,KAAMxH,EAAkBkW,mBAAoBxU,OAAQ,oBACtD,CAAE8F,KAAMxH,EAAkBmW,eAAgBzU,OAAQ,qBAClD,CAAE8F,KAAMxH,EAAkBoW,iBAAkB1U,OAAQ,8BAGxC2U,GAAb,WAAA7Q,GAMClB,KAAAgS,MAAgB,GAChBhS,KAAAiS,SAAiC,CAAA,CAwKlC,CAzJC,iBAAa7Q,CAAK8Q,EAAkBrM,EAAwBnE,GAC3D,IAAIyQ,EAAI,IAAIJ,GAYZ,OAVAI,EAAEC,SAAW1Q,EACbyQ,EAAEE,QAAUxM,EACZsM,EAAEhR,eAAiBmC,EAAelC,KAAK8Q,EAAMxQ,GAC7CyQ,EAAE9Q,WAAa8Q,EAAEhR,SAASG,0BAEpBiD,QAAQ+N,IAAIZ,GAAahP,IAAI6P,IAClC,MAAMC,EAAIL,EAAE9Q,KAAKoR,KAAK3V,GAAKA,EAAEoG,OAASqP,EAAIrP,OAASqP,EACnD,OAAOJ,EAAEO,qBAAqBF,EAAEpV,OAAQoV,EAAEtP,SAGpCiP,CACR,CAEA,IAAApQ,CAAKmB,EAAO,QACX,OAAOlD,KAAKmB,SAASY,KAAKmB,EAC3B,CAEQ,0BAAMwP,CAAqB3W,EAAcmH,GAChD,GAAIlD,KAAKiS,SAASlW,GACjB,OAAOiE,KAAKiS,SAASlW,GAEtB,IAAKiE,KAAKmB,SAASqC,IAAIzH,GACtB,OAAO,KAER,IAAI4W,EAAa,KAEjB,OAAQzP,GACP,KAAKxH,EAAkBiW,eACtB3R,KAAK4S,aAAeD,EAAO,IAAIhN,EAAa3F,KAAKmB,SAAUpF,EAAMiE,KAAKqS,SACtE,MAED,KAAK3W,EAAkBmX,UACtB7S,KAAK8S,cAAgBH,EAAO,IAAIxP,EAAcnD,KAAKmB,SAAUpF,GAC7D,MAED,KAAKL,EAAkBqX,UACtB/S,KAAKgT,cAAgBL,EAAO,IAAInH,EAAcxL,KAAKmB,SAAUpF,EAAMiE,KAAKqS,SACxE,MAED,KAAK3W,EAAkBuX,OACtBjT,KAAKkT,WAAaP,EAAO,IAAI1G,EAAWjM,KAAKmB,SAAUpF,EAAMiE,KAAKqS,SAClE,MAED,KAAK3W,EAAkByX,MACtBnT,KAAKoT,UAAYT,EAAO,IAAIxD,GAAUnP,KAAKmB,SAAUpF,GACrD,MAED,KAAKL,EAAkB2X,UACtBrT,KAAKsT,cAAgBX,EAAO,IAAI5C,GAAc/P,KAAKmB,SAAUpF,EAAMiE,KAAKqS,SACxE,MAED,KAAK3W,EAAkB6X,SACtBvT,KAAKwT,aAAeb,EAAO,IAAIzC,GAAalQ,KAAKmB,SAAUpF,EAAMiE,KAAKqS,SACtE,MAED,KAAK3W,EAAkBgR,OACtBiG,EAAO,IAAI3F,EAAWhN,KAAKmB,SAAUpF,EAAMiE,KAAKqS,SAChD,MAED,KAAK3W,EAAkB8Q,OACtBmG,EAAO,IAAI5F,EAAW/M,KAAKmB,SAAUpF,EAAMiE,KAAKqS,SAChD,MAED,KAAK3W,EAAkBmW,eACtB7R,KAAKyT,cAAgBd,EAAO,IAAI9E,GAAc7N,KAAKmB,SAAUpF,GAC7D,MAED,KAAKL,EAAkBkW,mBACtB5R,KAAK0T,kBAAoBf,EAAO,IAAIzF,EAAkBlN,KAAKmB,SAAUpF,GACrE,MAED,KAAKL,EAAkBoW,iBACtBa,EAAO,IAAI9B,GAAgB7Q,KAAKmB,SAAUpF,GAC1C,MAED,KAAKL,EAAkBiY,SACtB3T,KAAK4T,aAAejB,EAAO,IAAIrC,GAAatQ,KAAKmB,SAAUpF,GAC3D,MAED,KAAKL,EAAkBmY,SACtB7T,KAAK8T,aAAenB,EAAO,IAAIzB,GAAalR,KAAKmB,SAAUpF,EAAMiE,KAAKqS,SACtE,MAED,KAAK3W,EAAkBqY,iBACtB/T,KAAKgU,qBAAuBrB,EAAO,IAAIrB,GAAqBtR,KAAKmB,SAAUpF,GAI7E,GAAY,MAAR4W,EACH,OAAOpO,QAAQC,QAAQ,MAOxB,GALAxE,KAAKiS,SAASlW,GAAQ4W,EACtB3S,KAAKgS,MAAMrS,KAAKgT,SAEVA,EAAKvR,OAEPuR,EAAKtR,MAAM7E,OAAS,EAAG,CAC1B,MAAOyX,GAAUnY,EAAU6W,EAAK5W,YAC1BwI,QAAQ+N,IAAIK,EAAKtR,KAAKqB,IAAI6P,GAAOvS,KAAK0S,qBAAqBvW,EAAYoW,EAAInV,OAAQ6W,GAAS1B,EAAIrP,OACvG,CAEA,OAAOyP,CACR,CAEA,uBAAMuB,CAAkBjR,EAAY0P,GACnC,MAAM7V,QAAUkD,KAAKmU,aAAaxB,GAAQ3S,KAAK4S,aAAc3P,EAAI,QACjE,OAAOjD,KAAKoU,UAAUtX,EACvB,CAEA,wBAAMuX,CAAmBpR,GACxB,MAAMnG,QAAUkD,KAAKmU,aAAanU,KAAKgT,cAAe/P,EAAI,QAC1D,OAAOjD,KAAKoU,UAAUtX,EACvB,CAEA,cAAMwX,CAASrR,EAAYzF,GAC1B,MAAMV,QAAUkD,KAAKmU,aAAanU,KAAK8S,cAAe7P,EAAI,cAC1D,OAAOnG,EAAIkD,KAAKoU,UAAU,IAAIG,KAAK,CAACC,GAAY1X,EAAGU,MAAUV,CAC9D,CAEA,kBAAM2X,CAAaxR,EAAY0P,GAC9B,aAAa3S,KAAKmU,aAAaxB,GAAQ3S,KAAK4S,aAAc3P,EAAI,SAC/D,CAEQ,SAAAmR,CAAUlC,GACjB,OAAKA,EAGDlS,KAAKoS,SAASsC,ajCnJd,SAAuBxC,GAC5B,OAAO,IAAI3N,QAAQ,CAACC,EAASmQ,KAC5B,MAAMC,EAAS,IAAIC,WACnBD,EAAOE,UAAY,IAAMtQ,EAAQoQ,EAAOzV,QACxCyV,EAAOG,QAAU,IAAMJ,IACvBC,EAAOI,cAAc9C,IAEvB,CiC6IU+C,CAAa/C,GAGd5V,IAAI4Y,gBAAgBhD,GANnB,IAOT,CAEA,eAAAiD,CAAgBlS,EAAYmS,EAAiB,MAC5C,IAAI7C,GAAO6C,EAAS/T,MAAQrB,KAAKqB,MAAMoR,KAAKD,GAAKA,EAAEvP,IAAMA,GACzD,MAAMgR,EAASmB,EAAWtZ,EAAUsZ,EAASrZ,MAAM,GAAK,GACxD,OAAOwW,EAAMvS,KAAKiS,SAAS9V,EAAYoW,EAAInV,OAAQ6W,IAAW,IAC/D,CAEA,WAAAoB,CAAY1C,EAAY1P,GACvB,MAAMsP,EAAMI,EAAKtR,KAAKoR,KAAK3V,GAAKA,EAAEmG,IAAMA,IACjCgR,GAAUnY,EAAU6W,EAAK5W,MAChC,OAAOwW,EAAMpW,EAAYoW,EAAInV,OAAQ6W,GAAU,IAChD,CAEQ,YAAAE,CAAaxB,EAAY1P,EAAYqS,GAC5C,MAAMvZ,EAAOiE,KAAKqV,YAAY1C,EAAM1P,GACpC,OAAOlH,EAAOiE,KAAKmB,SAASC,KAAKrF,EAAMuZ,GAAc/Q,QAAQC,QAAQ,KACtE,EAGK,SAAUgQ,GAAYvP,EAAkBsQ,GAC7C,MACMC,EAAUD,EAAQzR,QAAQ,SAAU,IACpC2R,EAAU,IAAIxY,MAFR,IAIZ,IAAK,IAAImC,EAAI,EAAGA,EAJJ,GAIaA,IACxBqW,EALW,GAKGrW,EAAI,GAAKhB,SAASoX,EAAQtZ,UAAc,EAAJkD,EAAW,EAAJA,EAAQ,GAAI,IAEtE,IAAK,IAAIA,EAAI,EAAGA,EAAI,GAAIA,IACvB6F,EAAK7F,GAAK6F,EAAK7F,GAAKqW,EAAQrW,EARjB,IAWZ,OAAO6F,CACR,CC5MM,SAAUyQ,GAAmBlX,EAAeE,GAC9C,MAAO,CACHwE,KAAM2D,EAAQ8O,cACd1S,GAAIvE,EAAII,KAAKN,EAAM,MACnBmE,KAAMjE,EAAII,KAAKN,EAAM,QACrBoX,SAAUlX,EAAI4B,QAAQ9B,EAAM,YAC5BqX,QAASnX,EAAI4B,QAAQ9B,EAAM,WAEnC,CAEM,SAAUsX,GAAiBtX,EAAeE,GAC5C,MAAO,CACHwE,KAAM2D,EAAQkP,YACd9S,GAAIvE,EAAII,KAAKN,EAAM,MAE3B,CCvBM,MAAOwX,WAAmB5J,EAAhC,WAAAlL,uBACClB,KAAAkD,KAAgB2D,EAAQmP,WAGxBhW,KAAAE,MAAgC,CAAA,CAMjC,EAEM,SAAU+V,GAAgBzX,EAAeqH,GAC9C,IAAI1G,EAAS,IAAI6W,GAEjB,OAAQxX,EAAKI,WACZ,IAAK,OACJO,EAAO+W,QAAU,OACjBzK,OAAOC,OAAOvM,EAAOe,MAAO,CAAE+G,MAAO,OAAQC,OAAQ,SACrD,MAED,IAAK,OACJ/H,EAAO+W,QAAU,UACjBzK,OAAOC,OAAOvM,EAAOe,MAAO,CAAEiW,GAAI,MAAOC,GAAI,MAAOC,GAAI,MAAOC,GAAI,QACnE,MAED,IAAK,OACJnX,EAAO+W,QAAU,OACjB,MAED,IAAK,QACJ/W,EAAO+W,QAAU,IACjB,MAED,IAAK,UACJ/W,EAAO+W,QAAU,gBACjBzK,OAAOC,OAAOvM,EAAOe,MAAO,CAAE+G,MAAO,OAAQC,OAAQ,SACrD,MAED,QACC,OAAO,KAGT,IAAK,MAAMqP,KAAM7X,EAAIwB,MAAM1B,GAC1B,OAAO+X,EAAG3X,WACT,IAAK,QACJO,EAAOqX,aAAeD,EAAGlW,MACzB,MAED,IAAK,YACJlB,EAAOe,MAAMuW,KAAOF,EAAGlW,MACvB,MAED,IAAK,OACJ,MAAOqW,EAAIC,GAAMC,GAAWL,EAAGlW,OAC/BoL,OAAOC,OAAOvM,EAAOe,MAAO,CAAEwW,KAAIC,OAClC,MAED,IAAK,KACJ,MAAOE,EAAIC,GAAMF,GAAWL,EAAGlW,OAC/BoL,OAAOC,OAAOvM,EAAOe,MAAO,CAAE2W,KAAIC,OAKrC,IAAK,MAAM/W,KAAMrB,EAAIQ,SAASV,GAC7B,OAAQuB,EAAGnB,WACV,IAAK,SACJ6M,OAAOC,OAAOvM,EAAOe,MAAO6W,GAAYhX,IACxC,MAED,IAAK,OACJ0L,OAAOC,OAAOvM,EAAOe,MAAO8W,MAC5B,MAED,IAAK,YACJ7X,EAAO+W,QAAU,QACjBzK,OAAOC,OAAOvM,EAAOe,MAAO,CAAE+G,MAAO,OAAQC,OAAQ,SACrD/H,EAAO8X,UAAY,CAClBhU,GAAIvE,EAAII,KAAKiB,EAAI,MACjB+N,MAAOpP,EAAII,KAAKiB,EAAI,UAErB,MAED,IAAK,cACJZ,EAAOkN,SAAS1M,QAAQkG,EAAOiH,kBAAkB/M,IACjD,MAED,QACC,MAAMmX,EAAQjB,GAAgBlW,EAAI8F,GAClCqR,GAAS/X,EAAOkN,SAAS1M,KAAKuX,GAKjC,OAAO/X,CACR,CAEA,SAAS4X,GAAYhX,GACpB,MAAO,CACNoX,OAAUzY,EAAII,KAAKiB,EAAI,SACvB,eAAgBrB,EAAIM,WAAWe,EAAI,SAAUnC,IAAoB,MAEnE,CAEA,SAASoZ,GAAUjX,GAClB,MAAO,CAAA,CAGR,CAEA,SAAS6W,GAAWlZ,GACnB,OAAOA,EAAI0Z,MAAM,IAClB,CCrHM,MAAOC,WAAmBjL,EAAhC,WAAAlL,uBACClB,KAAAkD,KAAO2D,EAAQyQ,OAKhB,EAEM,MAAOC,WAA6BnL,EAGzC,WAAAlL,CAAmB+B,GAClB6C,QADkB9F,KAAAiD,GAAAA,EAFnBjD,KAAAkD,KAAO2D,EAAQ2Q,gBAIf,EAGK,MAAOC,WAA8BrL,EAG1C,WAAAlL,CAAmB+B,GAClB6C,QADkB9F,KAAAiD,GAAAA,EAFnBjD,KAAAkD,KAAO2D,EAAQ6Q,iBAIf,EAEK,MAAOC,WAA4BvL,EAGxC,WAAAlL,CAAmB+B,GAClB6C,QADkB9F,KAAAiD,GAAAA,EAFnBjD,KAAAkD,KAAO2D,EAAQ+Q,eAIf,ECXM,IAAIC,GACL,UADKA,GAEH,QAFGA,GAGG,QAHHA,GAIC,cAGZ,MAAMC,GAAyB,GAEzBC,GAAY,CACjBC,MAASnR,EAAQoR,QACjBC,UAAarR,EAAQsR,iBACrBzT,EAAKmC,EAAQuR,YACbC,KAAQxR,EAAQyR,YAChBC,MAAS1R,EAAQ2R,gBACjBra,IAAO0I,EAAQ4R,aACfC,IAAO7R,EAAQ8R,eACfC,IAAO/R,EAAQgS,WACfC,IAAOjS,EAAQkS,UACflU,EAAKgC,EAAQmS,QACbC,KAAQpS,EAAQqS,eAChBC,KAAQtS,EAAQuS,aAChBC,KAAQxS,EAAQyS,eAChBC,IAAO1S,EAAQ2S,iBACfC,IAAO5S,EAAQ6S,eACfvH,EAAKtL,EAAQ8S,aACbC,KAAQ/S,EAAQgT,QAChBC,MAASjT,EAAQkT,iBACjBC,IAAOnT,EAAQoT,SACfC,OAAUrT,EAAQsT,cAClBC,EAAKvT,EAAQwT,UACbC,GAAMzT,EAAQ0T,aACdC,IAAO3T,EAAQ4T,OACfC,IAAO7T,EAAQ8T,OACfC,SAAY/T,EAAQgU,oBAQRC,GAGZ,WAAA5Z,CAAYQ,GACX1B,KAAK0B,QAAU,CACdqZ,aAAa,EACbC,OAAO,KACJtZ,EAEL,CAEA,UAAAuO,CAAWzO,EAAiByZ,EAAkBC,GAC7C,IAAI/b,EAAS,GAEb,IAAK,IAAIY,KAAMrB,EAAIQ,SAASsC,EAAQyZ,GAAW,CAC9C,MAAM1a,EAAO,IAAI2a,EACjB3a,EAAK0C,GAAKvE,EAAII,KAAKiB,EAAI,MACvBQ,EAAK4a,SAAWzc,EAAII,KAAKiB,EAAI,QAC7BQ,EAAK8L,SAAWrM,KAAK8M,kBAAkB/M,GACvCZ,EAAOQ,KAAKY,EACb,CAEA,OAAOpB,CACR,CAEA,aAAAiS,CAAc5P,GACb,IAAIrC,EAAS,GAEb,IAAK,IAAIY,KAAMrB,EAAIQ,SAASsC,EAAQ,WAAY,CAC/C,MAAMxE,EAAO,IAAIqa,GACjBra,EAAKiG,GAAKvE,EAAII,KAAKiB,EAAI,MACvB/C,EAAKoe,OAAS1c,EAAII,KAAKiB,EAAI,UAC3B/C,EAAKqe,SAAW3c,EAAII,KAAKiB,EAAI,YAC7B/C,EAAKse,KAAO5c,EAAII,KAAKiB,EAAI,QACzB/C,EAAKqP,SAAWrM,KAAK8M,kBAAkB/M,GACvCZ,EAAOQ,KAAK3C,EACb,CAEA,OAAOmC,CACR,CAEA,iBAAA8G,CAAkBzE,GACjB,IAAI+Z,EAAQ7c,EAAIkB,QAAQ4B,EAAQ,QAC5Bga,EAAa9c,EAAIkB,QAAQ4B,EAAQ,cACjCia,EAAS/c,EAAIkB,QAAQ2b,EAAO,UAEhC,MAAO,CACNrY,KAAM2D,EAAQ6U,SACdrP,SAAUrM,KAAK8M,kBAAkByO,GACjC9c,MAAOgd,EAAS3U,EAAuB2U,EAAQ/c,GAAO,CAAA,EACtD4N,SAAUkP,EAAaxb,KAAK2b,gBAAgBH,GAAc,CAAA,EAE5D,CAEA,eAAAG,CAAgBnd,GACf,IAAIW,EAAS,CAAA,EACTN,EAAQ+c,GAAQC,UAAUrd,EAAM,SAMpC,OAJIK,IACHM,EAAO,oBAAsBN,GAGvBM,CACR,CAEA,iBAAA2N,CAAkBlN,GACjB,IAAIyM,EAAW,GAEf,IAAK,MAAM7N,KAAQE,EAAIQ,SAASU,GAC/B,OAAQpB,EAAKI,WACZ,IAAK,IACJyN,EAAS1M,KAAKK,KAAK8b,eAAetd,IAClC,MAED,IAAK,WACJ6N,EAAS1M,KAAKK,KAAK+b,cAAcvd,IACjC,MAED,IAAK,MACJ6N,EAAS1M,KAAKK,KAAKgc,WAAWxd,IAC9B,MAED,IAAK,MACJ6N,EAAS1M,QAAQK,KAAKic,SAASzd,EAAMqG,GAAK7E,KAAK8M,kBAAkBjI,KAKpE,OAAOwH,CACR,CAEA,eAAAF,CAAgB+P,GACf,IAAI/c,EAAS,GAEb,IAAK,MAAMgd,KAAKzd,EAAIQ,SAASgd,GAC5B,OAAQC,EAAEvd,WACT,IAAK,QACJO,EAAOQ,KAAKK,KAAKoc,WAAWD,IAC5B,MAED,IAAK,cACJhd,EAAOQ,KAAKK,KAAKqc,mBAAmBF,IAKvC,OAAOhd,CACR,CAEA,kBAAAkd,CAAmB9b,GAClB,IAAIpB,EAAoB,CACvB8D,GAAI,KACJN,KAAM,KACNvF,OAAQ,KACRkf,QAAS,KACTpQ,OAAQ,IAGT,IAAK,MAAM3M,KAAKb,EAAIQ,SAASqB,GAC5B,OAAQhB,EAAEX,WACT,IAAK,aACJ,IAAI2d,EAAM7d,EAAIkB,QAAQL,EAAG,OAErBgd,GACHpd,EAAO+M,OAAOvM,KAAK,CAClBvC,OAAQ,OACRof,OAAQxc,KAAKyc,uBAAuBF,EAAK,CAAA,KAE3C,MAED,IAAK,aACJ,IAAIG,EAAMhe,EAAIkB,QAAQL,EAAG,OAErBmd,GACHvd,EAAO+M,OAAOvM,KAAK,CAClBvC,OAAQ,IACRof,OAAQxc,KAAKyc,uBAAuBC,EAAK,CAAA,KAM9C,OAAOvd,CACR,CAEA,UAAAid,CAAW7b,GACV,IAAIpB,EAAoB,CACvB8D,GAAIvE,EAAII,KAAKyB,EAAM,WACnBoc,UAAWje,EAAImC,SAASN,EAAM,WAC9BoC,KAAM,KACNvF,OAAQ,KACRkf,QAAS,KACTpQ,OAAQ,GACR0Q,OAAQ,MAGT,OAAQle,EAAII,KAAKyB,EAAM,SACtB,IAAK,YAAapB,EAAO/B,OAAS,IAAK,MACvC,IAAK,QAAS+B,EAAO/B,OAAS,QAAS,MACvC,IAAK,YAAa+B,EAAO/B,OAAS,OAInC,IAAK,MAAM+e,KAAKzd,EAAIQ,SAASqB,GAC5B,OAAQ4b,EAAEvd,WACT,IAAK,UACJO,EAAOmd,QAAU5d,EAAII,KAAKqd,EAAG,OAC7B,MAED,IAAK,OACJhd,EAAOwD,KAAOjE,EAAII,KAAKqd,EAAG,OAC1B,MAED,IAAK,OACJhd,EAAOyd,OAASle,EAAII,KAAKqd,EAAG,OAC5B,MAED,IAAK,OACJhd,EAAO0d,KAAOne,EAAII,KAAKqd,EAAG,OAC1B,MAED,IAAK,UACJhd,EAAO2d,QAAUpe,EAAII,KAAKqd,EAAG,OAAO/E,MAAM,KAC1C,MAED,IAAK,MACJjY,EAAO+M,OAAOvM,KAAK,CAClBvC,OAAQ,IACRof,OAAQxc,KAAKyc,uBAAuBN,EAAG,CAAA,KAExChd,EAAO8L,eAAiBtC,EAAyBwT,EAAGzd,GACpD,MAED,IAAK,MACJS,EAAO+M,OAAOvM,KAAK,CAClBvC,OAAQ,OACRof,OAAQxc,KAAKyc,uBAAuBN,EAAG,CAAA,KAExChd,EAAO+K,SAAWzB,EAAmB0T,EAAGzd,GACxC,MAED,IAAK,QACL,IAAK,OACJS,EAAO+M,OAAOvM,KAAK,CAClBvC,OAAQ,KACRof,OAAQxc,KAAKyc,uBAAuBN,EAAG,CAAA,KAExC,MAED,IAAK,aACJ,IAAK,IAAIY,KAAK/c,KAAKgd,gBAAgBb,GAClChd,EAAO+M,OAAOvM,KAAKod,GACpB,MAED,IAAK,OACL,IAAK,UACL,IAAK,SACL,IAAK,aACL,IAAK,iBACL,IAAK,eACL,IAAK,aAEJ,MAED,QACC/c,KAAK0B,QAAQsZ,OAASiC,QAAQC,KAAK,gCAAgCf,EAAEvd,aAIxE,OAAOO,CACR,CAEA,eAAA6d,CAAgBzc,GACf,IAAIpB,EAAS,GAGTge,EAAW,GACXC,EAAc,GAElB,OAJW1e,EAAII,KAAKyB,EAAM,SAKzB,IAAK,WACJ6c,EAAc,aACdD,EAAW,kBACX,MACD,IAAK,UACJC,EAAc,YACdD,EAAW,iBACX,MACD,IAAK,WACJC,EAAc,aACdD,EAAW,eACX,MACD,IAAK,UACJC,EAAc,YACdD,EAAW,cACX,MACD,IAAK,YACJC,EAAc,kBACdD,EAAW,aACX,MACD,IAAK,YACJC,EAAc,kBACdD,EAAW,cACX,MACD,IAAK,YACJC,EAAc,kBACdD,EAAW,aACX,MACD,IAAK,YACJC,EAAc,kBACdD,EAAW,cACX,MACD,QAAS,MAAO,GAGjB,IAAK,MAAMhB,KAAKzd,EAAIQ,SAASqB,GAC5B,OAAQ4b,EAAEvd,WACT,IAAK,MACJO,EAAOQ,KAAK,CACXvC,OAAQ,GAAG+f,MACXE,IAAKD,EACLZ,OAAQxc,KAAKyc,uBAAuBN,EAAG,CAAA,KAExC,MAED,IAAK,MACJhd,EAAOQ,KAAK,CACXvC,OAAQ,GAAG+f,SACXE,IAAKD,EACLZ,OAAQxc,KAAKyc,uBAAuBN,EAAG,CAAA,KAExC,MAED,IAAK,QACL,IAAK,OACJhd,EAAOQ,KAAK,CACXvC,OAAQ+f,EACRE,IAAKD,EACLZ,OAAQxc,KAAKyc,uBAAuBN,EAAG,CAAA,KAM3C,OAAOhd,CACR,CAEA,kBAAA6M,CAAmBzL,GAClB,IAAIpB,EAAS,GACTme,EAAU,CAAA,EACVC,EAAU,GAEd,IAAK,MAAMpB,KAAKzd,EAAIQ,SAASqB,GAC5B,OAAQ4b,EAAEvd,WACT,IAAK,cACJoB,KAAKsK,uBAAuB6R,EAAGoB,GAC7BC,QAAQ1gB,GAAKqC,EAAOQ,KAAK7C,IAC3B,MAED,IAAK,eACJygB,EAAQ5d,KAAKK,KAAKyd,wBAAwBtB,IAC1C,MAED,IAAK,MACJ,IAAIuB,EAAQhf,EAAII,KAAKqd,EAAG,SACpBwB,EAAgBjf,EAAImB,YAAYsc,EAAG,gBAAiB,OACxDmB,EAAQK,GAAiBD,EAO5B,OAFAve,EAAOqe,QAAQ1gB,GAAKA,EAAEmG,GAAKqa,EAAQxgB,EAAEmG,KAE9B9D,CACR,CAEA,uBAAAse,CAAwBjf,GACvB,IAAI4M,EAAO1M,EAAIkB,QAAQpB,EAAM,QACzB6M,EAAQD,GAAQ1M,EAAIkB,QAAQwL,EAAM,SAClCE,EAAYD,GAAS3M,EAAIkB,QAAQyL,EAAO,aAE5C,OAAOC,EAAY,CAClBrI,GAAIvE,EAAI4B,QAAQ9B,EAAM,kBACtBof,IAAKlf,EAAII,KAAKwM,EAAW,MACzBtC,MAAOtK,EAAII,KAAKuM,EAAO,UACpB,IACL,CAEA,sBAAAf,CAAuB/J,EAAegd,GACrC,IAAIpe,EAAS,GACT8D,EAAKvE,EAAII,KAAKyB,EAAM,iBAExB,IAAK,MAAM4b,KAAKzd,EAAIQ,SAASqB,GAC5B,GACM,QADE4b,EAAEvd,UAERO,EAAOQ,KAAKK,KAAK2K,oBAAoB1H,EAAIkZ,EAAGoB,IAK/C,OAAOpe,CACR,CAEA,mBAAAwL,CAAoB1H,EAAY1C,EAAegd,GAC9C,IAAIpe,EAAwB,CAC3B8D,GAAIA,EACJmG,MAAO1K,EAAI4B,QAAQC,EAAM,QACzBiI,MAAO,EACPqV,gBAAY5d,EACZ6d,OAAQ,CAAA,EACRC,OAAQ,CAAA,EACRC,KAAM,OAGP,IAAK,MAAM7B,KAAKzd,EAAIQ,SAASqB,GAC5B,OAAQ4b,EAAEvd,WACT,IAAK,QACJO,EAAOqJ,MAAQ9J,EAAI4B,QAAQ6b,EAAG,OAC9B,MAED,IAAK,MACJnc,KAAKyc,uBAAuBN,EAAGhd,EAAO2e,QACtC,MAED,IAAK,MACJ9d,KAAKyc,uBAAuBN,EAAGhd,EAAO4e,QACtC,MAED,IAAK,iBACJ,IAAIE,EAAWvf,EAAI4B,QAAQ6b,EAAG,OAC9Bhd,EAAO+e,OAASX,EAAQ9K,KAAK3V,GAAKA,GAAGmG,IAAMgb,GAC3C,MAED,IAAK,UACJ9e,EAAOgf,UAAYzf,EAAII,KAAKqd,EAAG,OAC/B,MAED,IAAK,SACJhd,EAAO0e,WAAanf,EAAII,KAAKqd,EAAG,OAChC,MAED,IAAK,SACJhd,EAAOoJ,OAAS7J,EAAII,KAAKqd,EAAG,OAC5B,MAED,IAAK,OACJhd,EAAO6e,KAAOtf,EAAII,KAAKqd,EAAG,OAK7B,OAAOhd,CACR,CAEA,QAAA8c,CAAS1b,EAAesF,GACvB,MAAMuY,EAAa1f,EAAIkB,QAAQW,EAAM,cACrC,OAAO6d,EAAavY,EAAOuY,GAAc,EAC1C,CAEA,aAAAC,CAAc9d,EAAe+d,GAC5B,MAAuB,CACtBpb,KAAM2D,EAAQ0X,SACdlS,SAAUiS,EAAa/d,IAAO8L,UAAY,GAE5C,CAEA,YAAAmS,CAAaje,EAAe+d,GAC3B,MAAuB,CACtBpb,KAAM2D,EAAQ4X,QACdpS,SAAUiS,EAAa/d,IAAO8L,UAAY,GAE5C,CAEA,aAAA0P,CAAcxb,GACb,MAAO,CAAE2C,KAAM2D,EAAQ6X,SAAUrS,SAAU,GAAIpJ,GAAIvE,EAAII,KAAKyB,EAAM,MACnE,CAEA,cAAAub,CAAevb,GACd,IAAIpB,EAAuB,CAAE+D,KAAM2D,EAAQ8X,UAAWtS,SAAU,IAEhE,IAAK,IAAItM,KAAMrB,EAAIQ,SAASqB,GAC3B,OAAQR,EAAGnB,WACV,IAAK,MACJoB,KAAK2I,yBAAyB5I,EAAIZ,GAClC,MAED,IAAK,IACJA,EAAOkN,SAAS1M,KAAKK,KAAK4e,SAAS7e,EAAIZ,IACvC,MAED,IAAK,YACJA,EAAOkN,SAAS1M,KAAKK,KAAK6e,eAAe9e,EAAIZ,IAC7C,MAED,IAAK,WACJA,EAAOkN,SAAS1M,KAAKK,KAAK8e,cAAc/e,EAAIZ,IAC5C,MAED,IAAK,gBACJA,EAAOkN,SAAS1M,KAAK+V,GAAmB3V,EAAIrB,IAC5C,MAED,IAAK,cACJS,EAAOkN,SAAS1M,KAAKmW,GAAiB/V,EAAIrB,IAC1C,MAED,IAAK,oBACJS,EAAOkN,SAAS1M,KAAK,IAAI8X,GAAqB/Y,EAAII,KAAKiB,EAAI,QAC3D,MAED,IAAK,kBACJZ,EAAOkN,SAAS1M,KAAK,IAAIgY,GAAmBjZ,EAAII,KAAKiB,EAAI,QACzD,MAED,IAAK,QACL,IAAK,YACJZ,EAAOkN,SAAS1M,KAAKK,KAAK+e,iBAAiBhf,IAC3C,MAED,IAAK,MACJZ,EAAOkN,SAAS1M,QAAQK,KAAKic,SAASlc,EAAI8E,GAAK7E,KAAK8b,eAAejX,GAAGwH,WACtE,MAED,IAAK,MACJlN,EAAOkN,SAAS1M,KAAKK,KAAKqe,cAActe,EAAI8E,GAAK7E,KAAK8b,eAAejX,KACrE,MAED,IAAK,MACJ1F,EAAOkN,SAAS1M,KAAKK,KAAKwe,aAAaze,EAAI8E,GAAK7E,KAAK8b,eAAejX,KAKvE,OAAO1F,CACR,CAEA,wBAAAwJ,CAAyBnK,EAAewgB,GACvChf,KAAKyc,uBAAuBje,EAAMwgB,EAAU1S,SAAW,CAAA,EAAI,KAAM/M,IAChE,GAAIqJ,EAAuBrJ,EAAGyf,EAAWtgB,GACxC,OAAO,EAER,OAAQa,EAAEX,WACT,IAAK,SACJogB,EAAU/U,UAAYvL,EAAII,KAAKS,EAAG,OAClC,MAED,IAAK,WACJyf,EAAUC,UAAYzC,GAAO0C,oBAAoB3f,GACjD,MAED,IAAK,UACJS,KAAKmf,WAAW5f,EAAGyf,GACnB,MAED,IAAK,MAEJ,MAED,QACC,OAAO,EAGT,OAAO,GAET,CAEA,UAAAG,CAAW5e,EAAeye,GAGV,QAFDtgB,EAAII,KAAKyB,EAAM,aAG5Bye,EAAU1S,SAAgB,MAAI,OAChC,CAEA,cAAAuS,CAAete,EAAe6e,GAC7B,IAAIjgB,EAAqC,CAAE+D,KAAM2D,EAAQwY,UAAWD,OAAQA,EAAQ/S,SAAU,IAE9FlN,EAAOmgB,OAAS5gB,EAAII,KAAKyB,EAAM,UAC/BpB,EAAO8D,GAAKvE,EAAII,KAAKyB,EAAM,MAE3B,IAAK,MAAMhB,KAAKb,EAAIQ,SAASqB,GAC5B,GACM,MADEhB,EAAEX,UAERO,EAAOkN,SAAS1M,KAAKK,KAAK4e,SAASrf,EAAGJ,IAKzC,OAAOA,CACR,CAEA,aAAA2f,CAAcve,EAAe6e,GAC5B,IAAIjgB,EAAsB,CAAE+D,KAAM2D,EAAQ0Y,SAAUH,SAAQ/S,SAAU,IAClEmT,EAAM9gB,EAAII,KAAKyB,EAAM,OACrBX,EAAUlB,EAAII,KAAKyB,EAAM,WAEzBif,IACHrgB,EAAOqgB,IAAMA,GAEV5f,IACHT,EAAOS,QAAUA,GAElB,IAAK,MAAML,KAAKb,EAAIQ,SAASqB,GAC5B,GACM,MADEhB,EAAEX,UAERO,EAAOkN,SAAS1M,KAAKK,KAAK4e,SAASrf,EAAGJ,IAKzC,OAAOA,CACR,CAEA,QAAAyf,CAASre,EAAe6e,GACvB,IAAIjgB,EAAyB,CAAE+D,KAAM2D,EAAQ4Y,IAAKL,OAAQA,EAAQ/S,SAAU,IAE5E,IAAK,IAAI9M,KAAKb,EAAIQ,SAASqB,GAG1B,OAFAhB,EAAIS,KAAK0f,sBAAsBngB,GAEvBA,EAAEX,WACT,IAAK,IACJO,EAAOkN,SAAS1M,KAAc,CAC7BuD,KAAM2D,EAAQ8Y,KACd9U,KAAMtL,EAAEiG,cAET,MAED,IAAK,UACJrG,EAAOkN,SAAS1M,KAAc,CAC7BuD,KAAM2D,EAAQ+Y,YACd/U,KAAMtL,EAAEiG,cAET,MAED,IAAK,mBACJrG,EAAOkN,SAAS1M,KAAK,IAAI4X,GAAoB7Y,EAAII,KAAKS,EAAG,QACzD,MAED,IAAK,YACJJ,EAAOkN,SAAS1M,KAAqB,CACpCuD,KAAM2D,EAAQgZ,YACdC,YAAaphB,EAAII,KAAKS,EAAG,SACzBwgB,KAAMrhB,EAAImC,SAAStB,EAAG,QAAQ,GAC9BygB,MAAOthB,EAAImC,SAAStB,EAAG,SAAS,KAEjC,MAED,IAAK,YACJJ,EAAO8gB,UAAW,EAClB9gB,EAAOkN,SAAS1M,KAAyB,CACxCuD,KAAM2D,EAAQqZ,YACdrV,KAAMtL,EAAEiG,cAET,MAED,IAAK,UACJrG,EAAO8gB,UAAW,EAClB9gB,EAAOkN,SAAS1M,KAAmB,CAClCuD,KAAM2D,EAAQsZ,aACdC,SAAU1hB,EAAII,KAAKS,EAAG,eACtBwgB,KAAMrhB,EAAImC,SAAStB,EAAG,QAAQ,GAC9BygB,MAAOthB,EAAImC,SAAStB,EAAG,SAAS,KAEjC,MAED,IAAK,gBACJJ,EAAOkN,SAAS1M,KAAK,CAAEuD,KAAM2D,EAAQwZ,gBACrC,MAED,IAAK,KACJlhB,EAAOkN,SAAS1M,KAAe,CAC9BuD,KAAM2D,EAAQyZ,MACdC,MAAO7hB,EAAII,KAAKS,EAAG,SAAW,iBAE/B,MAED,IAAK,wBACJJ,EAAOkN,SAAS1M,KAAe,CAC9BuD,KAAM2D,EAAQyZ,MACdC,MAAO,0BAER,MAED,IAAK,MACJphB,EAAOkN,SAAS1M,KAAgB,CAC/BuD,KAAM2D,EAAQ2Z,OACdC,KAAM9kB,EAAkB+C,EAAII,KAAKS,EAAG,SACpCmhB,KAAMhiB,EAAII,KAAKS,EAAG,UAEnB,MAED,IAAK,MACJJ,EAAOkN,SAAS1M,KAAK,CAAEuD,KAAM2D,EAAQ8Z,MACrC,MAED,IAAK,oBACJxhB,EAAOkN,SAAS1M,KAAuB,CACtCuD,KAAM2D,EAAQ+Z,kBACd3d,GAAIvE,EAAII,KAAKS,EAAG,QAEjB,MAED,IAAK,mBACJJ,EAAOkN,SAAS1M,KAAuB,CACtCuD,KAAM2D,EAAQga,iBACd5d,GAAIvE,EAAII,KAAKS,EAAG,QAEjB,MAED,IAAK,UACJ,IAAI4S,EAAInS,KAAK8gB,aAAavhB,GAEtB4S,IACHhT,EAAOkN,SAAW,CAAC8F,IACpB,MAED,IAAK,OACJhT,EAAOkN,SAAS1M,KAAKK,KAAK+gB,gBAAgBxhB,IAC1C,MAED,IAAK,MACJS,KAAKyI,mBAAmBlJ,EAAGJ,GAK9B,OAAOA,CACR,CAEA,gBAAA4f,CAAiBvgB,GAChB,MAAMwiB,EAAW,GAAGxiB,EAAKI,cACnBO,EAAS,CAAE+D,KAAM6U,GAAUvZ,EAAKI,WAAYyN,SAAU,IAE5D,IAAK,MAAMtM,KAAMrB,EAAIQ,SAASV,GAAO,CAGpC,GAFkBuZ,GAAUhY,EAAGnB,WAG9BO,EAAOkN,SAAS1M,KAAKK,KAAK+e,iBAAiBhf,SACrC,GAAoB,KAAhBA,EAAGnB,UAAkB,CAC/B,IAAIqiB,EAAMjhB,KAAK4e,SAAS7e,GACxBkhB,EAAI/d,KAAO2D,EAAQqa,OACnB/hB,EAAOkN,SAAS1M,KAAKshB,EACtB,MAAWlhB,EAAGnB,WAAaoiB,IAC1B7hB,EAAOV,MAAQuB,KAAKmhB,mBAAmBphB,GAEzC,CAEA,OAAOZ,CACR,CAEA,kBAAAgiB,CAAmB3iB,GAClB,MAAMW,EAA8B,CAAA,EAEpC,IAAK,MAAMY,KAAMrB,EAAIQ,SAASV,GAC7B,OAAQuB,EAAGnB,WACV,IAAK,MAAOO,EAAOuhB,KAAOhiB,EAAII,KAAKiB,EAAI,OAAQ,MAC/C,IAAK,SAAUZ,EAAOiiB,sBAAwB1iB,EAAII,KAAKiB,EAAI,OAAQ,MACnE,IAAK,MAAOZ,EAAO2J,SAAWpK,EAAII,KAAKiB,EAAI,OAAQ,MACnD,IAAK,UAAWZ,EAAOkiB,WAAa3iB,EAAImC,SAASd,EAAI,OAAQ,MAC7D,IAAK,SAAUZ,EAAOmiB,UAAY5iB,EAAII,KAAKiB,EAAI,OAAQ,MACvD,IAAK,SAAUZ,EAAOoiB,QAAU7iB,EAAII,KAAKiB,EAAI,OAI/C,OAAOZ,CACR,CAEA,kBAAAsJ,CAAmBjK,EAAeyiB,GACjCjhB,KAAKyc,uBAAuBje,EAAMyiB,EAAI3U,SAAW,CAAA,EAAI,KAAM/M,IAC1D,OAAQA,EAAEX,WACT,IAAK,SACJqiB,EAAIhX,UAAYvL,EAAII,KAAKS,EAAG,OAC5B,MAED,IAAK,YACJ0hB,EAAIO,cAAgBhF,GAAOiF,iBAAiBliB,GAAG,GAC/C,MAED,QACC,OAAO,EAGT,OAAO,GAET,CAEA,eAAAwhB,CAAgBviB,GACf,MAAMW,EAAS,CAAE+D,KAAM2D,EAAQ6a,WAAYrV,SAAU,IAErD,IAAK,MAAMtM,KAAMrB,EAAIQ,SAASV,GAAO,CACpC,MAAM0Y,EAAQjB,GAAgBlW,EAAIC,MAClCkX,GAAS/X,EAAOkN,SAAS1M,KAAKuX,EAC/B,CAEA,OAAO/X,CACR,CAEA,qBAAAugB,CAAsBlhB,GACrB,GAAsB,oBAAlBA,EAAKI,UACR,OAAOJ,EAER,IAAImjB,EAASjjB,EAAIkB,QAAQpB,EAAM,UAE/B,GAAImjB,EAAQ,CACX,IAAIC,EAAWljB,EAAII,KAAK6iB,EAAQ,YAC5BhjB,EAAeH,EAAKqjB,mBAAmBD,GAE3C,GAAI9J,GAAuBgK,SAASnjB,GACnC,OAAOgjB,EAAO7f,iBAChB,CAEA,OAAOpD,EAAIkB,QAAQpB,EAAM,aAAasD,iBACvC,CAEA,YAAAgf,CAAavgB,GACZ,IAAK,IAAI4b,KAAKzd,EAAIQ,SAASqB,GAC1B,OAAQ4b,EAAEvd,WACT,IAAK,SACL,IAAK,SACJ,OAAOoB,KAAK+hB,oBAAoB5F,GAGpC,CAEA,mBAAA4F,CAAoBxhB,GACnB,IAAIpB,EAAyB,CAAE+D,KAAM2D,EAAQmb,QAAS3V,SAAU,GAAIC,SAAU,IAC1E2V,EAA6B,UAAlB1hB,EAAK3B,UAQpB,IAAIsjB,EAAmD,KACnDC,EAAYzjB,EAAImC,SAASN,EAAM,aACnB7B,EAAImC,SAASN,EAAM,aAEnC,IAAI6hB,EAAO,CAAEC,SAAU,OAAQC,MAAO,OAAQlc,OAAQ,KAClDmc,EAAO,CAAEF,SAAU,OAAQC,MAAO,MAAOlc,OAAQ,KAErD,IAAK,IAAI+V,KAAKzd,EAAIQ,SAASqB,GAC1B,OAAQ4b,EAAEvd,WACT,IAAK,YACAujB,IACHC,EAAKhc,OAAS1H,EAAIM,WAAWmd,EAAG,IAAKve,GACrC2kB,EAAKnc,OAAS1H,EAAIM,WAAWmd,EAAG,IAAKve,IAEtC,MAED,IAAK,SACJuB,EAAOmN,SAAgB,MAAI5N,EAAIM,WAAWmd,EAAG,KAAMve,GACnDuB,EAAOmN,SAAiB,OAAI5N,EAAIM,WAAWmd,EAAG,KAAMve,GACpD,MAED,IAAK,YACL,IAAK,YACJ,IAAKukB,EAAW,CACf,IAAIK,EAAqB,aAAfrG,EAAEvd,UAA2BwjB,EAAOG,EAC9C,IAAIE,EAAY/jB,EAAIkB,QAAQuc,EAAG,SAC3BuG,EAAahkB,EAAIkB,QAAQuc,EAAG,aAEhCqG,EAAIH,SAAW3jB,EAAII,KAAKqd,EAAG,iBAAmBqG,EAAIH,SAE9CI,IACHD,EAAIF,MAAQG,EAAUjd,aAEnBkd,IACHF,EAAIpc,OAASnI,EAAcykB,EAAWld,YAAa5H,GACrD,CACA,MAED,IAAK,mBACJskB,EAAW,mBACX,MAED,IAAK,WACJA,EAAW,WACX,MAED,IAAK,UACJ,IAAIS,EAAI3iB,KAAK4iB,aAAazG,GAEtBwG,GACHxjB,EAAOkN,SAAS1M,KAAKgjB,GA4BzB,MAvBgB,oBAAZT,GACH/iB,EAAOmN,SAAkB,QAAI,QAEzB8V,EAAKE,QACRnjB,EAAOmN,SAAS,cAAgB8V,EAAKE,MACrCnjB,EAAOmN,SAAgB,MAAI,SAGR,YAAZ4V,GACR/iB,EAAOmN,SAAkB,QAAI,QAC7BnN,EAAOmN,SAAmB,SAAI,WAC9BnN,EAAOmN,SAAgB,MAAI,MAC3BnN,EAAOmN,SAAiB,OAAI,MAExB8V,EAAKhc,SACRjH,EAAOmN,SAAe,KAAI8V,EAAKhc,QAC5Bmc,EAAKnc,SACRjH,EAAOmN,SAAc,IAAIiW,EAAKnc,UAEvB6b,GAA2B,QAAdG,EAAKE,OAAiC,SAAdF,EAAKE,QAClDnjB,EAAOmN,SAAgB,MAAI8V,EAAKE,OAG1BnjB,CACR,CAEA,YAAAyjB,CAAapkB,GACZ,IAAIqkB,EAAcnkB,EAAIkB,QAAQpB,EAAM,eAEpC,IAAK,IAAI2d,KAAKzd,EAAIQ,SAAS2jB,GAC1B,GACM,QADE1G,EAAEvd,UAER,OAAOoB,KAAK8iB,aAAa3G,GAI5B,OAAO,IACR,CAEA,YAAA2G,CAAatkB,GACZ,IAAIW,EAAoB,CAAE+D,KAAM2D,EAAQkc,MAAOnF,IAAK,GAAItR,SAAU,IAC9D0W,EAAWtkB,EAAIkB,QAAQpB,EAAM,YAC7BykB,EAAOvkB,EAAIkB,QAAQojB,EAAU,QAC7BE,EAAUxkB,EAAIkB,QAAQojB,EAAU,WAEpC7jB,EAAOye,IAAMlf,EAAII,KAAKmkB,EAAM,SAExBC,IACH/jB,EAAO+jB,QAAU,CAChBxkB,EAAI4B,QAAQ4iB,EAAS,IAAK,GAAK,IAC/BxkB,EAAI4B,QAAQ4iB,EAAS,IAAK,GAAK,IAC/BxkB,EAAI4B,QAAQ4iB,EAAS,IAAK,GAAK,IAC/BxkB,EAAI4B,QAAQ4iB,EAAS,IAAK,GAAK,MAIjC,IAAIC,EAAOzkB,EAAIkB,QAAQpB,EAAM,QACzB4kB,EAAO1kB,EAAIkB,QAAQujB,EAAM,QAI7B,GAFAhkB,EAAOmN,SAAmB,SAAI,WAE1B8W,EAGH,IAAK,IAAIjH,KAFThd,EAAOkkB,SAAW3kB,EAAI4B,QAAQ8iB,EAAM,MAAO,GAAK,IAElC1kB,EAAIQ,SAASkkB,IAC1B,OAAQjH,EAAEvd,WACT,IAAK,MACJO,EAAOmN,SAAgB,MAAI5N,EAAIM,WAAWmd,EAAG,KAAMve,GACnDuB,EAAOmN,SAAiB,OAAI5N,EAAIM,WAAWmd,EAAG,KAAMve,GACpD,MAED,IAAK,MACJuB,EAAOmN,SAAe,KAAI5N,EAAIM,WAAWmd,EAAG,IAAKve,GACjDuB,EAAOmN,SAAc,IAAI5N,EAAIM,WAAWmd,EAAG,IAAKve,GAMpD,OAAOuB,CACR,CAEA,UAAA6c,CAAWzb,GACV,IAAIpB,EAAmB,CAAE+D,KAAM2D,EAAQyc,MAAOjX,SAAU,IAExD,IAAK,MAAM9M,KAAKb,EAAIQ,SAASqB,GAC5B,OAAQhB,EAAEX,WACT,IAAK,KACJO,EAAOkN,SAAS1M,KAAKK,KAAKujB,cAAchkB,IACxC,MAED,IAAK,UACJJ,EAAOqI,QAAUxH,KAAKwjB,kBAAkBjkB,GACxC,MAED,IAAK,QACJS,KAAKyjB,qBAAqBlkB,EAAGJ,GAKhC,OAAOA,CACR,CAEA,iBAAAqkB,CAAkBjjB,GACjB,IAAIpB,EAAS,GAEb,IAAK,MAAMgd,KAAKzd,EAAIQ,SAASqB,GAC5B,GACM,YADE4b,EAAEvd,UAERO,EAAOQ,KAAK,CAAEsH,MAAOvI,EAAIM,WAAWmd,EAAG,OAK1C,OAAOhd,CACR,CAEA,oBAAAskB,CAAqBjlB,EAAeklB,GAsCnC,OArCAA,EAAMpX,SAAW,CAAA,EACjBoX,EAAMC,UAAY,CAAA,EAElB3jB,KAAKyc,uBAAuBje,EAAMklB,EAAMpX,SAAUoX,EAAMC,UAAWpkB,IAClE,OAAQA,EAAEX,WACT,IAAK,WACJ8kB,EAAMzZ,UAAYvL,EAAII,KAAKS,EAAG,OAC9B,MAED,IAAK,UACJmkB,EAAMzE,UAAYzC,GAAOoH,mBAAmBrkB,GAC5C,MAED,IAAK,SACJS,KAAK6jB,mBAAmBtkB,EAAGmkB,GAC3B,MAED,IAAK,sBACJA,EAAMI,YAAcplB,EAAI4B,QAAQf,EAAG,OACnC,MAED,IAAK,sBACJmkB,EAAMK,YAAcrlB,EAAI4B,QAAQf,EAAG,OACnC,MAGD,IAAK,SACJmkB,EAAMpX,SAAkB,QAAI,OAC5B,MAED,QACC,OAAO,EAGT,OAAO,IAGAoX,EAAMpX,SAAS,eACtB,IAAK,gBACGoX,EAAMpX,SAAS,cACtBoX,EAAMpX,SAAS,eAAiB,OAChCoX,EAAMpX,SAAS,gBAAkB,OACjC,MAED,IAAK,eACGoX,EAAMpX,SAAS,cACtBoX,EAAMpX,SAAS,eAAiB,OAGnC,CAEA,kBAAAuX,CAAmBtjB,EAAemjB,GACjC,IAAIM,EAActlB,EAAIM,WAAWuB,EAAM,eACnC0jB,EAAiBvlB,EAAIM,WAAWuB,EAAM,kBACtC2jB,EAAgBxlB,EAAIM,WAAWuB,EAAM,iBACrC4jB,EAAezlB,EAAIM,WAAWuB,EAAM,gBAExCmjB,EAAMpX,SAAgB,MAAI,OAC1BoX,EAAMpX,SAAS,iBAAmBkQ,GAAO4H,QAAQV,EAAMpX,SAAS,iBAAkB2X,GAClFP,EAAMpX,SAAS,eAAiBkQ,GAAO4H,QAAQV,EAAMpX,SAAS,eAAgB6X,GAC9ET,EAAMpX,SAAS,gBAAkBkQ,GAAO4H,QAAQV,EAAMpX,SAAS,gBAAiB4X,GAChFR,EAAMpX,SAAS,cAAgBkQ,GAAO4H,QAAQV,EAAMpX,SAAS,cAAe0X,EAC7E,CAEA,aAAAT,CAAchjB,GACb,IAAIpB,EAAsB,CAAE+D,KAAM2D,EAAQwd,IAAKhY,SAAU,IAEzD,IAAK,MAAM9M,KAAKb,EAAIQ,SAASqB,GAC5B,OAAQhB,EAAEX,WACT,IAAK,KACJO,EAAOkN,SAAS1M,KAAKK,KAAKskB,eAAe/kB,IACzC,MAED,IAAK,OACL,IAAK,UACJS,KAAKukB,wBAAwBhlB,EAAGJ,GAKnC,OAAOA,CACR,CAEA,uBAAAolB,CAAwB/lB,EAAegmB,GACtCA,EAAIlY,SAAWtM,KAAKyc,uBAAuBje,EAAM,CAAA,EAAI,KAAMe,IAC1D,OAAQA,EAAEX,WACT,IAAK,WACJ4lB,EAAIvF,UAAYzC,GAAO0C,oBAAoB3f,GAC3C,MAED,IAAK,YACJilB,EAAIC,SAAW/lB,EAAImC,SAAStB,EAAG,OAC/B,MAED,IAAK,aACJilB,EAAIE,WAAahmB,EAAI4B,QAAQf,EAAG,OAChC,MAED,IAAK,YACJilB,EAAIG,UAAYjmB,EAAI4B,QAAQf,EAAG,OAC/B,MAED,QACC,OAAO,EAGT,OAAO,GAET,CAEA,cAAA+kB,CAAe/jB,GACd,IAAIpB,EAAuB,CAAE+D,KAAM2D,EAAQ+d,KAAMvY,SAAU,IAE3D,IAAK,MAAM9M,KAAKb,EAAIQ,SAASqB,GAC5B,OAAQhB,EAAEX,WACT,IAAK,MACJO,EAAOkN,SAAS1M,KAAKK,KAAKgc,WAAWzc,IACrC,MAED,IAAK,IACJJ,EAAOkN,SAAS1M,KAAKK,KAAK8b,eAAevc,IACzC,MAED,IAAK,OACJS,KAAK6kB,yBAAyBtlB,EAAGJ,GAKpC,OAAOA,CACR,CAEA,wBAAA0lB,CAAyBrmB,EAAesmB,GACvCA,EAAKxY,SAAWtM,KAAKyc,uBAAuBje,EAAM,CAAA,EAAI,KAAMe,IAC3D,OAAQA,EAAEX,WACT,IAAK,WACJkmB,EAAKC,KAAOrmB,EAAI4B,QAAQf,EAAG,MAAO,MAClC,MAED,IAAK,SACJulB,EAAKE,cAAgBtmB,EAAII,KAAKS,EAAG,QAAU,WAC3C,MAED,IAAK,WACJulB,EAAK7F,UAAYzC,GAAO0C,oBAAoB3f,GAC5C,MAED,QACC,OAAO,EAGT,OAAO,IAGRS,KAAKilB,2BAA2BzmB,EAAMsmB,EACvC,CAEA,0BAAAG,CAA2BzmB,EAAesmB,GACzC,MAAMI,EAAe,CACpBC,KAAQ,CACPC,YAAa,cACbC,UAAW,kBAEZC,KAAQ,CACPF,YAAa,cACbC,UAAW,QAEZE,KAAQ,CACPH,YAAa,cACbC,UAAW,SAIb,IAAK,MAAM9lB,KAAKb,EAAIQ,SAASV,GAC5B,GAAoB,kBAAhBe,EAAEX,UAA+B,CACpC,MACMoK,EAAQkc,EADIxmB,EAAII,KAAKS,EAAG,SACW,CAAE6lB,YAAa,iBACxDN,EAAKxY,SAAS,gBAAkBtD,EAAMoc,YACtCN,EAAKxY,SAAoB,UAAItD,EAAMqc,SACpC,CAEF,CAEA,sBAAA5I,CAAuBje,EAAewK,EAAgC,KAAMwc,EAAqC,KAAMC,EAAsC,MAC5Jzc,EAAQA,GAAS,CAAA,EAEjB,IAAK,MAAMzJ,KAAKb,EAAIQ,SAASV,GAC5B,IAAIinB,IAAUlmB,GAGd,OAAQA,EAAEX,WACT,IAAK,KACJoK,EAAM,cAAgBwT,GAAOkJ,UAAUnmB,GACvC,MAED,IAAK,gBACJyJ,EAAM,kBAAoBwT,GAAOmJ,qBAAqBpmB,GACtD,MAED,IAAK,QACJyJ,EAAa,MAAI4S,GAAQC,UAAUtc,EAAG,MAAO,KAAMsY,IACnD,MAED,IAAK,KACJ7O,EAAM,aAAeA,EAAM,cAAgBtK,EAAIM,WAAWO,EAAG,MAAO3B,GACpE,MAED,IAAK,MACJoL,EAAM,oBAAsB4S,GAAQC,UAAUtc,EAAG,OAAQ,KAAMsY,IAC/D,MAED,IAAK,YACJ7O,EAAM,oBAAsB4S,GAAQC,UAAUtc,EAAG,MAAO,KAAMsY,IAC9D,MAED,IAAK,YAGJ,MAED,IAAK,WACJ7O,EAAMwY,cAAgB9iB,EAAIM,WAAWO,EAAG,MAAO3B,GAC/C,MAED,IAAK,MACJ,GAAIoC,KAAK0B,QAAQqZ,YAChB,MAEF,IAAK,OACJ/R,EAAa,MAAIwT,GAAOoJ,YAAYrmB,EAAG,KACvC,MAED,IAAK,WACJS,KAAK6lB,cAActmB,EAAGyJ,GACtB,MAED,IAAK,SACJA,EAAM,mBAAqBtK,EAAImC,SAAStB,EAAG,OAAO,GAAQ,eAAiB,OAC3E,MAED,IAAK,IACJyJ,EAAM,eAAiBtK,EAAImC,SAAStB,EAAG,OAAO,GAAQ,OAAS,SAC/D,MAED,IAAK,IACJyJ,EAAM,cAAgBtK,EAAImC,SAAStB,EAAG,OAAO,GAAQ,SAAW,SAChE,MAED,IAAK,OACJyJ,EAAM,kBAAoBtK,EAAImC,SAAStB,EAAG,OAAO,GAAQ,YAAc,OACvE,MAED,IAAK,YACJyJ,EAAM,gBAAkBtK,EAAImC,SAAStB,EAAG,OAAO,GAAQ,aAAe,OACtE,MAED,IAAK,IACJS,KAAK8lB,eAAevmB,EAAGyJ,GACvB,MAED,IAAK,MACL,IAAK,SACJhJ,KAAK+lB,iBAAiBxmB,EAAGyJ,GACzB,MAED,IAAK,SACJhJ,KAAKgD,UAAUzD,EAAGyJ,GAClB,MAED,IAAK,aACJhJ,KAAKgmB,sBAAsBzmB,EAAGimB,GAAcxc,GAC5C,MAED,IAAK,iBACJA,EAAM,kBAAoBwT,GAAOyJ,cAAc1mB,GAC/CyJ,EAAM,mBAAqB,WAC3B,MAED,IAAK,OACJhJ,KAAKgmB,sBAAsBzmB,EAAGyJ,GAC9B,MAED,IAAK,MACJA,EAAc,OAAIwT,GAAO0J,cAAc3mB,GACvC,MAED,IAAK,YACJS,KAAKgmB,sBAAsBzmB,EAAGyJ,GAC9B,MAED,IAAK,SACAtK,EAAImC,SAAStB,EAAG,OAAO,KAC1ByJ,EAAe,QAAI,QACpB,MAED,IAAK,OAKL,IAAK,SAGJ,MAED,IAAK,aACL,IAAK,QACJhJ,KAAKmmB,sBAAsB5mB,EAAGimB,GAAcxc,GAC5C,MAED,IAAK,YACJA,EAAM,gBAAkBwT,GAAO4J,iBAAiB7mB,GAChD,MAED,IAAK,SACJyJ,EAAM,kBAAoBwT,GAAOmJ,qBAAqBpmB,GACtD,MAED,IAAK,UACkB,OAAlBf,EAAKI,WACRoB,KAAKqmB,aAAa9mB,EAAGyJ,GACtB,MAED,IAAK,WACAtK,EAAImC,SAAStB,EAAG,SACnByJ,EAAM,iBAAmB,cAC1B,MAED,IAAK,sBACJA,EAAe,QAAItK,EAAImC,SAAStB,EAAG,OAAO,GAAQ,OAAS,OAC3D,MAED,IAAK,OACJyJ,EAAa,MAAItK,EAAII,KAAKS,EAAG,OAC7B,MAED,IAAK,MACL,IAAK,OACAb,EAAImC,SAAStB,EAAG,OAAO,KAC1ByJ,EAAiB,UAAI,OACtB,MAED,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,aACL,IAAK,oBACL,IAAK,sBACL,IAAK,sBACL,IAAK,YACL,IAAK,kBACL,IAAK,sBACL,IAAK,YACL,IAAK,WACL,IAAK,eACL,IAAK,OACL,IAAK,MACL,IAAK,UAEJ,MAED,QACKhJ,KAAK0B,QAAQsZ,OAChBiC,QAAQC,KAAK,mCAAmC1e,EAAKI,aAAaW,EAAEX,aAKxE,OAAOoK,CACR,CAEA,cAAA8c,CAAevlB,EAAeyI,GAC7B,IAAItL,EAAMgB,EAAII,KAAKyB,EAAM,OAEzB,GAAW,MAAP7C,EAAJ,CAGA,OAAQA,GACP,IAAK,OACL,IAAK,kBACL,IAAK,eACL,IAAK,cACL,IAAK,WACL,IAAK,gBACL,IAAK,UACL,IAAK,aACJsL,EAAM,mBAAqB,mBAC3B,MAED,IAAK,SACL,IAAK,cACJA,EAAM,mBAAqB,mBAC3B,MAED,IAAK,SACJA,EAAM,mBAAqB,mBAC3B,MAED,IAAK,SACL,IAAK,QAUL,IAAK,QACJA,EAAM,mBAAqB,YAC3B,MARD,IAAK,OACL,IAAK,aACL,IAAK,YACJA,EAAM,mBAAqB,iBAC3B,MAMD,IAAK,OACJA,EAAM,mBAAqB,OAI7B,IAAIsd,EAAM1K,GAAQC,UAAUtb,EAAM,SAE9B+lB,IACHtd,EAAM,yBAA2Bsd,EA9CjC,CA+CF,CAEA,SAAAtjB,CAAUzC,EAAeyI,GACxB,IAGI5F,EAAQ,CAHA1E,EAAII,KAAKyB,EAAM,SACVic,GAAO+J,WAAWhmB,EAAM,cAC1B7B,EAAII,KAAKyB,EAAM,aACYimB,OAAO1pB,GAAKA,GAAG4F,IAAI5F,GAAKnB,EAAkBmB,IAEhFsG,EAAM5G,OAAS,IAClBwM,EAAM,eAAiB,IAAI,IAAIyd,IAAIrjB,IAAQsjB,KAAK,MAClD,CAEA,gBAAAX,CAAiBxlB,EAAeyI,GAC/B,IAAI2d,EAAYjoB,EAAIM,WAAWuB,EAAM,aACjCqmB,EAAUloB,EAAIM,WAAWuB,EAAM,WAC/BiG,EAAO9H,EAAIM,WAAWuB,EAAM,QAC5BiI,EAAQ9J,EAAIM,WAAWuB,EAAM,SAC7BmG,EAAQhI,EAAIM,WAAWuB,EAAM,SAC7BsmB,EAAMnoB,EAAIM,WAAWuB,EAAM,OAE3BomB,IAAW3d,EAAM,eAAiB2d,GAClCC,IAAS5d,EAAM,eAAiB,IAAI4d,MACpCpgB,GAAQgC,KAAOQ,EAAM,uBAAyBxC,GAAQgC,IACtD9B,GAASmgB,KAAK7d,EAAM,qBAAuBtC,GAASmgB,EACzD,CAEA,YAAAR,CAAa9lB,EAAeyI,GAC3B,IAAIO,EAAS7K,EAAIM,WAAWuB,EAAM,UAC9BiJ,EAAQ9K,EAAIM,WAAWuB,EAAM,SAC7BkJ,EAAO/K,EAAI4B,QAAQC,EAAM,OAAQ,MACjCmJ,EAAWhL,EAAII,KAAKyB,EAAM,YAK9B,GAHIgJ,IAAQP,EAAM,cAAgBO,GAC9BC,IAAOR,EAAM,iBAAmBQ,GAEvB,OAATC,EACH,OAAQC,GACP,IAAK,OACJV,EAAM,eAAiB,IAAIS,EAAO,KAAKnL,QAAQ,KAC/C,MAED,IAAK,UACJ0K,EAAM,eAAiB,eAAeS,EAAO,QAC7C,MAED,QACCT,EAAM,eAAiBA,EAAM,cAAmBS,EAAO,GAAV,KAIjD,CAEA,qBAAA0c,CAAsB5lB,EAAeumB,GACpC,IAAK,MAAMvnB,KAAKb,EAAIQ,SAASqB,GAC5B,OAAQhB,EAAEX,WACT,IAAK,OACJkoB,EAAO,gBAAkBtK,GAAOyJ,cAAc1mB,GAC9C,MAED,IAAK,QACJunB,EAAO,iBAAmBtK,GAAOyJ,cAAc1mB,GAC/C,MAED,IAAK,MACJunB,EAAO,eAAiBtK,GAAOyJ,cAAc1mB,GAC7C,MAED,IAAK,SACJunB,EAAO,kBAAoBtK,GAAOyJ,cAAc1mB,GAIpD,CAEA,aAAAsmB,CAActlB,EAAeumB,GACpBpoB,EAAII,KAAKyB,EAAM,SAOrBumB,EAAe,OAAIpoB,EAAIM,WAAWuB,EAAM,MAK3C,CAEA,qBAAAylB,CAAsBzlB,EAAeumB,GACpC,IAAK,MAAMvnB,KAAKb,EAAIQ,SAASqB,GAC5B,OAAQhB,EAAEX,WACT,IAAK,QACL,IAAK,OACJkoB,EAAO,eAAiBtK,GAAO0J,cAAc3mB,GAC7C,MAED,IAAK,MACL,IAAK,QACJunB,EAAO,gBAAkBtK,GAAO0J,cAAc3mB,GAC9C,MAED,IAAK,MACJunB,EAAO,cAAgBtK,GAAO0J,cAAc3mB,GAC5C,MAED,IAAK,SACJunB,EAAO,iBAAmBtK,GAAO0J,cAAc3mB,GAInD,EAGD,MAAMwnB,GAAc,CAAC,QAAS,OAAQ,OAAQ,WAAY,WAAY,WAAY,YAAa,cAAe,UAAW,aAAc,QAAS,YAAa,UAAW,OAAQ,MAAO,QAAS,UAEhM,MAAMnL,GACL,gBAAOC,CAAUtb,EAAeC,EAAkBwmB,EAAmB,KAAMC,EAAoB,SAC9F,IAAInmB,EAAIpC,EAAII,KAAKyB,EAAMC,GAEvB,GAAIM,EACH,MAAS,QAALA,EACImmB,EACGF,GAAYjF,SAAShhB,GACxBA,EAGD,IAAIA,IAGZ,IAAIomB,EAAaxoB,EAAII,KAAKyB,EAAM,cAEhC,OAAO2mB,EAAa,cAAcA,WAAsBF,CACzD,EAGD,MAAMxK,GACL,iBAAO+J,CAAWhnB,EAAYT,GAC7B,IAAIpB,EAAMgB,EAAII,KAAKS,EAAGT,GACtB,OAAOpB,EAAM,cAAcA,UAAc,IAC1C,CAEA,kBAAOkoB,CAAYrmB,EAAYT,GAC9B,IAAIoE,EAAOtF,EAEX,OAAQc,EAAII,KAAKS,EAAG,SACnB,IAAK,MAAO,MACZ,IAAK,MAAO2D,EAAOtF,EAAqB,MACxC,IAAK,OAAQ,MAAO,OAGrB,OAAOc,EAAIM,WAAWO,EAAGT,EAAMoE,EAChC,CAEA,oBAAO+iB,CAAc1mB,GACpB,OAAOb,EAAIM,WAAWO,EAAG,IAC1B,CAEA,oBAAO2mB,CAAc3mB,GACpB,IAAI2D,EAAOsZ,GAAO2K,gBAAgBzoB,EAAII,KAAKS,EAAG,QAE9C,GAAY,QAAR2D,EACH,MAAO,OAER,IAAIrE,EAAQ+c,GAAQC,UAAUtc,EAAG,SAGjC,MAAO,GAFIb,EAAIM,WAAWO,EAAG,KAAM3B,MAEjBsF,KAAiB,QAATrE,EAAkBgZ,GAAoBhZ,GACjE,CAEA,sBAAOsoB,CAAgBjkB,GACtB,OAAQA,GACP,IAAK,SACL,IAAK,iBAYL,IAAK,QACL,IAAK,oBACL,IAAK,qBACL,IAAK,oBACL,IAAK,oBACL,IAAK,qBACL,IAAK,oBACL,IAAK,wBACL,IAAK,yBACL,IAAK,wBACL,IAAK,eACL,IAAK,gBAEL,IAAK,OAAQ,MAAO,QAxBpB,IAAK,SACL,IAAK,eAAgB,MAAO,SAC5B,IAAK,UACL,IAAK,aACL,IAAK,SAAU,MAAO,SACtB,IAAK,SACL,IAAK,aAiBL,IAAK,SAAU,MAAO,SAhBtB,IAAK,QAAS,MAAO,QACrB,IAAK,MACL,IAAK,OAAQ,MAAO,OACpB,IAAK,SAAU,MAAO,SAiBvB,MAAO,OACR,CAEA,uBAAOkjB,CAAiB7mB,GAEvB,MAAe,SADJb,EAAII,KAAKS,EAAG,OACE,QAAU,MACpC,CAEA,0BAAO2f,CAAoB3f,GAC1B,MAAM7B,EAAMgB,EAAII,KAAKS,EAAG,OAOxB,MANgB,CACf,YAAa,WAAY,YAAa,WACtC,UAAW,WAAY,UAAW,WAClC,UAAW,UAAW,UAAW,WAGnBinB,OAAO,CAACY,EAAGhoB,IAAgB,KAAV1B,EAAI0B,IAAWsnB,KAAK,IACrD,CAEA,gBAAOhB,CAAUnmB,GAChB,IAAI2D,EAAOxE,EAAII,KAAKS,EAAG,OAEvB,OAAQ2D,GACP,IAAK,QACL,IAAK,OAAQ,MAAO,OACpB,IAAK,SAAU,MAAO,SACtB,IAAK,MACL,IAAK,QAAS,MAAO,QACrB,IAAK,OAAQ,MAAO,UAGrB,OAAOA,CACR,CAEA,uBAAOue,CAAiBliB,EAAY8nB,GAAqB,GACxD,IAAInkB,EAAOxE,EAAII,KAAKS,EAAG,OAEvB,OAAQ2D,GACP,IAAK,YAAa,MAAO,MACzB,IAAK,cAAe,OAAOmkB,EAAY,MAAQ,QAGhD,OAAOA,EAAY,KAAOnkB,CAC3B,CAEA,2BAAOyiB,CAAqBpmB,GAC3B,IAAI2D,EAAOxE,EAAII,KAAKS,EAAG,OAEvB,OAAQ2D,GACP,IAAK,OACL,IAAK,WAAY,MAAO,WACxB,IAAK,MAAO,MAAO,MACnB,IAAK,SAAU,MAAO,SACtB,IAAK,SAAU,MAAO,SAGvB,OAAOA,CACR,CAEA,cAAOkhB,CAAQvnB,EAAWyqB,GACzB,OAAS,MAALzqB,EAAkByqB,EACb,MAALA,EAAkBzqB,EAEf,QAAQA,OAAOyqB,IACvB,CAEA,yBAAO1D,CAAmBrkB,GACzB,MAAM7B,EAAMgB,EAAIgC,QAAQnB,EAAG,MAAO,GAClC,IAAI0f,EAAY,GAShB,OAPIvgB,EAAImC,SAAStB,EAAG,aAAsB,GAAN7B,KAAeuhB,GAAa,eAC5DvgB,EAAImC,SAAStB,EAAG,YAAqB,GAAN7B,KAAeuhB,GAAa,cAC3DvgB,EAAImC,SAAStB,EAAG,gBAAyB,IAAN7B,KAAeuhB,GAAa,eAC/DvgB,EAAImC,SAAStB,EAAG,eAAwB,IAAN7B,KAAeuhB,GAAa,cAC9DvgB,EAAImC,SAAStB,EAAG,YAAqB,IAAN7B,KAAeuhB,GAAa,cAC3DvgB,EAAImC,SAAStB,EAAG,YAAqB,KAAN7B,KAAeuhB,GAAa,aAExDA,EAAUsI,MAClB,ECzrDD,MAAMC,GAAsB,CAAEhF,IAAK,EAAGzZ,OAAQ,OAAQC,MAAO,QAcvD,SAAUye,GAAcjpB,EAAmBqK,EAAsB6e,EAAwBC,EAAuB,KAClH,MAAMlkB,EAAIjF,EAAKopB,QAAQ,KAEjBC,EAAMrpB,EAAKspB,wBACXC,EAAMtkB,EAAEqkB,wBACRE,EAAMC,iBAAiBxkB,GAE1BykB,EAAWrf,GAAMrM,OAAS,EAAIqM,EAAKnG,IAAIylB,IAAC,CAC7C3F,IAAK4F,GAAcD,EAAErf,UACrBC,OAAQof,EAAEpf,OACVC,MAAOmf,EAAEnf,SACNqf,KAAK,CAACxrB,EAAGyqB,IAAMzqB,EAAE2lB,IAAM8E,EAAE9E,KAAO,CAACgF,IAE/Bc,EAAUJ,EAASA,EAAS1rB,OAAS,GACrC+rB,EAAWR,EAAI9gB,MAAQ0gB,EACvBxhB,EAAOiiB,GAAcV,GACxB,IAAIlF,EAAM8F,EAAQ9F,IAAMrc,EAExB,GAAIqc,EAAM+F,EACN,KAAO/F,EAAM+F,GAAYL,EAAS1rB,OAhC1B,GAgC4CgmB,GAAOrc,EACvD+hB,EAASvoB,KAAK,IAAK6nB,GAAYhF,IAAKA,IAI5C,MAAMgG,EAAa5nB,WAAWonB,EAAIQ,YAC5BC,EAAUV,EAAIvhB,KAAOgiB,EACrBhiB,GAAQqhB,EAAIrhB,KAAOiiB,GAAWd,EAC9Be,EAAMR,EAASzV,KAAK0V,GAAgB,SAAXA,EAAEnf,OAAoBmf,EAAE3F,IAAMhc,GAE7D,GAAU,MAAPkiB,EACC,OAEJ,IAAIzhB,EAAgB,EAEpB,GAAiB,SAAbyhB,EAAI1f,OAAiC,UAAb0f,EAAI1f,MAAmB,CACrD,MAAMkf,EAAWjrB,MAAMkD,KAAKsD,EAAEklB,iBAAiB,IAAInqB,EAAKygB,cAClD2J,EAAUV,EAASW,QAAQrqB,GAAQ,EAC7BsqB,EAAQC,SAASC,cACvBF,EAAMG,SAASzqB,EAAM,GAEvBoqB,EAAUV,EAAS1rB,OACtBssB,EAAMI,aAAahB,EAASU,IAE5BE,EAAMK,YAAY1lB,GAGnB,MAAM5F,EAAmB,UAAb6qB,EAAI1f,MAAoB,GAAM,EAC9BogB,EAASN,EAAMhB,wBACrB1hB,EAASgjB,EAAO5iB,KAAO3I,EAAMurB,EAAOniB,OAAS8gB,EAAIvhB,KAAOgiB,GAE9DvhB,EAAQyhB,EAAIlG,IAAMpc,EAASuhB,CACzB,MACI1gB,EAAQyhB,EAAIlG,IAAMhc,EAOtB,OAJAhI,EAAK6qB,UAAY,SACjB7qB,EAAKwK,MAAMsgB,eAAiB,UAC5B9qB,EAAKwK,MAAMugB,YAAc,GAAGtiB,EAAM3I,QAAQ,OAElCoqB,EAAI3f,QACR,IAAK,MACL,IAAK,YACDvK,EAAKwK,MAAMsgB,eAAiB,YAC5B9qB,EAAKwK,MAAMwgB,oBAAsB,SACjC,MAEJ,IAAK,SACL,IAAK,QACL,IAAK,aACDhrB,EAAKwK,MAAMsgB,eAAiB,YAGxC,CAEA,SAASlB,GAAc5rB,GACtB,OAAOoE,WAAWpE,EACnB,CCzEA,MAAMmB,GACA,6BADAA,GAEG,2CAkBI8rB,GA6BZ,WAAAvoB,CAAmBwoB,GAAA1pB,KAAA0pB,aAAAA,EA3BnB1pB,KAAAif,UAAoB,OAIpBjf,KAAA2pB,SAAsC,CAAA,EACtC3pB,KAAA4pB,YAAoB,KAEpB5pB,KAAA6pB,oBAA+C,GAC/C7pB,KAAA8pB,qBAA8C,KAC9C9pB,KAAA+pB,mBAAgC,GAChC/pB,KAAAgqB,oBAA+B,KAE/BhqB,KAAAiqB,YAA2C,CAAA,EAC3CjqB,KAAAkqB,WAA0C,CAAA,EAE1ClqB,KAAAmqB,kBAA8B,GAC9BnqB,KAAAoqB,qBAA8B,GAG9BpqB,KAAAqqB,YAAqB,GAGrBrqB,KAAAqR,WAAoC,CAAA,EAEpCrR,KAAAsqB,MAAwB,GACxBtqB,KAAAuqB,gBAAyB,EAGzB,CAEA,YAAMC,CAAOzB,EAAwB0B,EAA4BC,EAA8B,KAAMhpB,GACpG1B,KAAK+oB,SAAWA,EAChB/oB,KAAK0B,QAAUA,EACf1B,KAAKif,UAAYvd,EAAQud,UACzBjf,KAAK2qB,aAAejpB,EAAQkpB,UAAY,IAAI5qB,KAAKif,oBAAsB,QACvEjf,KAAK2pB,SAAW,KAChB3pB,KAAKsqB,MAAQ,GAETtqB,KAAK0B,QAAQmpB,gBAAkBC,WAAWC,YAC7C/qB,KAAKgrB,iBAAmB,IAAID,WAK7BE,GAFAP,EAAiBA,GAAkBD,GAGnCQ,GAAkBR,GAElBC,EAAeQ,YAAYlrB,KAAKmrB,cAAc,qCAC9CT,EAAeQ,YAAYlrB,KAAKorB,sBAE5BrC,EAAS3V,YACZsX,EAAeQ,YAAYlrB,KAAKmrB,cAAc,iCAC9CnrB,KAAKqrB,YAAYtC,EAAS3V,UAAWsX,IAGX,MAAvB3B,EAAS7V,aACZlT,KAAK2pB,SAAW3pB,KAAKsrB,cAAcvC,EAAS7V,WAAWhH,QAEvDwe,EAAeQ,YAAYlrB,KAAKmrB,cAAc,2BAC9CT,EAAeQ,YAAYlrB,KAAKurB,aAAaxC,EAAS7V,WAAWhH,UAG9D6c,EAAS/V,gBACZhT,KAAKwrB,kBAAkBzC,EAAS/V,cAAcjH,eAE9C2e,EAAeQ,YAAYlrB,KAAKmrB,cAAc,qCAC9CT,EAAeQ,YAAYlrB,KAAKyrB,gBAAgB1C,EAAS/V,cAAcjH,cAAe2e,KAInF3B,EAASzV,gBACZtT,KAAKiqB,YAAcxtB,EAAMssB,EAASzV,cAActD,MAAOlT,GAAKA,EAAEmG,KAG3D8lB,EAASvV,eACZxT,KAAKkqB,WAAaztB,EAAMssB,EAASvV,aAAaxD,MAAOlT,GAAKA,EAAEmG,KAGzD8lB,EAASnV,eACZ5T,KAAK0nB,eAAiBqB,EAASnV,aAAarD,UAAUC,iBAGlD9O,EAAQgqB,aAAe3C,EAASjW,eACpC9S,KAAK2rB,gBAAgB5C,EAASjW,cAAe4X,GAE9C,IAAIkB,EAAkB5rB,KAAK6rB,eAAe9C,EAASnW,aAAa5M,MAE5DhG,KAAK0B,QAAQkpB,UAChBH,EAAcS,YAAYlrB,KAAK8rB,cAAcF,IAE7CG,GAAetB,EAAemB,GAG3B5rB,KAAKgrB,kBAAoBtpB,EAAQmpB,gBACnCmB,IAAYC,WAAWC,IAAI,GAAGlsB,KAAKif,qBAAsBjf,KAAKgrB,kBAGhEhrB,KAAKuqB,gBAAgB/M,QAAQ2K,GAAKA,WAE5B5jB,QAAQ4nB,WAAWnsB,KAAKsqB,OAE9BtqB,KAAKosB,iBACN,CAEA,WAAAf,CAAYjY,EAAsBsX,GACjC,MAAM2B,EAAY,CAAA,EACZ9c,EAAa6D,EAAUhE,OAAOG,WAEhCA,IACCA,EAAWV,YACdwd,EAAU,0BAA4B9c,EAAWV,UAAUG,eAGxDO,EAAWR,YACdsd,EAAU,0BAA4B9c,EAAWR,UAAUC,gBAI7D,MAAMM,EAAc8D,EAAUhE,OAAOE,YAErC,GAAIA,EACH,IAAK,IAAKgd,EAAGxrB,KAAM2K,OAAO8gB,QAAQjd,EAAYb,QAC7C4d,EAAU,UAAUC,WAAa,IAAIxrB,IAIvC,MAAM0rB,EAAUxsB,KAAKysB,cAAc,IAAIzsB,KAAKif,YAAaoN,GACzD3B,EAAeQ,YAAYlrB,KAAK0sB,mBAAmBF,GACpD,CAEA,eAAAb,CAAgBgB,EAA0BjC,GACzC,IAAK,IAAIhmB,KAAKioB,EAAUvpB,MACvB,IAAK,IAAIwpB,KAAOloB,EAAE9B,cACjB5C,KAAKsqB,MAAM3qB,KAAKK,KAAK+oB,SAASzU,SAASsY,EAAI3pB,GAAI2pB,EAAIpvB,KAAKqvB,KAAKC,IAC5D,MAAMC,EAAY,CACjB,cAAepxB,EAAkB+I,EAAE/B,MACnCib,IAAO,OAAOkP,MAGC,QAAZF,EAAI1pB,MAA8B,cAAZ0pB,EAAI1pB,OAC7B6pB,EAAU,eAAiB,QAGZ,UAAZH,EAAI1pB,MAAgC,cAAZ0pB,EAAI1pB,OAC/B6pB,EAAU,cAAgB,UAG3B,MAAMP,EAAUxsB,KAAKysB,cAAc,aAAcM,GACjDrC,EAAeQ,YAAYlrB,KAAKmrB,cAAc,UAAUzmB,EAAE/B,cAC1D+nB,EAAeQ,YAAYlrB,KAAK0sB,mBAAmBF,MAIvD,CAEA,gBAAAQ,CAAiB/N,GAChB,OAAOA,EAAY,GAAGjf,KAAKif,avC5MvB,SAA0BA,GAC/B,OAAOA,GAAWnb,QAAQ,SAAU,KAAKA,QAAQ,QAAS,OAAOmpB,aAClE,CuC0M0CC,CAAgBjO,KAAejf,KAAKif,SAC7E,CAEA,aAAAqM,CAAcpf,GACb,MAAMihB,EAAY1wB,EAAMyP,EAAOsa,OAAO1pB,GAAa,MAARA,EAAEmG,IAAanG,GAAKA,EAAEmG,IAEjE,IAAK,MAAM+F,KAASkD,EAAOsa,OAAO1pB,GAAKA,EAAEwf,SAAU,CAClD,IAAI8Q,EAAYD,EAAUnkB,EAAMsT,SAEhC,GAAI8Q,EAAW,CACdpkB,EAAMiC,eAAiB9N,EAAU6L,EAAMiC,eAAgBmiB,EAAUniB,gBACjEjC,EAAMkB,SAAW/M,EAAU6L,EAAMkB,SAAUkjB,EAAUljB,UAErD,IAAK,MAAMmjB,KAAcD,EAAUlhB,OAAQ,CAC1C,MAAMohB,EAActkB,EAAMkD,OAAOuG,KAAK3V,GAAKA,EAAEM,QAAUiwB,EAAWjwB,QAE9DkwB,EACHttB,KAAKutB,oBAAoBF,EAAW7Q,OAAQ8Q,EAAY9Q,QAExDxT,EAAMkD,OAAOvM,KAAK,IAAK0tB,EAAY7Q,OAAQ,IAAK6Q,EAAW7Q,SAE7D,CACD,MACSxc,KAAK0B,QAAQsZ,OACrBiC,QAAQC,KAAK,yBAAyBlU,EAAMsT,UAC9C,CAEA,IAAK,IAAItT,KAASkD,EACjBlD,EAAMwkB,QAAUxtB,KAAKgtB,iBAAiBhkB,EAAM/F,IAG7C,OAAOkqB,CACR,CAEA,iBAAA3B,CAAkB7f,GACjB,IAAK,IAAIxN,KAAOwN,EAAW6a,OAAOrK,GAAKA,EAAE0B,YAAa,CACrD,MAAM7U,EAAQhJ,KAAKytB,UAAUtvB,EAAI0f,YAE7B7U,GAAOiC,gBAAgB9B,YAC1BH,EAAMiC,eAAe9B,UAAUC,MAAQjL,EAAIiL,MAE7C,CACD,CAEA,cAAAskB,CAAe9tB,GACd,GAAIA,EAAQyM,SACX,IAAK,IAAIxH,KAAKjF,EAAQyM,SACrBxH,EAAEua,OAASxf,EAEPiF,EAAE3B,MAAQ2D,EAAQyc,MACrBtjB,KAAK2tB,aAAa9oB,GAGlB7E,KAAK0tB,eAAe7oB,EAIxB,CAEA,YAAA8oB,CAAajK,GACZ,IAAK,IAAIlR,KAAKkR,EAAMrX,SACnB,IAAK,IAAI9M,KAAKiT,EAAEnG,SACf9M,EAAE+M,SAAWtM,KAAKutB,oBAAoB7J,EAAMC,UAAWpkB,EAAE+M,SAAU,CAClE,cAAe,eAAgB,aAAc,gBAC7C,eAAgB,gBAAiB,cAAe,mBAGjDtM,KAAK0tB,eAAenuB,EAGvB,CAEA,mBAAAguB,CAAoBtpB,EAA+B6iB,EAAgC5mB,EAAkB,MACpG,IAAK+D,EACJ,OAAO6iB,EAKR,IAAK,IAAItpB,KAHK,MAAVspB,IAAgBA,EAAS,CAAA,GAChB,MAAT5mB,IAAeA,EAAQuL,OAAOmiB,oBAAoB3pB,IAEtC/D,GACX+D,EAAM4pB,eAAerwB,KAASspB,EAAO+G,eAAerwB,KACvDspB,EAAOtpB,GAAOyG,EAAMzG,IAGtB,OAAOspB,CACR,CAEA,iBAAAgH,CAAkB7O,EAAmBxgB,GACpC,IAAID,EAAOwB,KAAK+tB,cAAc,UAAW,CAAE9O,cAkB3C,OAhBIxgB,IACCA,EAAM2I,cACT5I,EAAKwK,MAAMglB,YAAcvvB,EAAM2I,YAAYZ,KAC3ChI,EAAKwK,MAAMilB,aAAexvB,EAAM2I,YAAYV,MAC5ClI,EAAKwK,MAAMklB,WAAazvB,EAAM2I,YAAYX,IAC1CjI,EAAKwK,MAAMmlB,cAAgB1vB,EAAM2I,YAAYT,QAG1ClI,EAAMuI,WACJhH,KAAK0B,QAAQqZ,cACjBvc,EAAKwK,MAAM/B,MAAQxI,EAAMuI,SAASC,OAC9BjH,KAAK0B,QAAQ0sB,eACjB5vB,EAAKwK,MAAMqlB,UAAY5vB,EAAMuI,SAASE,UAIlC1I,CACR,CAEA,oBAAA8vB,CAAqB7vB,GACpB,IAAID,EAAOwB,KAAK+tB,cAAc,WAW9B,OATItvB,EAAM+I,SAAW/I,EAAM+I,QAAQS,kBAClCzJ,EAAKwK,MAAMulB,YAAc,GAAG9vB,EAAM+I,QAAQS,kBAC1CzJ,EAAKwK,MAAMwlB,UAAY/vB,EAAM+I,QAAQU,MAEjCzJ,EAAM+I,QAAQW,YACjB3J,EAAKwK,MAAMylB,WAAa,oBAInBjwB,CACR,CAEA,cAAAqtB,CAAe9C,GACd,MAAM5pB,EAAS,GAEfa,KAAK0tB,eAAe3E,GACpB,MAAM2F,EAAW1uB,KAAK2uB,eAAe5F,EAAS1c,SAAU0c,EAAStqB,OAC3D2O,EAAQpN,KAAK4uB,kBAAkBF,GACrC,IAAIG,EAAY,KAEhB,IAAK,IAAIzvB,EAAI,EAAGC,EAAI+N,EAAM5Q,OAAQ4C,EAAIC,EAAGD,IAAK,CAC7CY,KAAK8uB,mBAAqB,GAG1B,IAAIrwB,EADY2O,EAAMhO,GAAG,GACL2vB,UACpB,MAAMC,EAAchvB,KAAK8tB,kBAAkB9tB,KAAKif,UAAWxgB,GAC3DuB,KAAKivB,kBAAkBlG,EAASzc,SAAU0iB,GAE1ChvB,KAAK0B,QAAQwtB,eAAiBlvB,KAAKmvB,mBAAmB1wB,EAAMiJ,WAAYjJ,EACvEU,EAAO3C,OAAQqyB,GAAapwB,EAAOuwB,GAEpC,IAAK,MAAMI,KAAQhiB,EAAMhO,GAAI,CAC5B,IAAIiwB,EAAiBrvB,KAAKsuB,qBAAqBc,EAAKL,WACpD/uB,KAAKsvB,eAAeF,EAAKlwB,SAAUmwB,GACnCL,EAAY9D,YAAYmE,GACxB5wB,EAAQ2wB,EAAKL,SACd,CAEI/uB,KAAK0B,QAAQ6tB,iBAChBvvB,KAAKwvB,YAAYxvB,KAAK8uB,mBAAoB9uB,KAAKiqB,YAAa+E,GAGzDhvB,KAAK0B,QAAQ+tB,gBAAkBrwB,GAAKC,EAAI,GAC3CW,KAAKwvB,YAAYxvB,KAAKmqB,kBAAmBnqB,KAAKkqB,WAAY8E,GAG3DhvB,KAAK0B,QAAQguB,eAAiB1vB,KAAKmvB,mBAAmB1wB,EAAMmJ,WAAYnJ,EACvEU,EAAO3C,OAAQqyB,GAAapwB,EAAOuwB,GAEpC7vB,EAAOQ,KAAKqvB,GACZH,EAAYpwB,CACb,CAEA,OAAOU,CACR,CAEA,kBAAAgwB,CAAmBQ,EAA+BlxB,EAA0BmxB,EAAcC,EAAyBC,GAClH,GAAKH,EAAL,CAEA,IAAI/C,GAAOnuB,EAAMoJ,WAAagoB,EAAiBF,EAAKld,KAAK3V,GAAe,SAAVA,EAAEoG,MAAmB,QAC9E0sB,EAAO,GAAK,EAAID,EAAKld,KAAK3V,GAAe,QAAVA,EAAEoG,MAAkB,OACpDysB,EAAKld,KAAK3V,GAAe,WAAVA,EAAEoG,MAEjByP,EAAOia,GAAO5sB,KAAK+oB,SAAS5T,gBAAgByX,EAAI3pB,GAAIjD,KAAK+oB,SAASnW,cAEtE,GAAID,EAAM,CACT3S,KAAK4pB,YAAcjX,EACd3S,KAAKoqB,qBAAqBtI,SAASnP,EAAK5W,QAC5CiE,KAAK0tB,eAAe/a,EAAK/F,aACzB5M,KAAKoqB,qBAAqBzqB,KAAKgT,EAAK5W,OAErC,MAAOgE,GAAMC,KAAKsvB,eAAe,CAAC3c,EAAK/F,aAAckjB,GAEjDrxB,GAAO2I,cACNuL,EAAK/F,YAAY1J,OAAS2D,EAAQ2F,QACrCzM,EAAGiJ,MAAM+mB,UAAY,QAAQtxB,EAAM2I,YAAYC,YAAY5I,EAAM2I,YAAYX,OAC7E1G,EAAGiJ,MAAMqlB,UAAY,QAAQ5vB,EAAM2I,YAAYX,SAAShI,EAAM2I,YAAYC,WAElEsL,EAAK/F,YAAY1J,OAAS2D,EAAQ6F,SAC1C3M,EAAGiJ,MAAMgnB,aAAe,QAAQvxB,EAAM2I,YAAYE,YAAY7I,EAAM2I,YAAYT,UAChF5G,EAAGiJ,MAAMqlB,UAAY,QAAQ5vB,EAAM2I,YAAYT,YAAYlI,EAAM2I,YAAYE,YAI/EtH,KAAK4pB,YAAc,IACpB,CA5BW,CA6BZ,CAEA,kBAAAqG,CAAmBzxB,GAClB,OAAIA,EAAK0E,MAAQ2D,EAAQyZ,QAGO,yBAA3B9hB,EAAkB+hB,OACdvgB,KAAK0B,QAAQwuB,4BAEa,QAA3B1xB,EAAkB+hB,MAC3B,CAEA,kBAAA4P,CAAmBC,EAAyBvT,GAC3C,QAAKuT,MACAvT,IAEEuT,EAAKppB,UAAUG,aAAe0V,EAAK7V,UAAUG,aAChDipB,EAAKppB,UAAUC,OAAS4V,EAAK7V,UAAUC,OACvCmpB,EAAKppB,UAAUE,QAAU2V,EAAK7V,UAAUE,QAC7C,CAEA,cAAAynB,CAAezvB,EAA4BmxB,GAC1C,IAAIC,EAAmB,CAAEvB,UAAW,KAAM7vB,SAAU,GAAIqxB,WAAW,GAC/DpxB,EAAS,CAACmxB,GAEd,IAAK,IAAI9xB,KAAQU,EAAU,CAC1B,GAAIV,EAAK0E,MAAQ2D,EAAQ8X,UAAW,CACnC,MAAM5B,EAAI/c,KAAKytB,UAAWjvB,EAAsByL,WAE5C8S,GAAG9R,gBAAgBlB,kBACtBumB,EAAQvB,UAAYA,EACpBuB,EAAQC,WAAY,EACpBD,EAAU,CAAEvB,UAAW,KAAM7vB,SAAU,GAAIqxB,WAAW,GACtDpxB,EAAOQ,KAAK2wB,GAEd,CAIA,GAFAA,EAAQpxB,SAASS,KAAKnB,GAElBA,EAAK0E,MAAQ2D,EAAQ8X,UAAW,CACnC,MAAMlb,EAAIjF,EAEV,IAAIuwB,EAAYtrB,EAAEyF,aACdsnB,GAAc,EACdC,GAAc,EAgBlB,GAdIzwB,KAAK0B,QAAQgvB,YAAcjtB,EAAE4I,WAChCmkB,EAAc/sB,EAAE4I,SAASskB,UAAUne,IAEZ,IADtBie,EAAcje,EAAEnG,UAAUskB,UAAU3wB,KAAKiwB,mBAAmBW,KAAK5wB,SAAU,MAKzE+uB,OAAayB,KAChBF,EAAQvB,UAAYA,EACpBuB,EAAQC,WAA2B,GAAfC,EACpBF,EAAU,CAAEvB,UAAW,KAAM7vB,SAAU,GAAIqxB,WAAW,GACtDpxB,EAAOQ,KAAK2wB,KAGM,GAAfE,EAAmB,CACtB,IAAIK,EAAWptB,EAAE4I,SAASmkB,GACtBM,EAAWL,EAAcI,EAASxkB,SAAS7P,OAAS,EAExD,GAAIg0B,EAAc/sB,EAAE4I,SAAS7P,OAAS,GAAKs0B,EAAU,CACpD,IAAIzkB,EAAW7N,EAAK6N,SAChB0kB,EAAe,IAAKvyB,EAAM6N,SAAUA,EAAS2kB,MAAMR,IAIvD,GAHAhyB,EAAK6N,SAAWA,EAAS2kB,MAAM,EAAGR,GAClCF,EAAQpxB,SAASS,KAAKoxB,GAElBD,EAAU,CACb,IAAIG,EAAcJ,EAASxkB,SACvB6kB,EAAS,IAAKL,EAAUxkB,SAAU4kB,EAAYD,MAAM,EAAGP,IAC3DjyB,EAAK6N,SAAS1M,KAAKuxB,GACnBL,EAASxkB,SAAW4kB,EAAYD,MAAMP,EACvC,CACD,CACD,CACD,CACD,CAEA,IAAIU,EAAmB,KAEvB,IAAK,IAAI/xB,EAAID,EAAO3C,OAAS,EAAG4C,GAAK,EAAGA,IACZ,MAAvBD,EAAOC,GAAG2vB,UACb5vB,EAAOC,GAAG2vB,UAAYoC,GAAoBd,EAE1Cc,EAAmBhyB,EAAOC,GAAG2vB,UAI/B,OAAO5vB,CACR,CAEA,iBAAAyvB,CAAkBF,GACjB,IACI0B,EADAE,EAAU,GAEd,MAAMnxB,EAAsB,CAACmxB,GAE7B,IAAK,IAAIvT,KAAK2R,EACb4B,EAAQ3wB,KAAKod,IAET/c,KAAK0B,QAAQwuB,6BAA+BnT,EAAEwT,WAAavwB,KAAKmwB,mBAAmBC,EAAMrT,EAAEgS,aAC9F5vB,EAAOQ,KAAK2wB,EAAU,IAEvBF,EAAOrT,EAAEgS,UAGV,OAAO5vB,EAAOqnB,OAAO1pB,GAAKA,EAAEN,OAAS,EACtC,CAEA,aAAAsvB,CAAczf,GACb,OAAOrM,KAAK+tB,cAAc,MAAO,CAAE9O,UAAW,GAAGjf,KAAKif,qBAAuB5S,EAC9E,CAEA,kBAAA+e,GACC,IAAI7rB,EAAIS,KAAKif,UACTmS,EAAe,MAClB7xB,iIACAA,qBAAqBA,yFAClBS,KAAK0B,QAAQ2vB,qBAChBD,EAAe,sBAAsBA,OAEtC,IAAIE,EAAY,GAAGF,OAClB7xB,mFACOA,yHACAA,2DACAA,8BACPA,4CACAA,gBAAgBA,yCAChBA,2CACAA,kEACAA,uDACAA,iCAYD,OATIS,KAAK0B,QAAQmpB,iBAChByG,GAAa,MACb/xB,wCACAA,2KACAA,wBAAwBA,2CACxBA,qBAAqBA,0DAIfS,KAAK0sB,mBAAmB4E,EAChC,CAmEA,eAAA7F,CAAgB9f,EAA6B+e,GAC5C,IAAI4G,EAAY,GACZC,EAAgB,GAEpB,IAAK,IAAIpzB,KAAOwN,EAAY,CAC3B,IAAIwR,EAAW,KAAKnd,KAAKwxB,eAAerzB,EAAI8E,GAAI9E,EAAIiL,SAChDqoB,EAAgB,OAEpB,GAAItzB,EAAI+f,OAAQ,CACf,IAAIwT,EAAW,KAAK1xB,KAAKif,aAAa9gB,EAAI+f,OAAON,MAAMqP,cAEvDqE,GAAatxB,KAAKysB,cAAc,GAAGtP,WAAmB,CACrDpZ,QAAW,MACX4tB,QAAW,eACXnW,WAAc,OAAOkW,MACnBvzB,EAAI+f,OAAOlV,OAEdhJ,KAAKsqB,MAAM3qB,KAAKK,KAAK+oB,SAAS1U,mBAAmBlW,EAAI+f,OAAON,KAAKiP,KAAK5nB,IACrE,IAAI4F,EAAO,GAAG7K,KAAK2qB,kBAAkB+G,UAAiBzsB,OACtDylB,EAAeQ,YAAYlrB,KAAK0sB,mBAAmB7hB,MAErD,MACK,GAAI1M,EAAIggB,UAAW,CACvB,IAAIyT,EAAU5xB,KAAK6xB,iBAAiB1zB,EAAI8E,GAAI9E,EAAIiL,OAChD,MAAM0oB,EAAeF,EAAU,KAAOzzB,EAAIqK,MAAQ,GAC9CrK,EAAIiL,MAAQ,IACfkoB,GAAatxB,KAAKysB,cAAc,KAAKzsB,KAAKwxB,eAAerzB,EAAI8E,GAAI9E,EAAIiL,MAAQ,KAAM,CAClF,cAAe0oB,KAIjBP,EAAc5xB,KAAKmyB,GAEnBR,GAAatxB,KAAKysB,cAAc,GAAGtP,WAAmB,CACrDpZ,QAAW/D,KAAK+xB,mBAAmB5zB,EAAIggB,UAAWhgB,EAAI6f,KAAM7f,EAAI8E,GAAIjD,KAAKgyB,oBAAoB7zB,EAAIoK,SACjG,oBAAqBqpB,KAClBzzB,EAAI4f,QAET,MAEC0T,EAAgBzxB,KAAKgyB,oBAAoB7zB,EAAIoK,QAG9C+oB,GAAatxB,KAAKysB,cAActP,EAAU,CACzCwU,QAAW,YACX,sBAAuB,SACvB,kBAAmBF,KAChBtzB,EAAI2f,QAET,CAQA,OANIyT,EAAc/0B,OAAS,IAC1B80B,GAAatxB,KAAKysB,cAAczsB,KAAK2qB,aAAc,CAClD,gBAAiB4G,EAAc7K,KAAK,QAI/B1mB,KAAK0sB,mBAAmB4E,EAChC,CAEA,YAAA/F,CAAarf,GACZ,IAAIolB,EAAY,GAChB,MAAMnE,EAAYntB,KAAK2pB,SACjBsI,EAAex1B,EAAMyP,EAAOsa,OAAOzJ,GAAKA,EAAEJ,WAAYI,GAAKA,EAAE3f,QAEnE,IAAK,MAAM4L,KAASkD,EAAQ,CAC3B,IAAIgmB,EAAYlpB,EAAMkD,OAEtB,GAAIlD,EAAM4T,OAAQ,CACjB,IAAIuV,EAAcnpB,EAAM4T,QAAUuQ,EAAUnkB,EAAM4T,QAE9CuV,EACHD,EAAYA,EAAUE,OAAOD,EAAYjmB,QACjClM,KAAK0B,QAAQsZ,OACrBiC,QAAQC,KAAK,2BAA2BlU,EAAM4T,SAChD,CAEA,IAAK,MAAMyV,KAAYH,EAAW,CAEjC,IAAI/U,EAAW,GAAGnU,EAAM5L,QAAU,MAAM4L,EAAMwkB,UAE1CxkB,EAAM5L,QAAUi1B,EAASj1B,SAC5B+f,GAAY,IAAIkV,EAASj1B,UAEtB60B,EAAajpB,EAAM5L,SAAW4L,IACjCmU,EAAW,IAAInd,KAAKif,aAAajW,EAAM5L,WAAa+f,GAErDmU,GAAatxB,KAAKysB,cAActP,EAAUkV,EAAS7V,OACpD,CACD,CAEA,OAAOxc,KAAK0sB,mBAAmB4E,EAChC,CAEA,WAAA9B,CAAY8C,EAAmBC,EAAuCzC,GACrE,IAAI9f,EAAQsiB,EAAQ5vB,IAAIO,GAAMsvB,EAAStvB,IAAKujB,OAAO1pB,GAAKA,GAExD,GAAIkT,EAAMxT,OAAS,EAAG,CACrB,IAAI2C,EAASa,KAAK+tB,cAAc,KAAM,KAAM/tB,KAAKsvB,eAAetf,IAChE8f,EAAK5E,YAAY/rB,EAClB,CACD,CAEA,aAAAqzB,CAAch0B,GACb,OAAQA,EAAK0E,MACZ,KAAK2D,EAAQ8X,UACZ,OAAO3e,KAAKyyB,gBAAgBj0B,GAE7B,KAAKqI,EAAQ8O,cACZ,OAAO3V,KAAK0yB,oBAAoBl0B,GAEjC,KAAKqI,EAAQkP,YACZ,OAAO,KAER,KAAKlP,EAAQ4Y,IACZ,OAAOzf,KAAK2yB,UAAUn0B,GAEvB,KAAKqI,EAAQyc,MACZ,OAAOtjB,KAAK4yB,YAAYp0B,GAEzB,KAAKqI,EAAQwd,IACZ,OAAOrkB,KAAK6yB,eAAer0B,GAE5B,KAAKqI,EAAQ+d,KACZ,OAAO5kB,KAAK8yB,gBAAgBt0B,GAE7B,KAAKqI,EAAQwY,UACZ,OAAOrf,KAAK+yB,gBAAgBv0B,GAE7B,KAAKqI,EAAQ0Y,SACZ,OAAOvf,KAAKgzB,eAAex0B,GAE5B,KAAKqI,EAAQmb,QACZ,OAAOhiB,KAAKizB,cAAcz0B,GAE3B,KAAKqI,EAAQkc,MACZ,OAAO/iB,KAAKkzB,YAAY10B,GAEzB,KAAKqI,EAAQ8Y,KAGb,KAAK9Y,EAAQ8Y,KACZ,OAAO3f,KAAKmzB,WAAW30B,GAExB,KAAKqI,EAAQ+Y,YACZ,OAAO5f,KAAKozB,kBAAkB50B,GAE/B,KAAKqI,EAAQ8Z,IACZ,OAAO3gB,KAAKqzB,UAAU70B,GAEvB,KAAKqI,EAAQ2Z,OACZ,OAAOxgB,KAAKszB,aAAa90B,GAE1B,KAAKqI,EAAQyZ,MACZ,OAAOtgB,KAAKuzB,YAAY/0B,GAEzB,KAAKqI,EAAQ6F,OACZ,OAAO1M,KAAKwzB,gBAAgBh1B,EAAM,UAEnC,KAAKqI,EAAQ2F,OACZ,OAAOxM,KAAKwzB,gBAAgBh1B,EAAM,UAEnC,KAAKqI,EAAQ8I,SACb,KAAK9I,EAAQgJ,QACZ,OAAO7P,KAAKwzB,gBAAgBh1B,EAAM,MAEnC,KAAKqI,EAAQ+Z,kBACZ,OAAO5gB,KAAKyzB,wBAAwBj1B,GAErC,KAAKqI,EAAQga,iBACZ,OAAO7gB,KAAK0zB,uBAAuBl1B,GAEpC,KAAKqI,EAAQwZ,cACZ,OAAOrgB,KAAK+tB,cAAc,OAE3B,KAAKlnB,EAAQ6a,WACZ,OAAO1hB,KAAK2zB,iBAAiBn1B,GAE9B,KAAKqI,EAAQmP,WACZ,OAAOhW,KAAK4zB,iBAAiBp1B,GAE9B,KAAKqI,EAAQoR,QACZ,OAAOjY,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,OAAQ,CAAEm2B,MAAOn2B,KAEjE,KAAKkJ,EAAQsR,iBACZ,OAAOnY,KAAKwzB,gBAAgBh1B,EAAM,QAEnC,KAAKqI,EAAQuR,YACZ,OAAOpY,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,SAEhD,KAAKkJ,EAAQmS,QACZ,OAAOhZ,KAAK6zB,kBAAkBr1B,EAAMb,GACnCa,EAAK4gB,OAAOlc,MAAQ2D,EAAQ0T,aAAe,MAAQ,QAErD,KAAK1T,EAAQ4R,aACb,KAAK5R,EAAQ8R,eACb,KAAK9R,EAAQyR,YACb,KAAKzR,EAAQoT,SACb,KAAKpT,EAAQ4T,OACZ,OAAOza,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,QAEhD,KAAKkJ,EAAQgU,aACZ,OAAO7a,KAAK+zB,mBAAmBv1B,GAEhC,KAAKqI,EAAQsT,cACZ,OAAOna,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,UAEhD,KAAKkJ,EAAQwT,UACZ,OAAOra,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,UAEhD,KAAKkJ,EAAQ0T,aACZ,OAAOva,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,OAEhD,KAAKkJ,EAAQgS,WACZ,OAAO7Y,KAAKg0B,iBAAiBx1B,GAE9B,KAAKqI,EAAQqS,eACZ,OAAOlZ,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,QAEhD,KAAKkJ,EAAQuS,aACZ,OAAOpZ,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,QAEhD,KAAKkJ,EAAQkS,UACb,KAAKlS,EAAQ2S,iBACb,KAAK3S,EAAQ6S,eACZ,OAAO1Z,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,MAEhD,KAAKkJ,EAAQ2R,gBACZ,OAAOxY,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,MAEhD,KAAKkJ,EAAQ8S,aACZ,OAAO3Z,KAAKi0B,mBAAmBz1B,GAEhC,KAAKqI,EAAQqa,OACZ,OAAOlhB,KAAKk0B,aAAa11B,GAE1B,KAAKqI,EAAQgT,QACZ,OAAO7Z,KAAKm0B,cAAc31B,GAE3B,KAAKqI,EAAQyS,eACZ,OAAOtZ,KAAKo0B,qBAAqB51B,GAElC,KAAKqI,EAAQ8T,OACZ,OAAO3a,KAAKq0B,aAAa71B,GAE1B,KAAKqI,EAAQkT,iBACZ,OAAO/Z,KAAKs0B,cAAc91B,GAE3B,KAAKqI,EAAQ0X,SACZ,OAAOve,KAAKu0B,eAAe/1B,GAE5B,KAAKqI,EAAQ4X,QACZ,OAAOze,KAAKw0B,cAAch2B,GAE3B,KAAKqI,EAAQ6Q,kBACZ,OAAO1X,KAAKy0B,wBAAwBj2B,GAErC,KAAKqI,EAAQ+Q,gBACZ,OAAO5X,KAAK00B,sBAAsBl2B,GAEnC,KAAKqI,EAAQ2Q,iBACZ,OAAOxX,KAAK20B,uBAAuBn2B,GAEpC,KAAKqI,EAAQ6X,SACZ,OAAO1e,KAAK40B,eAAep2B,GAG7B,OAAO,IACR,CACA,cAAA8wB,CAAeuF,EAAyB/E,GACvC,GAAa,MAAT+E,EACH,OAAO,KAER,IAAI11B,EAAS01B,EAAMC,QAAQjwB,GAAK7E,KAAKwyB,cAAc3tB,IAAI2hB,OAAO3hB,GAAU,MAALA,GAKnE,OAHIirB,GACH/D,GAAe+D,EAAM3wB,GAEfA,CACR,CAEA,eAAAq0B,CAAuDh1B,EAAsB0X,EAAYzX,GACxF,OAAOuB,KAAK+tB,cAAiB7X,EAASzX,EAAOuB,KAAKsvB,eAAe9wB,EAAK6N,UACvE,CAEA,iBAAAwnB,CAAkBr1B,EAAsBb,EAAYuY,EAAiBzX,GACpE,OAAOuB,KAAK+0B,gBAAgBp3B,EAAIuY,EAASzX,EAAOuB,KAAKsvB,eAAe9wB,EAAK6N,UAC1E,CAEA,eAAAomB,CAAgBj0B,GACf,IAAIW,EAASa,KAAKwzB,gBAAgBh1B,EAAM,KAExC,MAAMwK,EAAQhJ,KAAKytB,UAAUjvB,EAAKyL,WAClCzL,EAAKqK,OAALrK,EAAKqK,KAASG,GAAOiC,gBAAgBpC,MAErC7I,KAAKg1B,YAAYx2B,EAAMW,GACvBa,KAAKivB,kBAAkBzwB,EAAK8N,SAAUnN,GACtCa,KAAKi1B,uBAAuB91B,EAAO6J,MAAOxK,GAE1C,MAAM2K,EAAY3K,EAAK2K,WAAaH,GAAOiC,gBAAgB9B,UAM3D,OAJIA,GACHhK,EAAO+1B,UAAUC,IAAIn1B,KAAKwxB,eAAeroB,EAAUlG,GAAIkG,EAAUC,QAG3DjK,CACR,CAEA,mBAAAi2B,CAAoBpsB,EAAYvK,GAC/BuB,KAAKi1B,uBAAuBjsB,EAAOvK,EACpC,CAEA,sBAAAw2B,CAAuBjsB,EAAYvK,GACrB,MAATA,IAGAA,EAAMI,QACTmK,EAAa,MAAIvK,EAAMI,OAGpBJ,EAAMM,WACTiK,EAAM,aAAevK,EAAMM,UAE7B,CAEA,eAAAg0B,CAAgBv0B,GACf,IAAIW,EAASa,KAAKwzB,gBAAgBh1B,EAAM,KAExCwB,KAAKivB,kBAAkBzwB,EAAK8N,SAAUnN,GAEtC,IAAIk2B,EAAO,GAEX,GAAI72B,EAAKyE,GAAI,CACZ,MAAMsP,EAAMvS,KAAK+oB,SAASnW,aAAavR,KAAKoR,KAAK6iB,GAAMA,EAAGryB,IAAMzE,EAAKyE,IAAwB,aAAlBqyB,EAAGxwB,YAC9EuwB,EAAO9iB,GAAKnV,QAAUi4B,CACvB,CAQA,OANI72B,EAAK8gB,SACR+V,GAAQ,IAAI72B,EAAK8gB,UAGlBngB,EAAOk2B,KAAOA,EAEPl2B,CACR,CAEA,cAAA6zB,CAAex0B,GACd,OAAOwB,KAAKwzB,gBAAgBh1B,EAAM,OACnC,CAEA,uBAAAi2B,CAAwBc,GACvB,IAAKv1B,KAAK0B,QAAQmpB,eACjB,OAAO,KAER,MAAM2K,EAAM,IAAIC,MAChBz1B,KAAKgrB,kBAAkBmK,IAAIK,GAE3B,MAAMr2B,EAASa,KAAKmrB,cAAc,qBAAqBoK,EAAatyB,MAIpE,OAHAjD,KAAK01B,MAAM,IAAMF,EAAIvM,SAAS9pB,EAAQ,IACtCa,KAAKqR,WAAWkkB,EAAatyB,IAAMuyB,EAE5Br2B,CACR,CAEA,qBAAAu1B,CAAsBiB,GACrB,IAAK31B,KAAK0B,QAAQmpB,eACjB,OAAO,KAER,MAAM2K,EAAMx1B,KAAKqR,WAAWskB,EAAW1yB,IACjC9D,EAASa,KAAKmrB,cAAc,mBAAmBwK,EAAW1yB,MAGhE,OAFAjD,KAAK01B,MAAM,IAAMF,GAAKI,OAAOz2B,EAAQ,IAE9BA,CACR,CAEA,sBAAAw1B,CAAuBkB,GACtB,IAAK71B,KAAK0B,QAAQmpB,eACjB,OAAO,KAER,IAAIiL,EAAU91B,KAAK+oB,SAASjV,cAAczC,WAAWwkB,EAAW5yB,IAEhE,IAAK6yB,EACJ,OAAO,KAER,MAAMC,EAAM,IAAIC,iBACVC,EAAej2B,KAAK+tB,cAAc,OAAQ,CAAE9O,UAAW,GAAGjf,KAAKif,yBAA2B,CAAC,OAC3FiX,EAAsBl2B,KAAK+tB,cAAc,MAAO,CAAE9O,UAAW,GAAGjf,KAAKif,8BAQ3E,OANAjf,KAAKm2B,qBAAqBL,EAASI,GAEnCH,EAAI7K,YAAYlrB,KAAKmrB,cAAc,YAAY2K,EAAQ7yB,SAAS6yB,EAAQ1a,aAAa0a,EAAQxa,SAC7Fya,EAAI7K,YAAY+K,GAChBF,EAAI7K,YAAYgL,GAETH,CACR,CAEA,cAAAnB,CAAep2B,GACd,IAAKwB,KAAK0B,QAAQ00B,gBACjB,OAAO,KAER,IAAIj3B,EAASa,KAAK+tB,cAAc,UAMhC,OAJA/tB,KAAKsqB,MAAM3qB,KAAKK,KAAK+oB,SAAStU,aAAajW,EAAKyE,GAAIjD,KAAK4pB,aAAaiD,KAAK/vB,IAC1EqC,EAAOk3B,OAASv5B,KAGVqC,CACR,CAEA,oBAAAg3B,CAAqBL,EAAqBQ,GACzCA,EAAUpL,YAAYlrB,KAAK+tB,cAAc,MAAO,CAAE9O,UAAW,GAAGjf,KAAKif,4BAA8B,CAAC6W,EAAQ1a,UAC5Gkb,EAAUpL,YAAYlrB,KAAK+tB,cAAc,MAAO,CAAE9O,UAAW,GAAGjf,KAAKif,0BAA4B,CAAC,IAAIsX,KAAKT,EAAQxa,MAAMkb,oBAEzHx2B,KAAKsvB,eAAewG,EAAQzpB,SAAUiqB,EACvC,CAEA,aAAArD,CAAcz0B,GACb,IAAIW,EAASa,KAAKwzB,gBAAgBh1B,EAAM,OAQxC,OANAW,EAAO6J,MAAM2oB,QAAU,eACvBxyB,EAAO6J,MAAMF,SAAW,WACxB3J,EAAO6J,MAAMytB,WAAa,MAE1Bz2B,KAAKivB,kBAAkBzwB,EAAK8N,SAAUnN,GAE/BA,CACR,CAEA,WAAA+zB,CAAY10B,GACX,IAAIW,EAASa,KAAK+tB,cAAc,OAC5B1I,EAAY7mB,EAAK8N,UAAU+Y,UAI/B,GAFArlB,KAAKivB,kBAAkBzwB,EAAK8N,SAAUnN,GAElCX,EAAK0kB,SAAW1kB,EAAK0kB,QAAQwT,KAAK55B,GAAU,GAALA,GAAS,CACnD,IAAK0J,EAAMC,EAAKC,EAAOC,GAAUnI,EAAK0kB,QACtCmC,EAAY,SAAS,GAAK,EAAI7e,EAAOE,OAAW,GAAK,EAAID,EAAME,MAC/DxH,EAAO6J,MAAM,aAAe,SAAS,IAAMvC,GAAKnI,QAAQ,QAAQ,KAAO,EAAIoI,IAAQpI,QAAQ,QAAQ,KAAO,EAAIqI,IAASrI,QAAQ,QAAQ,IAAMkI,GAAMlI,QAAQ,MAC5J,CAaA,OAXIE,EAAK6kB,WACRgC,EAAY,UAAU7mB,EAAK6kB,gBAAgBgC,GAAa,MAEzDlmB,EAAO6J,MAAMqc,UAAYA,GAAWkC,OAEhCvnB,KAAK+oB,UACR/oB,KAAKsqB,MAAM3qB,KAAKK,KAAK+oB,SAAS7U,kBAAkB1V,EAAKof,IAAK5d,KAAK4pB,aAAaiD,KAAK/vB,IAChFqC,EAAOye,IAAM9gB,KAIRqC,CACR,CAEA,UAAAg0B,CAAW30B,GACV,OAAOwB,KAAK0pB,aAAaiN,eAAen4B,EAAKqM,KAC9C,CAEA,iBAAAuoB,CAAkB50B,GACjB,OAAOwB,KAAK0B,QAAQk1B,cAAgB52B,KAAKmzB,WAAW30B,GAAQ,IAC7D,CAEA,WAAA+0B,CAAY/0B,GACX,MAAkB,gBAAdA,EAAK+hB,MACDvgB,KAAK+tB,cAAc,MAGpB,IACR,CAEA,cAAAwG,CAAe/1B,GACd,OAAIwB,KAAK0B,QAAQk1B,cACT52B,KAAKwzB,gBAAgBh1B,EAAM,OAE5BwB,KAAKsvB,eAAe9wB,EAAK6N,SACjC,CAEA,aAAAmoB,CAAch2B,GACb,OAAIwB,KAAK0B,QAAQk1B,cACT52B,KAAKwzB,gBAAgBh1B,EAAM,OAE5B,IACR,CAEA,YAAA80B,CAAa90B,GACZ,IAAIumB,EAAO/kB,KAAK+tB,cAAc,QAG9B,OAFAhJ,EAAK/b,MAAMpN,WAAa4C,EAAKiiB,KAC7BsE,EAAKsE,UAAY,MAAM7qB,EAAKkiB,QACrBqE,CACR,CAEA,uBAAA0O,CAAwBj1B,GACvB,IAAIW,EAASa,KAAK+tB,cAAc,OAGhC,OAFA/tB,KAAK8uB,mBAAmBnvB,KAAKnB,EAAKyE,IAClC9D,EAAOqG,YAAc,GAAGxF,KAAK8uB,mBAAmBtyB,SACzC2C,CACR,CAEA,sBAAAu0B,CAAuBl1B,GACtB,IAAIW,EAASa,KAAK+tB,cAAc,OAGhC,OAFA/tB,KAAKmqB,kBAAkBxqB,KAAKnB,EAAKyE,IACjC9D,EAAOqG,YAAc,GAAGxF,KAAKmqB,kBAAkB3tB,SACxC2C,CACR,CAEA,SAAAk0B,CAAU70B,GACT,IAAIq4B,EAAU72B,KAAK+tB,cAAc,QAIjC,GAFA8I,EAAQxN,UAAY,SAEhBrpB,KAAK0B,QAAQo1B,aAAc,CAC9BD,EAAQ5X,UAAYjf,KAAK+2B,eACzB,IAAIC,EAubP,SAA8Cx4B,EAAsB0E,GACnE,IAAIkc,EAAS5gB,EAAK4gB,OAElB,KAAiB,MAAVA,GAAkBA,EAAOlc,MAAQA,GACvCkc,EAASA,EAAOA,OAEjB,OAAUA,CACX,CA9be6X,CAAyBz4B,EAAMqI,EAAQ8X,YAAY9V,KAC/D7I,KAAKqqB,YAAY1qB,KAAK,CAAEq3B,QAAOjS,KAAM8R,GACtC,CAEA,OAAOA,CACR,CAEA,mBAAAnE,CAAoBl0B,GACnB,OAAOwB,KAAK+tB,cAAc,OAAQ,CAAE9qB,GAAIzE,EAAKmE,MAC9C,CAEA,SAAAgwB,CAAUn0B,GACT,GAAIA,EAAKyhB,SACR,OAAO,KAER,MAAM9gB,EAASa,KAAK+tB,cAAc,QAQlC,GANIvvB,EAAKyE,KACR9D,EAAO8D,GAAKzE,EAAKyE,IAElBjD,KAAKg1B,YAAYx2B,EAAMW,GACvBa,KAAKivB,kBAAkBzwB,EAAK8N,SAAUnN,GAElCX,EAAKgjB,cAAe,CACvB,MAAM0V,EAAUl3B,KAAK+tB,cAAcvvB,EAAKgjB,eACxCxhB,KAAKsvB,eAAe9wB,EAAK6N,SAAU6qB,GACnC/3B,EAAO+rB,YAAYgM,EACpB,MAECl3B,KAAKsvB,eAAe9wB,EAAK6N,SAAUlN,GAGpC,OAAOA,CACR,CAEA,WAAAyzB,CAAYp0B,GACX,IAAIW,EAASa,KAAK+tB,cAAc,SAiBhC,OAfA/tB,KAAK+pB,mBAAmBpqB,KAAKK,KAAKgqB,qBAClChqB,KAAK6pB,oBAAoBlqB,KAAKK,KAAK8pB,sBACnC9pB,KAAK8pB,qBAAuB,CAAA,EAC5B9pB,KAAKgqB,oBAAsB,CAAE1D,IAAK,EAAG9B,IAAK,GAEtChmB,EAAKgJ,SACRrI,EAAO+rB,YAAYlrB,KAAKm3B,mBAAmB34B,EAAKgJ,UAEjDxH,KAAKg1B,YAAYx2B,EAAMW,GACvBa,KAAKsvB,eAAe9wB,EAAK6N,SAAUlN,GACnCa,KAAKivB,kBAAkBzwB,EAAK8N,SAAUnN,GAEtCa,KAAK8pB,qBAAuB9pB,KAAK6pB,oBAAoBuN,MACrDp3B,KAAKgqB,oBAAsBhqB,KAAK+pB,mBAAmBqN,MAE5Cj4B,CACR,CAEA,kBAAAg4B,CAAmB3vB,GAClB,IAAIrI,EAASa,KAAK+tB,cAAc,YAEhC,IAAK,IAAIzH,KAAO9e,EAAS,CACxB,IAAI6vB,EAAUr3B,KAAK+tB,cAAc,OAE7BzH,EAAIrf,QACPowB,EAAQruB,MAAM/B,MAAQqf,EAAIrf,OAE3B9H,EAAO+rB,YAAYmM,EACpB,CAEA,OAAOl4B,CACR,CAEA,cAAA0zB,CAAer0B,GACd,IAAIW,EAASa,KAAK+tB,cAAc,MAgBhC,OAdA/tB,KAAKgqB,oBAAoB1D,IAAM,EAE3B9nB,EAAKkmB,YACRvlB,EAAO+rB,YAAYlrB,KAAKs3B,2BAA2B94B,EAAKkmB,aAEzD1kB,KAAKg1B,YAAYx2B,EAAMW,GACvBa,KAAKsvB,eAAe9wB,EAAK6N,SAAUlN,GACnCa,KAAKivB,kBAAkBzwB,EAAK8N,SAAUnN,GAElCX,EAAKmmB,WACRxlB,EAAO+rB,YAAYlrB,KAAKs3B,2BAA2B94B,EAAKmmB,YAEzD3kB,KAAKgqB,oBAAoBxF,MAElBrlB,CACR,CAEA,0BAAAm4B,CAA2BC,GAC1B,MAAMp4B,EAASa,KAAK+tB,cAAc,KAAM,CAAEwJ,YAE1C,OADAp4B,EAAO6J,MAAc,OAAI,OAClB7J,CACR,CAEA,eAAA2zB,CAAgBt0B,GACf,IAAIW,EAASa,KAAKwzB,gBAAgBh1B,EAAM,MAExC,MAAMhB,EAAMwC,KAAKgqB,oBAAoB1D,IAsBrC,OApBI9nB,EAAKwmB,cACkB,WAAtBxmB,EAAKwmB,eACRhlB,KAAK8pB,qBAAqBtsB,GAAO2B,EACjCA,EAAOq4B,QAAU,GACPx3B,KAAK8pB,qBAAqBtsB,KACpCwC,KAAK8pB,qBAAqBtsB,GAAKg6B,SAAW,EAC1Cr4B,EAAO6J,MAAM2oB,QAAU,QAGxB3xB,KAAK8pB,qBAAqBtsB,GAAO,KAGlCwC,KAAKg1B,YAAYx2B,EAAMW,GACvBa,KAAKivB,kBAAkBzwB,EAAK8N,SAAUnN,GAElCX,EAAKumB,OACR5lB,EAAOo4B,QAAU/4B,EAAKumB,MAEvB/kB,KAAKgqB,oBAAoB1D,KAAOnnB,EAAOo4B,QAEhCp4B,CACR,CAEA,gBAAAw0B,CAAiBn1B,GAChB,OAAOwB,KAAKwzB,gBAAgBh1B,EAAM,MACnC,CAEA,gBAAAo1B,CAAiBp1B,GAChB,IAAI83B,EAAYt2B,KAAKy3B,iBAAiB,OAEtCnB,EAAUoB,aAAa,QAASl5B,EAAKgY,cAErC,MAAMrX,EAASa,KAAK23B,sBAAsBn5B,GAgB1C,OAdIA,EAAKyY,WAAWhU,IACnBjD,KAAKsqB,MAAM3qB,KAAKK,KAAK+oB,UAAU7U,kBAAkB1V,EAAKyY,UAAUhU,GAAIjD,KAAK4pB,aACvEiD,KAAK/vB,GAAKqC,EAAOu4B,aAAa,OAAQ56B,KAGzCw5B,EAAUpL,YAAY/rB,GAEtBy4B,sBAAsB,KACrB,MAAMC,EAAMvB,EAAUx0B,kBAA0Bg2B,UAEhDxB,EAAUoB,aAAa,QAAS,GAAGK,KAAKC,KAAKH,EAAG/6B,EAAK+6B,EAAG5wB,UACxDqvB,EAAUoB,aAAa,SAAU,GAAGK,KAAKC,KAAKH,EAAGI,EAAIJ,EAAG3wB,aAGlDovB,CACR,CAEA,qBAAAqB,CAAsBn5B,GACrB,MAAMW,EAASa,KAAKy3B,iBAAiBj5B,EAAK0X,SAC1CzK,OAAO8gB,QAAQ/tB,EAAK0B,OAAOsd,QAAQ,EAAE8O,EAAGxrB,KAAO3B,EAAOu4B,aAAapL,EAAGxrB,IAEtE,IAAK,IAAIoW,KAAS1Y,EAAK6N,SAClB6K,EAAMhU,MAAQ2D,EAAQmP,WACzB7W,EAAO+rB,YAAYlrB,KAAK23B,sBAAsBzgB,IAE9C/X,EAAO+rB,eAAeztB,EAAQuC,KAAKwyB,cAActb,KAInD,OAAO/X,CACR,CAEA,gBAAA60B,CAAiBx1B,GAChB,MAAMpC,EAAOoC,EAAK6N,SAASoG,KAAK1S,GAAMA,EAAGmD,MAAQ2D,EAAQmS,SAEzD,GAAIxa,EAAKC,OAAO4iB,WACf,OAAOrhB,KAAK+0B,gBAAgBp3B,GAAW,QAAS,KAAMqC,KAAKsvB,eAAe,CAAClzB,KAG5E,MAAM87B,EAAS15B,EAAK6N,SAASoG,KAAK1S,GAAMA,EAAGmD,MAAQ2D,EAAQkS,WAC3D,OAAO/Y,KAAK+0B,gBAAgBp3B,GAAW,QAAS,KAAMqC,KAAKsvB,eAAe,CAAClzB,EAAM87B,IAClF,CAEA,kBAAAjE,CAAmBz1B,GAClB,MAAM6N,EAAW,GAMjB,OAJAA,EAAS1M,KAAKK,KAAK+0B,gBAAgBp3B,GAAW,KAAM,KAAM,CAACa,EAAKC,MAAM6iB,WAAa,OACnFjV,EAAS1M,QAAQK,KAAKsvB,eAAe9wB,EAAK6N,WAC1CA,EAAS1M,KAAKK,KAAK+0B,gBAAgBp3B,GAAW,KAAM,KAAM,CAACa,EAAKC,MAAM8iB,SAAW,OAE1EvhB,KAAK+0B,gBAAgBp3B,GAAW,OAAQ,KAAM0O,EACtD,CAEA,aAAA8nB,CAAc31B,GACb,MAAM6N,EAAW,GACX8rB,EAAU17B,EAAM+B,EAAK6N,SAAUvP,GAAKA,EAAEoG,MAEtCqW,EAAM4e,EAAQtxB,EAAQ2S,kBACtBC,EAAM0e,EAAQtxB,EAAQ6S,gBACtB0e,EAAU7e,EAAMvZ,KAAK+0B,gBAAgBp3B,GAAW,KAAM,KAAMF,EAAQuC,KAAKwyB,cAAcjZ,KAAS,KAChG8e,EAAU5e,EAAMzZ,KAAK+0B,gBAAgBp3B,GAAW,KAAM,KAAMF,EAAQuC,KAAKwyB,cAAc/Y,KAAS,KAEhG6e,EAAWt4B,KAAK+0B,gBAAgBp3B,GAAW,KAAM,KAAM,CAACa,EAAKC,OAAOiiB,MAAQ,MAclF,OAZI0X,GAAWC,EACdhsB,EAAS1M,KAAKK,KAAK+0B,gBAAgBp3B,GAAW,aAAc,KAAM,CAAC26B,EAAUD,EAASD,KAC7EA,EACT/rB,EAAS1M,KAAKK,KAAK+0B,gBAAgBp3B,GAAW,QAAS,KAAM,CAAC26B,EAAUF,KAC/DC,EACThsB,EAAS1M,KAAKK,KAAK+0B,gBAAgBp3B,GAAW,SAAU,KAAM,CAAC26B,EAAUD,KAEzEhsB,EAAS1M,KAAK24B,GAGfjsB,EAAS1M,QAAQK,KAAKsvB,eAAe6I,EAAQtxB,EAAQmS,SAAS3M,WAEvDrM,KAAK+0B,gBAAgBp3B,GAAW,OAAQ,KAAM0O,EACtD,CAEA,oBAAA+nB,CAAqB51B,GACpB,MAAM6N,EAAW,GACX8rB,EAAU17B,EAAM+B,EAAK6N,SAAUvP,GAAKA,EAAEoG,MAEtCqW,EAAM4e,EAAQtxB,EAAQ2S,kBACtBC,EAAM0e,EAAQtxB,EAAQ6S,gBACtB0e,EAAU7e,EAAMvZ,KAAK+0B,gBAAgBp3B,GAAW,KAAM,KAAMF,EAAQuC,KAAKwyB,cAAcjZ,KAAS,KAChG8e,EAAU5e,EAAMzZ,KAAK+0B,gBAAgBp3B,GAAW,KAAM,KAAMF,EAAQuC,KAAKwyB,cAAc/Y,KAAS,KAChG8e,EAAWv4B,KAAK+0B,gBAAgBp3B,GAAW,KAAM,MAKvD,OAHA0O,EAAS1M,KAAKK,KAAK+0B,gBAAgBp3B,GAAW,UAAW,KAAM,CAAC46B,EAAUF,EAASD,KACnF/rB,EAAS1M,QAAQK,KAAKsvB,eAAe6I,EAAQtxB,EAAQmS,SAAS3M,WAEvDrM,KAAK+0B,gBAAgBp3B,GAAW,OAAQ,KAAM0O,EACtD,CAEA,kBAAA0nB,CAAmBv1B,GAClB,MAAM0X,EAA+C,QAArC1X,EAAKC,MAAM2iB,sBAAkC,QAAU,SACjEjiB,EAASa,KAAK6zB,kBAAkBr1B,EAAMb,GAAWuY,GAMvD,OAJI1X,EAAKC,MAAMiiB,MACdvhB,EAAO+rB,YAAYlrB,KAAK+0B,gBAAgBp3B,GAAW,KAAM,KAAM,CAACa,EAAKC,MAAMiiB,QAGrEvhB,CACR,CAEA,YAAAk1B,CAAa71B,GACZ,MAAMW,EAASa,KAAK6zB,kBAAkBr1B,EAAMb,GAAW,QAEvD,OAAOa,EAAKC,MAAMqK,UACjB,IAAK,MAAO3J,EAAO6J,MAAMsgB,eAAiB,WAAY,MACtD,IAAK,SAAUnqB,EAAO6J,MAAMsgB,eAAiB,YAG9C,OAAOnqB,CACR,CAEA,YAAA+0B,CAAa11B,GACZ,MAAMW,EAASa,KAAK+0B,gBAAgBp3B,GAAW,KAAM,KAAMqC,KAAKsvB,eAAe9wB,EAAK6N,WAKpF,OAHArM,KAAKg1B,YAAYx2B,EAAMW,GACvBa,KAAKivB,kBAAkBzwB,EAAK8N,SAAUnN,GAE/BA,CACR,CAEA,aAAAm1B,CAAc91B,GACb,MAAMW,EAASa,KAAK+0B,gBAAgBp3B,GAAW,UAE/CqC,KAAKg1B,YAAYx2B,EAAMW,GACvBa,KAAKivB,kBAAkBzwB,EAAK8N,SAAUnN,GAEtC,IAAK,IAAI+X,KAASlX,KAAKsvB,eAAe9wB,EAAK6N,UAC1ClN,EAAO+rB,YAAYlrB,KAAK+0B,gBAAgBp3B,GAAW,MAAO,KAAM,CAC/DqC,KAAK+0B,gBAAgBp3B,GAAW,MAAO,KAAM,CAACuZ,OAIhD,OAAO/X,CACR,CAGA,iBAAA8vB,CAAkBjmB,EAA+BwvB,GAChD,IAAK,IAAIlM,KAAKtjB,EACTsjB,EAAE5oB,WAAW,KAChB80B,EAAMd,aAAapL,EAAE0E,MAAM,GAAIhoB,EAAMsjB,IAErCkM,EAAMxvB,MAAMsjB,GAAKtjB,EAAMsjB,EAG1B,CAEA,WAAA0I,CAAY/wB,EAAuBu0B,GAC9Bv0B,EAAMgb,YACTuZ,EAAMvZ,UAAYhb,EAAMgb,WAErBhb,EAAMgG,WACTuuB,EAAMtD,UAAUC,IAAIn1B,KAAKgtB,iBAAiB/oB,EAAMgG,WAClD,CAEA,SAAAwjB,CAAUxjB,GACT,OAAOA,GAAajK,KAAK2pB,WAAW1f,EACrC,CAEA,cAAAunB,CAAevuB,EAAYw1B,GAC1B,MAAO,GAAGz4B,KAAKif,iBAAiBhc,KAAMw1B,GACvC,CAEA,YAAA1B,GACC,MAAO,GAAG/2B,KAAKif,oBAChB,CAEA,aAAAwN,CAAciM,EAAmBlc,EAAgCgQ,EAAkB,MAClF,IAAIrtB,EAAS,GAAGu5B,UAEhB,IAAK,MAAMl7B,KAAOgf,EACbhf,EAAIkG,WAAW,OAGnBvE,GAAU,KAAK3B,MAAQgf,EAAOhf,WAM/B,OAHIgvB,IACHrtB,GAAUqtB,GAEJrtB,EAAS,OACjB,CAEA,gBAAA0yB,CAAiB5uB,EAAYw1B,GAC5B,MAAO,GAAGz4B,KAAKif,iBAAiBhc,KAAMw1B,GACvC,CAEA,kBAAA1G,CAAmBlnB,EAAcmT,EAAc/a,EAAY01B,GAW1D,MAAO,IALM9tB,EAAK/G,QAAQ,QAASiZ,IAClC,IAAI0b,EAAMr6B,SAAS2e,EAAE7gB,UAAU,GAAI,IAAM,EACzC,MAAO,YAAY8D,KAAK6xB,iBAAiB5uB,EAAIw1B,OAASE,UAPvC,CACfjQ,IAAO,MACPxgB,MAAS,QAQkB8V,IAAS,KACtC,CAEA,mBAAAgU,CAAoBzpB,GA2CnB,MA1Cc,CACbqwB,KAAM,OACN1a,OAAQ,OACR2a,QAAS,UACTC,YAAa,cACbC,YAAa,cACbC,WAAY,cACZC,WAAY,cACZC,YAAa,uBAMbC,MAAO,WACPC,eAAgB,WAChBC,gBAAiB,wBACjBC,wBAAyB,wBACzBC,uBAAwB,sBACxBC,QAAS,mBACTC,iBAAkB,kBAClBC,qBAAsB,oBACtBC,0BAA2B,sBAC3BC,gBAAiB,qBACjBC,MAAO,iBACPC,eAAgB,iBAChBC,iBAAkB,oBAClBC,2BAA4B,cAC5BC,cAAe,kBACfC,YAAa,OACbC,eAAgB,uBAChBC,cAAe,uBACfC,eAAgB,wBAChBC,QAAS,SACTC,QAAS,SACTC,aAAc,aACdC,OAAQ,SACRC,kBAAmB,kBACnBC,0BAA2B,kBAC3BC,iBAAmB,eAGLryB,IAAWA,CAC3B,CAEA,eAAA6jB,GACMpsB,KAAK0B,QAAQo1B,cAGlB+D,WAAW,KACV,MAAMlT,WDr+C2B2O,EAAyBvN,SAAS/iB,MACrE,MAAM80B,EAAO/R,SAASgF,cAAc,OACpC+M,EAAK9xB,MAAM/B,MAAQ,QAEnBqvB,EAAUpL,YAAY4P,GACtB,MAAM37B,EAAS,IAAM27B,EAAKC,YAG1B,OAFAzE,EAAU0E,YAAYF,GAEf37B,CACR,CC49CwB87B,GAErB,IAAK,IAAIvS,KAAO1oB,KAAKqqB,YACpB5C,GAAciB,EAAI3D,KAAM2D,EAAIsO,MAAOh3B,KAAK0nB,eAAgBC,IAEvD,IACJ,CAEA,eAAAoN,CAAgBp3B,EAAYuY,EAAiBzX,EAAmC4N,GAC/E,IAAIlN,EAASxB,EAAKqC,KAAK0pB,aAAaqL,gBAAgBp3B,EAAIuY,GAAWlW,KAAK0pB,aAAaqE,cAAc7X,GAGnG,OAFAzK,OAAOC,OAAOvM,EAAQV,GACtB4N,GAAY0f,GAAe5sB,EAAQkN,GAC5BlN,CACR,CAEA,aAAA4uB,CAAqD7X,EAAYzX,EAA8D4N,GAC9H,OAAOrM,KAAK+0B,qBAAgB90B,EAAWiW,EAASzX,EAAO4N,EACxD,CAEA,gBAAAorB,CAAuDvhB,EAAYzX,EAA6D4N,GAC/H,OAAOrM,KAAK+0B,gBAAgBp3B,GAAQuY,EAASzX,EAAO4N,EACrD,CAEA,kBAAAqgB,CAAmBF,GAClB,OAAOxsB,KAAK+tB,cAAc,QAAS,CAAE1E,UAAWmD,GACjD,CAEA,aAAArB,CAActgB,GACb,OAAO7K,KAAK0pB,aAAayB,cAActgB,EACxC,CAEA,KAAA6qB,CAAMrd,GACLrY,KAAKuqB,gBAAgB5qB,KAAK0Y,EAC3B,EAKD,SAAS4S,GAAkBzsB,GAC1BA,EAAK6qB,UAAY,EAClB,CAEA,SAAS0C,GAAevtB,EAAY6N,GACnCA,EAASmR,QAAQje,IAAKf,SAAK0sB,YvC7+CD,iBADFluB,EuC8+CwBuC,IvC7+CVvC,aAAgBk+B,OuC6+CDnS,SAAS4N,eAAep3B,GAAKA,GvC9+C7E,IAAmBvC,GuC++CzB,CCngDO,MAAMm+B,GAA0B,CACnC/M,cAAc,EACdrT,aAAa,EACb2Q,aAAa,EACbgF,YAAY,EACZ1V,OAAO,EACP8b,cAAc,EACd7X,UAAW,OACX2L,WAAW,EACXyG,oBAAoB,EACpBrsB,oBAAoB,EACpBkrB,6BAA6B,EAC7BhB,eAAe,EACfQ,eAAe,EACfH,iBAAiB,EACpBE,gBAAgB,EAChB/a,cAAc,EACdkiB,eAAe,EACZ/L,gBAAgB,EAChBuL,iBAAiB,GAGf,SAAUgF,GAAWn2B,EAAkBo2B,GACzC,MAAMC,EAAM,IAAKH,MAAmBE,GACpC,OAAOtpB,GAAa3Q,KAAK6D,EAAM,IAAI6V,GAAewgB,GAAMA,EAC5D,CAEOh3B,eAAei3B,GAAexS,EAAe0B,EAA4BC,EAA8B2Q,GAC1G,MAAMC,EAAM,IAAKH,MAAmBE,GAC9BG,EAAW,IAAI/R,GAAagS,OAAO1S,UAC5C,aAAayS,EAAShR,OAAOzB,EAAU0B,EAAeC,EAAgB4Q,EACvE,CAEOh3B,eAAeo3B,GAAYz2B,EAAkBwlB,EAA4BC,EAA8B2Q,GAC7G,MAAM/1B,QAAY81B,GAAWn2B,EAAMo2B,GAEhC,aADGE,GAAej2B,EAAKmlB,EAAeC,EAAgB2Q,GAC/C/1B,CACX"} \ No newline at end of file diff --git a/docxjs/dist/docx-preview.mjs b/docxjs/dist/docx-preview.mjs index 8e4b709..0ab9123 100644 --- a/docxjs/dist/docx-preview.mjs +++ b/docxjs/dist/docx-preview.mjs @@ -1,3 +1,9 @@ +/* + * @license + * docx-preview + * Released under Apache License 2.0 + * Copyright Volodymyr Baydalka + */ import JSZip from 'jszip'; var RelationshipTypes; @@ -99,22 +105,14 @@ function clamp(val, min, max) { } const ns$1 = { - wordml: "http://schemas.openxmlformats.org/wordprocessingml/2006/main", - drawingml: "http://schemas.openxmlformats.org/drawingml/2006/main", - picture: "http://schemas.openxmlformats.org/drawingml/2006/picture", - compatibility: "http://schemas.openxmlformats.org/markup-compatibility/2006", - math: "http://schemas.openxmlformats.org/officeDocument/2006/math" -}; + wordml: "http://schemas.openxmlformats.org/wordprocessingml/2006/main"}; const LengthUsage = { Dxa: { mul: 0.05, unit: "pt" }, Emu: { mul: 1 / 12700, unit: "pt" }, FontSize: { mul: 0.5, unit: "pt" }, Border: { mul: 0.125, unit: "pt", min: 0.25, max: 12 }, Point: { mul: 1, unit: "pt" }, - Percent: { mul: 0.02, unit: "%" }, - LineHeight: { mul: 1 / 240, unit: "" }, - VmlEmu: { mul: 1 / 12700, unit: "" }, -}; + Percent: { mul: 0.02, unit: "%" }}; function convertLength(val, usage = LengthUsage.Dxa) { if (val == null || /.+(p[xt]|[%])$/.test(val)) { return val; @@ -175,7 +173,7 @@ class XmlParser { const result = []; for (let i = 0, l = elem.childNodes.length; i < l; i++) { let c = elem.childNodes.item(i); - if (c.nodeType == 1 && (localName == null || c.localName == localName)) + if (c.nodeType == Node.ELEMENT_NODE && (localName == null || c.localName == localName)) result.push(c); } return result; @@ -1224,7 +1222,7 @@ function deobfuscate(data, guidKey) { const trimmed = guidKey.replace(/{|}|-/g, ""); const numbers = new Array(len); for (let i = 0; i < len; i++) - numbers[len - i - 1] = parseInt(trimmed.substr(i * 2, 2), 16); + numbers[len - i - 1] = parseInt(trimmed.substring(i * 2, i * 2 + 2), 16); for (let i = 0; i < 32; i++) data[i] = data[i] ^ numbers[i % len]; return data; @@ -1450,7 +1448,7 @@ class DocumentParser { } parseBodyElements(element) { var children = []; - for (let elem of globalXmlParser.elements(element)) { + for (const elem of globalXmlParser.elements(element)) { switch (elem.localName) { case "p": children.push(this.parseParagraph(elem)); @@ -1470,7 +1468,7 @@ class DocumentParser { } parseStylesFile(xstyles) { var result = []; - xmlUtil.foreach(xstyles, n => { + for (const n of globalXmlParser.elements(xstyles)) { switch (n.localName) { case "style": result.push(this.parseStyle(n)); @@ -1479,7 +1477,7 @@ class DocumentParser { result.push(this.parseDefaultStyles(n)); break; } - }); + } return result; } parseDefaultStyles(node) { @@ -1490,7 +1488,7 @@ class DocumentParser { basedOn: null, styles: [] }; - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "rPrDefault": var rPr = globalXmlParser.element(c, "rPr"); @@ -1509,7 +1507,7 @@ class DocumentParser { }); break; } - }); + } return result; } parseStyle(node) { @@ -1533,7 +1531,7 @@ class DocumentParser { result.target = "span"; break; } - xmlUtil.foreach(node, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "basedOn": result.basedOn = globalXmlParser.attr(n, "val"); @@ -1586,7 +1584,7 @@ class DocumentParser { default: this.options.debug && console.warn(`DOCX: Unknown style element: ${n.localName}`); } - }); + } return result; } parseTableStyle(node) { @@ -1629,7 +1627,7 @@ class DocumentParser { break; default: return []; } - xmlUtil.foreach(node, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "pPr": result.push({ @@ -1654,14 +1652,14 @@ class DocumentParser { }); break; } - }); + } return result; } - parseNumberingFile(xnums) { + parseNumberingFile(node) { var result = []; var mapping = {}; var bullets = []; - xmlUtil.foreach(xnums, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "abstractNum": this.parseAbstractNumbering(n, bullets) @@ -1676,7 +1674,7 @@ class DocumentParser { mapping[abstractNumId] = numId; break; } - }); + } result.forEach(x => x.id = mapping[x.id]); return result; } @@ -1693,13 +1691,13 @@ class DocumentParser { parseAbstractNumbering(node, bullets) { var result = []; var id = globalXmlParser.attr(node, "abstractNumId"); - xmlUtil.foreach(node, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "lvl": result.push(this.parseNumberingLevel(id, n, bullets)); break; } - }); + } return result; } parseNumberingLevel(id, node, bullets) { @@ -1712,7 +1710,7 @@ class DocumentParser { rStyle: {}, suff: "tab" }; - xmlUtil.foreach(node, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "start": result.start = globalXmlParser.intAttr(n, "val"); @@ -1724,8 +1722,8 @@ class DocumentParser { this.parseDefaultProperties(n, result.rStyle); break; case "lvlPicBulletId": - var id = globalXmlParser.intAttr(n, "val"); - result.bullet = bullets.find(x => x?.id == id); + var bulletId = globalXmlParser.intAttr(n, "val"); + result.bullet = bullets.find(x => x?.id == bulletId); break; case "lvlText": result.levelText = globalXmlParser.attr(n, "val"); @@ -1740,7 +1738,7 @@ class DocumentParser { result.suff = globalXmlParser.attr(n, "val"); break; } - }); + } return result; } parseSdt(node, parser) { @@ -1838,13 +1836,13 @@ class DocumentParser { var result = { type: DomType.Hyperlink, parent: parent, children: [] }; result.anchor = globalXmlParser.attr(node, "anchor"); result.id = globalXmlParser.attr(node, "id"); - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "r": result.children.push(this.parseRun(c, result)); break; } - }); + } return result; } parseSmartTag(node, parent) { @@ -1855,18 +1853,18 @@ class DocumentParser { result.uri = uri; if (element) result.element = element; - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "r": result.children.push(this.parseRun(c, result)); break; } - }); + } return result; } parseRun(node, parent) { var result = { type: DomType.Run, parent: parent, children: [] }; - xmlUtil.foreach(node, c => { + for (let c of globalXmlParser.elements(node)) { c = this.checkAlternateContent(c); switch (c.localName) { case "t": @@ -1957,7 +1955,7 @@ class DocumentParser { this.parseRunProperties(c, result); break; } - }); + } return result; } parseMathElement(elem) { @@ -2079,7 +2077,7 @@ class DocumentParser { if (alignNode) pos.align = alignNode.textContent; if (offsetNode) - pos.offset = xmlUtil.sizeValue(offsetNode, LengthUsage.Emu); + pos.offset = convertLength(offsetNode.textContent, LengthUsage.Emu); } break; case "wrapTopAndBottom": @@ -2131,27 +2129,39 @@ class DocumentParser { var result = { type: DomType.Image, src: "", cssStyle: {} }; var blipFill = globalXmlParser.element(elem, "blipFill"); var blip = globalXmlParser.element(blipFill, "blip"); + var srcRect = globalXmlParser.element(blipFill, "srcRect"); result.src = globalXmlParser.attr(blip, "embed"); + if (srcRect) { + result.srcRect = [ + globalXmlParser.intAttr(srcRect, "l", 0) / 100000, + globalXmlParser.intAttr(srcRect, "t", 0) / 100000, + globalXmlParser.intAttr(srcRect, "r", 0) / 100000, + globalXmlParser.intAttr(srcRect, "b", 0) / 100000, + ]; + } var spPr = globalXmlParser.element(elem, "spPr"); var xfrm = globalXmlParser.element(spPr, "xfrm"); result.cssStyle["position"] = "relative"; - for (var n of globalXmlParser.elements(xfrm)) { - switch (n.localName) { - case "ext": - result.cssStyle["width"] = globalXmlParser.lengthAttr(n, "cx", LengthUsage.Emu); - result.cssStyle["height"] = globalXmlParser.lengthAttr(n, "cy", LengthUsage.Emu); - break; - case "off": - result.cssStyle["left"] = globalXmlParser.lengthAttr(n, "x", LengthUsage.Emu); - result.cssStyle["top"] = globalXmlParser.lengthAttr(n, "y", LengthUsage.Emu); - break; + if (xfrm) { + result.rotation = globalXmlParser.intAttr(xfrm, "rot", 0) / 60000; + for (var n of globalXmlParser.elements(xfrm)) { + switch (n.localName) { + case "ext": + result.cssStyle["width"] = globalXmlParser.lengthAttr(n, "cx", LengthUsage.Emu); + result.cssStyle["height"] = globalXmlParser.lengthAttr(n, "cy", LengthUsage.Emu); + break; + case "off": + result.cssStyle["left"] = globalXmlParser.lengthAttr(n, "x", LengthUsage.Emu); + result.cssStyle["top"] = globalXmlParser.lengthAttr(n, "y", LengthUsage.Emu); + break; + } } } return result; } parseTable(node) { var result = { type: DomType.Table, children: [] }; - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "tr": result.children.push(this.parseTableRow(c)); @@ -2163,18 +2173,18 @@ class DocumentParser { this.parseTableProperties(c, result); break; } - }); + } return result; } parseTableColumns(node) { var result = []; - xmlUtil.foreach(node, n => { + for (const n of globalXmlParser.elements(node)) { switch (n.localName) { case "gridCol": result.push({ width: globalXmlParser.lengthAttr(n, "w") }); break; } - }); + } return result; } parseTableProperties(elem, table) { @@ -2230,16 +2240,17 @@ class DocumentParser { } parseTableRow(node) { var result = { type: DomType.Row, children: [] }; - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "tc": result.children.push(this.parseTableCell(c)); break; case "trPr": + case "tblPrEx": this.parseTableRowProperties(c, result); break; } - }); + } return result; } parseTableRowProperties(elem, row) { @@ -2265,7 +2276,7 @@ class DocumentParser { } parseTableCell(node) { var result = { type: DomType.Cell, children: [] }; - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "tbl": result.children.push(this.parseTable(c)); @@ -2277,7 +2288,7 @@ class DocumentParser { this.parseTableCellProperties(c, result); break; } - }); + } return result; } parseTableCellProperties(elem, cell) { @@ -2314,20 +2325,20 @@ class DocumentParser { transform: "none" } }; - xmlUtil.foreach(elem, c => { + for (const c of globalXmlParser.elements(elem)) { if (c.localName === "textDirection") { const direction = globalXmlParser.attr(c, "val"); const style = directionMap[direction] || { writingMode: "horizontal-tb" }; cell.cssStyle["writing-mode"] = style.writingMode; cell.cssStyle["transform"] = style.transform; } - }); + } } parseDefaultProperties(elem, style = null, childStyle = null, handler = null) { style = style || {}; - xmlUtil.foreach(elem, c => { + for (const c of globalXmlParser.elements(elem)) { if (handler?.(c)) - return; + continue; switch (c.localName) { case "jc": style["text-align"] = values.valueOfJc(c); @@ -2462,7 +2473,7 @@ class DocumentParser { console.warn(`DOCX: Unknown document element: ${elem.localName}.${c.localName}`); break; } - }); + } return style; } parseUnderline(node, style) { @@ -2555,7 +2566,7 @@ class DocumentParser { } } parseMarginProperties(node, output) { - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "left": output["padding-left"] = values.valueOfMargin(c); @@ -2570,7 +2581,7 @@ class DocumentParser { output["padding-bottom"] = values.valueOfMargin(c); break; } - }); + } } parseTrHeight(node, output) { switch (globalXmlParser.attr(node, "hRule")) { @@ -2584,7 +2595,7 @@ class DocumentParser { } } parseBorderProperties(node, output) { - xmlUtil.foreach(node, c => { + for (const c of globalXmlParser.elements(node)) { switch (c.localName) { case "start": case "left": @@ -2601,18 +2612,11 @@ class DocumentParser { output["border-bottom"] = values.valueOfBorder(c); break; } - }); + } } } const knownColors = ['black', 'blue', 'cyan', 'darkBlue', 'darkCyan', 'darkGray', 'darkGreen', 'darkMagenta', 'darkRed', 'darkYellow', 'green', 'lightGray', 'magenta', 'none', 'red', 'white', 'yellow']; class xmlUtil { - static foreach(node, cb) { - for (var i = 0; i < node.childNodes.length; i++) { - let n = node.childNodes[i]; - if (n.nodeType == Node.ELEMENT_NODE) - cb(n); - } - } static colorAttr(node, attrName, defValue = null, autoColor = 'black') { var v = globalXmlParser.attr(node, attrName); if (v) { @@ -2627,9 +2631,6 @@ class xmlUtil { var themeColor = globalXmlParser.attr(node, "themeColor"); return themeColor ? `var(--docx-${themeColor}-color)` : defValue; } - static sizeValue(node, type = LengthUsage.Dxa) { - return convertLength(node.textContent, type); - } } class values { static themeValue(c, attr) { @@ -3206,30 +3207,30 @@ class HtmlRenderer { } renderDefaultStyle() { var c = this.className; - var wrapperStyle = ` -.${c}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } + var wrapperStyle = ` +.${c}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } .${c}-wrapper>section.${c} { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); margin-bottom: 30px; }`; if (this.options.hideWrapperOnPrint) { wrapperStyle = `@media not print { ${wrapperStyle} }`; } - var styleText = `${wrapperStyle} -.${c} { color: black; hyphens: auto; text-underline-position: from-font; } -section.${c} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; } -section.${c}>article { margin-bottom: auto; z-index: 1; } -section.${c}>footer { z-index: 1; } -.${c} table { border-collapse: collapse; } -.${c} table td, .${c} table th { vertical-align: top; } -.${c} p { margin: 0pt; min-height: 1em; } -.${c} span { white-space: pre-wrap; overflow-wrap: break-word; } -.${c} a { color: inherit; text-decoration: inherit; } -.${c} svg { fill: transparent; } + var styleText = `${wrapperStyle} +.${c} { color: black; hyphens: auto; text-underline-position: from-font; } +section.${c} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; } +section.${c}>article { margin-bottom: auto; z-index: 1; } +section.${c}>footer { z-index: 1; } +.${c} table { border-collapse: collapse; } +.${c} table td, .${c} table th { vertical-align: top; } +.${c} p { margin: 0pt; min-height: 1em; } +.${c} span { white-space: pre-wrap; overflow-wrap: break-word; } +.${c} a { color: inherit; text-decoration: inherit; } +.${c} svg { fill: transparent; } `; if (this.options.renderComments) { - styleText += ` -.${c}-comment-ref { cursor: default; } -.${c}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; } -.${c}-comment-ref:hover~.${c}-comment-popover { display: block; } -.${c}-comment-author,.${c}-comment-date { font-size: 0.875rem; color: #888; } + styleText += ` +.${c}-comment-ref { cursor: default; } +.${c}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; } +.${c}-comment-ref:hover~.${c}-comment-popover { display: block; } +.${c}-comment-author,.${c}-comment-date { font-size: 0.875rem; color: #888; } `; } return this.createStyleElement(styleText); @@ -3491,7 +3492,7 @@ section.${c}>footer { z-index: 1; } return null; const rng = new Range(); this.commentHighlight?.add(rng); - const result = this.htmlDocument.createComment(`start of comment #${commentStart.id}`); + const result = this.createComment(`start of comment #${commentStart.id}`); this.later(() => rng.setStart(result, 0)); this.commentMap[commentStart.id] = rng; return result; @@ -3500,7 +3501,7 @@ section.${c}>footer { z-index: 1; } if (!this.options.renderComments) return null; const rng = this.commentMap[commentEnd.id]; - const result = this.htmlDocument.createComment(`end of comment #${commentEnd.id}`); + const result = this.createComment(`end of comment #${commentEnd.id}`); this.later(() => rng?.setEnd(result, 0)); return result; } @@ -3514,7 +3515,7 @@ section.${c}>footer { z-index: 1; } const commentRefEl = this.createElement("span", { className: `${this.className}-comment-ref` }, ['💬']); const commentsContainerEl = this.createElement("div", { className: `${this.className}-comment-popover` }); this.renderCommentContent(comment, commentsContainerEl); - frg.appendChild(this.htmlDocument.createComment(`comment #${comment.id} by ${comment.author} on ${comment.date}`)); + frg.appendChild(this.createComment(`comment #${comment.id} by ${comment.author} on ${comment.date}`)); frg.appendChild(commentRefEl); frg.appendChild(commentsContainerEl); return frg; @@ -3543,7 +3544,16 @@ section.${c}>footer { z-index: 1; } } renderImage(elem) { let result = this.createElement("img"); + let transform = elem.cssStyle?.transform; this.renderStyleValues(elem.cssStyle, result); + if (elem.srcRect && elem.srcRect.some(x => x != 0)) { + var [left, top, right, bottom] = elem.srcRect; + transform = `scale(${1 / (1 - left - right)}, ${1 / (1 - top - bottom)})`; + result.style['clip-path'] = `rect(${(100 * top).toFixed(2)}% ${(100 * (1 - right)).toFixed(2)}% ${(100 * (1 - bottom)).toFixed(2)}% ${(100 * left).toFixed(2)}%)`; + } + if (elem.rotation) + transform = `rotate(${elem.rotation}deg) ${transform ?? ''}`; + result.style.transform = transform?.trim(); if (this.document) { this.tasks.push(this.document.loadDocumentImage(elem.src, this.currentPart).then(x => { result.src = x; @@ -3555,7 +3565,7 @@ section.${c}>footer { z-index: 1; } return this.htmlDocument.createTextNode(elem.text); } renderDeletedText(elem) { - return this.options.renderEndnotes ? this.htmlDocument.createTextNode(elem.text) : null; + return this.options.renderChanges ? this.renderText(elem) : null; } renderBreak(elem) { if (elem.break == "textWrapping") { diff --git a/docxjs/dist/docx-preview.mjs.map b/docxjs/dist/docx-preview.mjs.map index e1e44da..dc2da7b 100644 --- a/docxjs/dist/docx-preview.mjs.map +++ b/docxjs/dist/docx-preview.mjs.map @@ -1 +1 @@ -{"version":3,"file":"docx-preview.mjs","sources":["../src/common/relationship.ts","../src/utils.ts","../src/document/common.ts","../src/parser/xml-parser.ts","../src/common/part.ts","../src/font-table/fonts.ts","../src/font-table/font-table.ts","../src/common/open-xml-package.ts","../src/document/document-part.ts","../src/document/border.ts","../src/document/section.ts","../src/document/line-spacing.ts","../src/document/run.ts","../src/document/paragraph.ts","../src/numbering/numbering.ts","../src/numbering/numbering-part.ts","../src/styles/styles-part.ts","../src/document/dom.ts","../src/header-footer/elements.ts","../src/header-footer/parts.ts","../src/document-props/extended-props.ts","../src/document-props/extended-props-part.ts","../src/document-props/core-props.ts","../src/document-props/core-props-part.ts","../src/theme/theme.ts","../src/theme/theme-part.ts","../src/notes/elements.ts","../src/notes/parts.ts","../src/settings/settings.ts","../src/settings/settings-part.ts","../src/document-props/custom-props.ts","../src/document-props/custom-props-part.ts","../src/comments/comments-part.ts","../src/comments/comments-extended-part.ts","../src/word-document.ts","../src/document/bookmarks.ts","../src/vml/vml.ts","../src/comments/elements.ts","../src/document-parser.ts","../src/javascript.ts","../src/html-renderer.ts","../src/docx-preview.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ns","parseNumbering","xml"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"docx-preview.mjs","sources":["../src/common/relationship.ts","../src/utils.ts","../src/document/common.ts","../src/parser/xml-parser.ts","../src/common/part.ts","../src/font-table/fonts.ts","../src/font-table/font-table.ts","../src/common/open-xml-package.ts","../src/document/document-part.ts","../src/document/border.ts","../src/document/section.ts","../src/document/line-spacing.ts","../src/document/run.ts","../src/document/paragraph.ts","../src/numbering/numbering.ts","../src/numbering/numbering-part.ts","../src/styles/styles-part.ts","../src/document/dom.ts","../src/header-footer/elements.ts","../src/header-footer/parts.ts","../src/document-props/extended-props.ts","../src/document-props/extended-props-part.ts","../src/document-props/core-props.ts","../src/document-props/core-props-part.ts","../src/theme/theme.ts","../src/theme/theme-part.ts","../src/notes/elements.ts","../src/notes/parts.ts","../src/settings/settings.ts","../src/settings/settings-part.ts","../src/document-props/custom-props.ts","../src/document-props/custom-props-part.ts","../src/comments/comments-part.ts","../src/comments/comments-extended-part.ts","../src/word-document.ts","../src/document/bookmarks.ts","../src/vml/vml.ts","../src/comments/elements.ts","../src/document-parser.ts","../src/javascript.ts","../src/html-renderer.ts","../src/docx-preview.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ns","parseNumbering","xml"],"mappings":"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"} \ No newline at end of file diff --git a/docxjs/dist/index.html b/docxjs/dist/index.html deleted file mode 100644 index 12f45cb..0000000 --- a/docxjs/dist/index.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── docx-preview.d.ts
- ├── docx-preview.js
- ├── docx-preview.js.map
- ├── docx-preview.min.js
- ├── docx-preview.min.js.map
- ├── docx-preview.min.mjs
- ├── docx-preview.min.mjs.map
- ├── docx-preview.mjs
- └── docx-preview.mjs.map
-

- -1 directory, 9 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/index.html b/docxjs/index.html deleted file mode 100644 index 5a8fda4..0000000 --- a/docxjs/index.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── LICENSE
- ├── README.md
- ├── demo
- │   ├── thumbnail.example.css
- │   ├── thumbnail.example.js
- │   └── tiff-preprocessor.js
- ├── dist
- │   ├── docx-preview.d.ts
- │   ├── docx-preview.js
- │   ├── docx-preview.js.map
- │   ├── docx-preview.min.js
- │   ├── docx-preview.min.js.map
- │   ├── docx-preview.min.mjs
- │   ├── docx-preview.min.mjs.map
- │   ├── docx-preview.mjs
- │   └── docx-preview.mjs.map
- ├── karma.conf.cjs
- ├── rollup.config.mjs
- ├── src
- │   ├── comments
- │   ├── common
- │   ├── document
- │   ├── document-parser.ts
- │   ├── document-props
- │   ├── docx-preview.ts
- │   ├── font-table
- │   ├── header-footer
- │   ├── html-renderer.ts
- │   ├── javascript.ts
- │   ├── length.ts
- │   ├── notes
- │   ├── numbering
- │   ├── parser
- │   ├── settings
- │   ├── styles
- │   ├── theme
- │   ├── typings.d.ts
- │   ├── utils.ts
- │   ├── vml
- │   └── word-document.ts
- └── tests
-     ├── extended-props-test
-     └── render-test
-

- -20 directories, 24 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/karma.conf.cjs b/docxjs/karma.conf.cjs deleted file mode 100644 index 5356570..0000000 --- a/docxjs/karma.conf.cjs +++ /dev/null @@ -1,23 +0,0 @@ -module.exports = (config) => { - config.set({ - basePath: '', - frameworks: ['jasmine'], - files: [ - 'node_modules/jszip/dist/jszip.js', - 'node_modules/diff/dist/diff.js', - 'dist/docx-preview.js', - 'tests/**/*spec.js', - { pattern: 'tests/**/*.docx', included: false }, - { pattern: 'tests/**/*.html', included: false } - ], - reporters: ['progress'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - concurrency: Infinity, - crossOriginAttribute: false - }) -} diff --git a/docxjs/package.json b/docxjs/package.json new file mode 100644 index 0000000..0145f99 --- /dev/null +++ b/docxjs/package.json @@ -0,0 +1,50 @@ +{ + "name": "docx-preview", + "version": "0.3.7", + "license": "Apache-2.0", + "keywords": [ + "word", + "docx" + ], + "author": { + "name": "Volodymyr Baydalka" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/VolodymyrBaydalka/docxjs.git" + }, + "dependencies": { + "jszip": ">=3.0.0" + }, + "devDependencies": { + "rollup": "^4.9.1", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-typescript": "^12.1.4", + "diff": "^8.0.2", + "jasmine-core": "^5.1.0", + "karma": "^6.3.9", + "karma-chrome-launcher": "^3.1.0", + "karma-firefox-launcher": "^2.1.2", + "karma-jasmine": "^5.0.0", + "tslib": "^2.4.0", + "typescript": "^5.0.3" + }, + "scripts": { + "build": "rollup --config rollup.config.mjs", + "build-prod": "rollup --config rollup.config.mjs --environment BUILD:production", + "watch": "rollup --config rollup.config.mjs --watch", + "e2e": "karma start karma.conf.cjs --single-run", + "e2e-watch": "karma start karma.conf.cjs" + }, + "files": [ + "dist" + ], + "exports": { + ".": { + "import": "./dist/docx-preview.mjs", + "require": "./dist/docx-preview.js", + "types": "./dist/docx-preview.d.ts" + } + }, + "types": "dist/docx-preview.d.ts" +} diff --git a/docxjs/rollup.config.mjs b/docxjs/rollup.config.mjs deleted file mode 100644 index 7186927..0000000 --- a/docxjs/rollup.config.mjs +++ /dev/null @@ -1,41 +0,0 @@ -import typescript from '@rollup/plugin-typescript'; -import terser from '@rollup/plugin-terser'; - -const umdOutput = { - name: "docx", - file: 'dist/docx-preview.js', - sourcemap: true, - format: 'umd', - globals: { - jszip: 'JSZip' - } -}; - -export default args => { - const config = { - input: 'src/docx-preview.ts', - output: [umdOutput], - plugins: [typescript()] - } - - if (args.environment == 'BUILD:production') - config.output = [umdOutput, - { - ...umdOutput, - file: 'dist/docx-preview.min.js', - plugins: [terser()] - }, - { - file: 'dist/docx-preview.mjs', - sourcemap: true, - format: 'es', - }, - { - file: 'dist/docx-preview.min.mjs', - sourcemap: true, - format: 'es', - plugins: [terser()] - }]; - - return config -}; \ No newline at end of file diff --git a/docxjs/src/comments/comments-extended-part.ts b/docxjs/src/comments/comments-extended-part.ts deleted file mode 100644 index 763e906..0000000 --- a/docxjs/src/comments/comments-extended-part.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Part } from "../common/part"; -import { OpenXmlPackage } from "../common/open-xml-package"; -import { keyBy } from "../utils"; - -export type CommentsExtended = { - paraId: string; - paraIdParent?: string; - done: boolean; -} - -export class CommentsExtendedPart extends Part { - comments: CommentsExtended[] = []; - commentMap: Record; - - constructor(pkg: OpenXmlPackage, path: string) { - super(pkg, path); - } - - parseXml(root: Element) { - const xml = this._package.xmlParser; - - for (let el of xml.elements(root, "commentEx")) { - this.comments.push({ - paraId: xml.attr(el, 'paraId'), - paraIdParent: xml.attr(el, 'paraIdParent'), - done: xml.boolAttr(el, 'done') - }); - } - - this.commentMap = keyBy(this.comments, x => x.paraId); - } -} diff --git a/docxjs/src/comments/comments-part.ts b/docxjs/src/comments/comments-part.ts deleted file mode 100644 index 630e3b4..0000000 --- a/docxjs/src/comments/comments-part.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Part } from "../common/part"; -import { OpenXmlPackage } from "../common/open-xml-package"; -import { DocumentParser } from "../document-parser"; -import { WmlComment } from "./elements"; -import { keyBy } from "../utils"; - -export class CommentsPart extends Part { - protected _documentParser: DocumentParser; - - comments: WmlComment[] - commentMap: Record; - - constructor(pkg: OpenXmlPackage, path: string, parser: DocumentParser) { - super(pkg, path); - this._documentParser = parser; - } - - parseXml(root: Element) { - this.comments = this._documentParser.parseComments(root); - this.commentMap = keyBy(this.comments, x => x.id); - } -} \ No newline at end of file diff --git a/docxjs/src/comments/elements.ts b/docxjs/src/comments/elements.ts deleted file mode 100644 index 45fca35..0000000 --- a/docxjs/src/comments/elements.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { DomType, OpenXmlElementBase } from "../document/dom"; - -export class WmlComment extends OpenXmlElementBase { - type = DomType.Comment; - id: string; - author: string; - initials: string; - date: string; -} - -export class WmlCommentReference extends OpenXmlElementBase { - type = DomType.CommentReference; - - constructor(public id?: string) { - super(); - } -} - -export class WmlCommentRangeStart extends OpenXmlElementBase { - type = DomType.CommentRangeStart; - - constructor(public id?: string) { - super(); - } -} -export class WmlCommentRangeEnd extends OpenXmlElementBase { - type = DomType.CommentRangeEnd; - - constructor(public id?: string) { - super(); - } -} \ No newline at end of file diff --git a/docxjs/src/comments/index.html b/docxjs/src/comments/index.html deleted file mode 100644 index d4c9b98..0000000 --- a/docxjs/src/comments/index.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── comments-extended-part.ts
- ├── comments-part.ts
- └── elements.ts
-

- -1 directory, 3 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/common/index.html b/docxjs/src/common/index.html deleted file mode 100644 index 38dce83..0000000 --- a/docxjs/src/common/index.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── open-xml-package.ts
- ├── part.ts
- └── relationship.ts
-

- -1 directory, 3 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/common/open-xml-package.ts b/docxjs/src/common/open-xml-package.ts deleted file mode 100644 index e5c0e06..0000000 --- a/docxjs/src/common/open-xml-package.ts +++ /dev/null @@ -1,59 +0,0 @@ -import JSZip from "jszip"; -import { parseXmlString, XmlParser } from "../parser/xml-parser"; -import { splitPath } from "../utils"; -import { parseRelationships, Relationship } from "./relationship"; - -export interface OpenXmlPackageOptions { - trimXmlDeclaration: boolean, - keepOrigin: boolean, -} - -export class OpenXmlPackage { - xmlParser: XmlParser = new XmlParser(); - - constructor(private _zip: JSZip, public options: OpenXmlPackageOptions) { - } - - get(path: string): any { - const p = normalizePath(path); - return this._zip.files[p] ?? this._zip.files[p.replace(/\//g, '\\')]; - } - - update(path: string, content: any) { - this._zip.file(path, content); - } - - static async load(input: Blob | any, options: OpenXmlPackageOptions): Promise { - const zip = await JSZip.loadAsync(input); - return new OpenXmlPackage(zip, options); - } - - save(type: any = "blob"): Promise { - return this._zip.generateAsync({ type }); - } - - load(path: string, type: JSZip.OutputType = "string"): Promise { - return this.get(path)?.async(type) ?? Promise.resolve(null); - } - - async loadRelationships(path: string = null): Promise { - let relsPath = `_rels/.rels`; - - if (path != null) { - const [f, fn] = splitPath(path); - relsPath = `${f}_rels/${fn}.rels`; - } - - const txt = await this.load(relsPath); - return txt ? parseRelationships(this.parseXmlDocument(txt).firstElementChild, this.xmlParser) : null; - } - - /** @internal */ - parseXmlDocument(txt: string): Document { - return parseXmlString(txt, this.options.trimXmlDeclaration); - } -} - -function normalizePath(path: string) { - return path.startsWith('/') ? path.substr(1) : path; -} \ No newline at end of file diff --git a/docxjs/src/common/part.ts b/docxjs/src/common/part.ts deleted file mode 100644 index 6d886b1..0000000 --- a/docxjs/src/common/part.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { serializeXmlString } from "../parser/xml-parser"; -import { OpenXmlPackage } from "./open-xml-package"; -import { Relationship } from "./relationship"; - -export class Part { - protected _xmlDocument: Document; - - rels: Relationship[]; - - constructor(protected _package: OpenXmlPackage, public path: string) { - } - - async load(): Promise { - this.rels = await this._package.loadRelationships(this.path); - - const xmlText = await this._package.load(this.path); - const xmlDoc = this._package.parseXmlDocument(xmlText); - - if (this._package.options.keepOrigin) { - this._xmlDocument = xmlDoc; - } - - this.parseXml(xmlDoc.firstElementChild); - } - - save() { - this._package.update(this.path, serializeXmlString(this._xmlDocument)); - } - - protected parseXml(root: Element) { - } -} \ No newline at end of file diff --git a/docxjs/src/common/relationship.ts b/docxjs/src/common/relationship.ts deleted file mode 100644 index faa62bb..0000000 --- a/docxjs/src/common/relationship.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; - -export interface Relationship { - id: string, - type: RelationshipTypes | string, - target: string - targetMode: "" | "External" | string -} - -export enum RelationshipTypes { - OfficeDocument = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", - FontTable = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable", - Image = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", - Numbering = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering", - Styles = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", - StylesWithEffects = "http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects", - Theme = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", - Settings = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings", - WebSettings = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings", - Hyperlink = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink", - Footnotes = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes", - Endnotes = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes", - Footer = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", - Header = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", - ExtendedProperties = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties", - CoreProperties = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties", - CustomProperties = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties", - Comments = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", - CommentsExtended = "http://schemas.microsoft.com/office/2011/relationships/commentsExtended", - AltChunk = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk" -} - -export function parseRelationships(root: Element, xml: XmlParser): Relationship[] { - return xml.elements(root).map(e => { - id: xml.attr(e, "Id"), - type: xml.attr(e, "Type"), - target: xml.attr(e, "Target"), - targetMode: xml.attr(e, "TargetMode") - }); -} \ No newline at end of file diff --git a/docxjs/src/document-parser.ts b/docxjs/src/document-parser.ts deleted file mode 100644 index 2077283..0000000 --- a/docxjs/src/document-parser.ts +++ /dev/null @@ -1,1730 +0,0 @@ -import { - DomType, WmlTable, IDomNumbering, - WmlHyperlink, WmlSmartTag, IDomImage, OpenXmlElement, WmlTableColumn, WmlTableCell, - WmlTableRow, NumberingPicBullet, WmlText, WmlSymbol, WmlBreak, WmlNoteReference, - WmlAltChunk -} from './document/dom'; -import { DocumentElement } from './document/document'; -import { WmlParagraph, parseParagraphProperties, parseParagraphProperty } from './document/paragraph'; -import { parseSectionProperties, SectionProperties } from './document/section'; -import xml from './parser/xml-parser'; -import { parseRunProperties, WmlRun } from './document/run'; -import { parseBookmarkEnd, parseBookmarkStart } from './document/bookmarks'; -import { IDomStyle, IDomSubStyle } from './document/style'; -import { WmlFieldChar, WmlFieldSimple, WmlInstructionText } from './document/fields'; -import { convertLength, LengthUsage, LengthUsageType } from './document/common'; -import { parseVmlElement } from './vml/vml'; -import { WmlComment, WmlCommentRangeEnd, WmlCommentRangeStart, WmlCommentReference } from './comments/elements'; -import { encloseFontFamily } from './utils'; - -export var autos = { - shd: "inherit", - color: "black", - borderColor: "black", - highlight: "transparent" -}; - -const supportedNamespaceURIs = []; - -const mmlTagMap = { - "oMath": DomType.MmlMath, - "oMathPara": DomType.MmlMathParagraph, - "f": DomType.MmlFraction, - "func": DomType.MmlFunction, - "fName": DomType.MmlFunctionName, - "num": DomType.MmlNumerator, - "den": DomType.MmlDenominator, - "rad": DomType.MmlRadical, - "deg": DomType.MmlDegree, - "e": DomType.MmlBase, - "sSup": DomType.MmlSuperscript, - "sSub": DomType.MmlSubscript, - "sPre": DomType.MmlPreSubSuper, - "sup": DomType.MmlSuperArgument, - "sub": DomType.MmlSubArgument, - "d": DomType.MmlDelimiter, - "nary": DomType.MmlNary, - "eqArr": DomType.MmlEquationArray, - "lim": DomType.MmlLimit, - "limLow": DomType.MmlLimitLower, - "m": DomType.MmlMatrix, - "mr": DomType.MmlMatrixRow, - "box": DomType.MmlBox, - "bar": DomType.MmlBar, - "groupChr": DomType.MmlGroupChar -} - -export interface DocumentParserOptions { - ignoreWidth: boolean; - debug: boolean; -} - -export class DocumentParser { - options: DocumentParserOptions; - - constructor(options?: Partial) { - this.options = { - ignoreWidth: false, - debug: false, - ...options - }; - } - - parseNotes(xmlDoc: Element, elemName: string, elemClass: any): any[] { - var result = []; - - for (let el of xml.elements(xmlDoc, elemName)) { - const node = new elemClass(); - node.id = xml.attr(el, "id"); - node.noteType = xml.attr(el, "type"); - node.children = this.parseBodyElements(el); - result.push(node); - } - - return result; - } - - parseComments(xmlDoc: Element): any[] { - var result = []; - - for (let el of xml.elements(xmlDoc, "comment")) { - const item = new WmlComment(); - item.id = xml.attr(el, "id"); - item.author = xml.attr(el, "author"); - item.initials = xml.attr(el, "initials"); - item.date = xml.attr(el, "date"); - item.children = this.parseBodyElements(el); - result.push(item); - } - - return result; - } - - parseDocumentFile(xmlDoc: Element): DocumentElement { - var xbody = xml.element(xmlDoc, "body"); - var background = xml.element(xmlDoc, "background"); - var sectPr = xml.element(xbody, "sectPr"); - - return { - type: DomType.Document, - children: this.parseBodyElements(xbody), - props: sectPr ? parseSectionProperties(sectPr, xml) : {} as SectionProperties, - cssStyle: background ? this.parseBackground(background) : {}, - }; - } - - parseBackground(elem: Element): any { - var result = {}; - var color = xmlUtil.colorAttr(elem, "color"); - - if (color) { - result["background-color"] = color; - } - - return result; - } - - parseBodyElements(element: Element): OpenXmlElement[] { - var children = []; - - for (let elem of xml.elements(element)) { - switch (elem.localName) { - case "p": - children.push(this.parseParagraph(elem)); - break; - - case "altChunk": - children.push(this.parseAltChunk(elem)); - break; - - case "tbl": - children.push(this.parseTable(elem)); - break; - - case "sdt": - children.push(...this.parseSdt(elem, e => this.parseBodyElements(e))); - break; - } - } - - return children; - } - - parseStylesFile(xstyles: Element): IDomStyle[] { - var result = []; - - xmlUtil.foreach(xstyles, n => { - switch (n.localName) { - case "style": - result.push(this.parseStyle(n)); - break; - - case "docDefaults": - result.push(this.parseDefaultStyles(n)); - break; - } - }); - - return result; - } - - parseDefaultStyles(node: Element): IDomStyle { - var result = { - id: null, - name: null, - target: null, - basedOn: null, - styles: [] - }; - - xmlUtil.foreach(node, c => { - switch (c.localName) { - case "rPrDefault": - var rPr = xml.element(c, "rPr"); - - if (rPr) - result.styles.push({ - target: "span", - values: this.parseDefaultProperties(rPr, {}) - }); - break; - - case "pPrDefault": - var pPr = xml.element(c, "pPr"); - - if (pPr) - result.styles.push({ - target: "p", - values: this.parseDefaultProperties(pPr, {}) - }); - break; - } - }); - - return result; - } - - parseStyle(node: Element): IDomStyle { - var result = { - id: xml.attr(node, "styleId"), - isDefault: xml.boolAttr(node, "default"), - name: null, - target: null, - basedOn: null, - styles: [], - linked: null - }; - - switch (xml.attr(node, "type")) { - case "paragraph": result.target = "p"; break; - case "table": result.target = "table"; break; - case "character": result.target = "span"; break; - //case "numbering": result.target = "p"; break; - } - - xmlUtil.foreach(node, n => { - switch (n.localName) { - case "basedOn": - result.basedOn = xml.attr(n, "val"); - break; - - case "name": - result.name = xml.attr(n, "val"); - break; - - case "link": - result.linked = xml.attr(n, "val"); - break; - - case "next": - result.next = xml.attr(n, "val"); - break; - - case "aliases": - result.aliases = xml.attr(n, "val").split(","); - break; - - case "pPr": - result.styles.push({ - target: "p", - values: this.parseDefaultProperties(n, {}) - }); - result.paragraphProps = parseParagraphProperties(n, xml); - break; - - case "rPr": - result.styles.push({ - target: "span", - values: this.parseDefaultProperties(n, {}) - }); - result.runProps = parseRunProperties(n, xml); - break; - - case "tblPr": - case "tcPr": - result.styles.push({ - target: "td", //TODO: maybe move to processor - values: this.parseDefaultProperties(n, {}) - }); - break; - - case "tblStylePr": - for (let s of this.parseTableStyle(n)) - result.styles.push(s); - break; - - case "rsid": - case "qFormat": - case "hidden": - case "semiHidden": - case "unhideWhenUsed": - case "autoRedefine": - case "uiPriority": - //TODO: ignore - break; - - default: - this.options.debug && console.warn(`DOCX: Unknown style element: ${n.localName}`); - } - }); - - return result; - } - - parseTableStyle(node: Element): IDomSubStyle[] { - var result = []; - - var type = xml.attr(node, "type"); - var selector = ""; - var modificator = ""; - - switch (type) { - case "firstRow": - modificator = ".first-row"; - selector = "tr.first-row td"; - break; - case "lastRow": - modificator = ".last-row"; - selector = "tr.last-row td"; - break; - case "firstCol": - modificator = ".first-col"; - selector = "td.first-col"; - break; - case "lastCol": - modificator = ".last-col"; - selector = "td.last-col"; - break; - case "band1Vert": - modificator = ":not(.no-vband)"; - selector = "td.odd-col"; - break; - case "band2Vert": - modificator = ":not(.no-vband)"; - selector = "td.even-col"; - break; - case "band1Horz": - modificator = ":not(.no-hband)"; - selector = "tr.odd-row"; - break; - case "band2Horz": - modificator = ":not(.no-hband)"; - selector = "tr.even-row"; - break; - default: return []; - } - - xmlUtil.foreach(node, n => { - switch (n.localName) { - case "pPr": - result.push({ - target: `${selector} p`, - mod: modificator, - values: this.parseDefaultProperties(n, {}) - }); - break; - - case "rPr": - result.push({ - target: `${selector} span`, - mod: modificator, - values: this.parseDefaultProperties(n, {}) - }); - break; - - case "tblPr": - case "tcPr": - result.push({ - target: selector, //TODO: maybe move to processor - mod: modificator, - values: this.parseDefaultProperties(n, {}) - }); - break; - } - }); - - return result; - } - - parseNumberingFile(xnums: Element): IDomNumbering[] { - var result = []; - var mapping = {}; - var bullets = []; - - xmlUtil.foreach(xnums, n => { - switch (n.localName) { - case "abstractNum": - this.parseAbstractNumbering(n, bullets) - .forEach(x => result.push(x)); - break; - - case "numPicBullet": - bullets.push(this.parseNumberingPicBullet(n)); - break; - - case "num": - var numId = xml.attr(n, "numId"); - var abstractNumId = xml.elementAttr(n, "abstractNumId", "val"); - mapping[abstractNumId] = numId; - break; - } - }); - - result.forEach(x => x.id = mapping[x.id]); - - return result; - } - - parseNumberingPicBullet(elem: Element): NumberingPicBullet { - var pict = xml.element(elem, "pict"); - var shape = pict && xml.element(pict, "shape"); - var imagedata = shape && xml.element(shape, "imagedata"); - - return imagedata ? { - id: xml.intAttr(elem, "numPicBulletId"), - src: xml.attr(imagedata, "id"), - style: xml.attr(shape, "style") - } : null; - } - - parseAbstractNumbering(node: Element, bullets: any[]): IDomNumbering[] { - var result = []; - var id = xml.attr(node, "abstractNumId"); - - xmlUtil.foreach(node, n => { - switch (n.localName) { - case "lvl": - result.push(this.parseNumberingLevel(id, n, bullets)); - break; - } - }); - - return result; - } - - parseNumberingLevel(id: string, node: Element, bullets: any[]): IDomNumbering { - var result: IDomNumbering = { - id: id, - level: xml.intAttr(node, "ilvl"), - start: 1, - pStyleName: undefined, - pStyle: {}, - rStyle: {}, - suff: "tab" - }; - - xmlUtil.foreach(node, n => { - switch (n.localName) { - case "start": - result.start = xml.intAttr(n, "val"); - break; - - case "pPr": - this.parseDefaultProperties(n, result.pStyle); - break; - - case "rPr": - this.parseDefaultProperties(n, result.rStyle); - break; - - case "lvlPicBulletId": - var id = xml.intAttr(n, "val"); - result.bullet = bullets.find(x => x?.id == id); - break; - - case "lvlText": - result.levelText = xml.attr(n, "val"); - break; - - case "pStyle": - result.pStyleName = xml.attr(n, "val"); - break; - - case "numFmt": - result.format = xml.attr(n, "val"); - break; - - case "suff": - result.suff = xml.attr(n, "val"); - break; - } - }); - - return result; - } - - parseSdt(node: Element, parser: Function): OpenXmlElement[] { - const sdtContent = xml.element(node, "sdtContent"); - return sdtContent ? parser(sdtContent) : []; - } - - parseInserted(node: Element, parentParser: Function): OpenXmlElement { - return { - type: DomType.Inserted, - children: parentParser(node)?.children ?? [] - }; - } - - parseDeleted(node: Element, parentParser: Function): OpenXmlElement { - return { - type: DomType.Deleted, - children: parentParser(node)?.children ?? [] - }; - } - - parseAltChunk(node: Element): WmlAltChunk { - return { type: DomType.AltChunk, children: [], id: xml.attr(node, "id") }; - } - - parseParagraph(node: Element): OpenXmlElement { - var result = { type: DomType.Paragraph, children: [] }; - - for (let el of xml.elements(node)) { - switch (el.localName) { - case "pPr": - this.parseParagraphProperties(el, result); - break; - - case "r": - result.children.push(this.parseRun(el, result)); - break; - - case "hyperlink": - result.children.push(this.parseHyperlink(el, result)); - break; - - case "smartTag": - result.children.push(this.parseSmartTag(el, result)); - break; - - case "bookmarkStart": - result.children.push(parseBookmarkStart(el, xml)); - break; - - case "bookmarkEnd": - result.children.push(parseBookmarkEnd(el, xml)); - break; - - case "commentRangeStart": - result.children.push(new WmlCommentRangeStart(xml.attr(el, "id"))); - break; - - case "commentRangeEnd": - result.children.push(new WmlCommentRangeEnd(xml.attr(el, "id"))); - break; - - case "oMath": - case "oMathPara": - result.children.push(this.parseMathElement(el)); - break; - - case "sdt": - result.children.push(...this.parseSdt(el, e => this.parseParagraph(e).children)); - break; - - case "ins": - result.children.push(this.parseInserted(el, e => this.parseParagraph(e))); - break; - - case "del": - result.children.push(this.parseDeleted(el, e => this.parseParagraph(e))); - break; - } - } - - return result; - } - - parseParagraphProperties(elem: Element, paragraph: WmlParagraph) { - this.parseDefaultProperties(elem, paragraph.cssStyle = {}, null, c => { - if (parseParagraphProperty(c, paragraph, xml)) - return true; - - switch (c.localName) { - case "pStyle": - paragraph.styleName = xml.attr(c, "val"); - break; - - case "cnfStyle": - paragraph.className = values.classNameOfCnfStyle(c); - break; - - case "framePr": - this.parseFrame(c, paragraph); - break; - - case "rPr": - //TODO ignore - break; - - default: - return false; - } - - return true; - }); - } - - parseFrame(node: Element, paragraph: WmlParagraph) { - var dropCap = xml.attr(node, "dropCap"); - - if (dropCap == "drop") - paragraph.cssStyle["float"] = "left"; - } - - parseHyperlink(node: Element, parent?: OpenXmlElement): WmlHyperlink { - var result: WmlHyperlink = { type: DomType.Hyperlink, parent: parent, children: [] }; - - result.anchor = xml.attr(node, "anchor"); - result.id = xml.attr(node, "id"); - - xmlUtil.foreach(node, c => { - switch (c.localName) { - case "r": - result.children.push(this.parseRun(c, result)); - break; - } - }); - - return result; - } - - parseSmartTag(node: Element, parent?: OpenXmlElement): WmlSmartTag { - var result: WmlSmartTag = { type: DomType.SmartTag, parent, children: [] }; - var uri = xml.attr(node, "uri"); - var element = xml.attr(node, "element"); - - if (uri) - result.uri = uri; - - if (element) - result.element = element; - - xmlUtil.foreach(node, c => { - switch (c.localName) { - case "r": - result.children.push(this.parseRun(c, result)); - break; - } - }); - - return result; - } - - parseRun(node: Element, parent?: OpenXmlElement): WmlRun { - var result: WmlRun = { type: DomType.Run, parent: parent, children: [] }; - - xmlUtil.foreach(node, c => { - c = this.checkAlternateContent(c); - - switch (c.localName) { - case "t": - result.children.push({ - type: DomType.Text, - text: c.textContent - });//.replace(" ", "\u00A0"); // TODO - break; - - case "delText": - result.children.push({ - type: DomType.DeletedText, - text: c.textContent - }); - break; - - case "commentReference": - result.children.push(new WmlCommentReference(xml.attr(c, "id"))); - break; - - case "fldSimple": - result.children.push({ - type: DomType.SimpleField, - instruction: xml.attr(c, "instr"), - lock: xml.boolAttr(c, "lock", false), - dirty: xml.boolAttr(c, "dirty", false) - }); - break; - - case "instrText": - result.fieldRun = true; - result.children.push({ - type: DomType.Instruction, - text: c.textContent - }); - break; - - case "fldChar": - result.fieldRun = true; - result.children.push({ - type: DomType.ComplexField, - charType: xml.attr(c, "fldCharType"), - lock: xml.boolAttr(c, "lock", false), - dirty: xml.boolAttr(c, "dirty", false) - }); - break; - - case "noBreakHyphen": - result.children.push({ type: DomType.NoBreakHyphen }); - break; - - case "br": - result.children.push({ - type: DomType.Break, - break: xml.attr(c, "type") || "textWrapping" - }); - break; - - case "lastRenderedPageBreak": - result.children.push({ - type: DomType.Break, - break: "lastRenderedPageBreak" - }); - break; - - case "sym": - result.children.push({ - type: DomType.Symbol, - font: encloseFontFamily(xml.attr(c, "font")), - char: xml.attr(c, "char") - }); - break; - - case "tab": - result.children.push({ type: DomType.Tab }); - break; - - case "footnoteReference": - result.children.push({ - type: DomType.FootnoteReference, - id: xml.attr(c, "id") - }); - break; - - case "endnoteReference": - result.children.push({ - type: DomType.EndnoteReference, - id: xml.attr(c, "id") - }); - break; - - case "drawing": - let d = this.parseDrawing(c); - - if (d) - result.children = [d]; - break; - - case "pict": - result.children.push(this.parseVmlPicture(c)); - break; - - case "rPr": - this.parseRunProperties(c, result); - break; - } - }); - - return result; - } - - parseMathElement(elem: Element): OpenXmlElement { - const propsTag = `${elem.localName}Pr`; - const result = { type: mmlTagMap[elem.localName], children: [] } as OpenXmlElement; - - for (const el of xml.elements(elem)) { - const childType = mmlTagMap[el.localName]; - - if (childType) { - result.children.push(this.parseMathElement(el)); - } else if (el.localName == "r") { - var run = this.parseRun(el); - run.type = DomType.MmlRun; - result.children.push(run); - } else if (el.localName == propsTag) { - result.props = this.parseMathProperies(el); - } - } - - return result; - } - - parseMathProperies(elem: Element): Record { - const result: Record = {}; - - for (const el of xml.elements(elem)) { - switch (el.localName) { - case "chr": result.char = xml.attr(el, "val"); break; - case "vertJc": result.verticalJustification = xml.attr(el, "val"); break; - case "pos": result.position = xml.attr(el, "val"); break; - case "degHide": result.hideDegree = xml.boolAttr(el, "val"); break; - case "begChr": result.beginChar = xml.attr(el, "val"); break; - case "endChr": result.endChar = xml.attr(el, "val"); break; - } - } - - return result; - } - - parseRunProperties(elem: Element, run: WmlRun) { - this.parseDefaultProperties(elem, run.cssStyle = {}, null, c => { - switch (c.localName) { - case "rStyle": - run.styleName = xml.attr(c, "val"); - break; - - case "vertAlign": - run.verticalAlign = values.valueOfVertAlign(c, true); - break; - - default: - return false; - } - - return true; - }); - } - - parseVmlPicture(elem: Element): OpenXmlElement { - const result = { type: DomType.VmlPicture, children: [] }; - - for (const el of xml.elements(elem)) { - const child = parseVmlElement(el, this); - child && result.children.push(child); - } - - return result; - } - - checkAlternateContent(elem: Element): Element { - if (elem.localName != 'AlternateContent') - return elem; - - var choice = xml.element(elem, "Choice"); - - if (choice) { - var requires = xml.attr(choice, "Requires"); - var namespaceURI = elem.lookupNamespaceURI(requires); - - if (supportedNamespaceURIs.includes(namespaceURI)) - return choice.firstElementChild; - } - - return xml.element(elem, "Fallback")?.firstElementChild; - } - - parseDrawing(node: Element): OpenXmlElement { - for (var n of xml.elements(node)) { - switch (n.localName) { - case "inline": - case "anchor": - return this.parseDrawingWrapper(n); - } - } - } - - parseDrawingWrapper(node: Element): OpenXmlElement { - var result = { type: DomType.Drawing, children: [], cssStyle: {} }; - var isAnchor = node.localName == "anchor"; - - //TODO - // result.style["margin-left"] = xml.sizeAttr(node, "distL", SizeType.Emu); - // result.style["margin-top"] = xml.sizeAttr(node, "distT", SizeType.Emu); - // result.style["margin-right"] = xml.sizeAttr(node, "distR", SizeType.Emu); - // result.style["margin-bottom"] = xml.sizeAttr(node, "distB", SizeType.Emu); - - let wrapType: "wrapTopAndBottom" | "wrapNone" | null = null; - let simplePos = xml.boolAttr(node, "simplePos"); - let behindDoc = xml.boolAttr(node, "behindDoc"); - - let posX = { relative: "page", align: "left", offset: "0" }; - let posY = { relative: "page", align: "top", offset: "0" }; - - for (var n of xml.elements(node)) { - switch (n.localName) { - case "simplePos": - if (simplePos) { - posX.offset = xml.lengthAttr(n, "x", LengthUsage.Emu); - posY.offset = xml.lengthAttr(n, "y", LengthUsage.Emu); - } - break; - - case "extent": - result.cssStyle["width"] = xml.lengthAttr(n, "cx", LengthUsage.Emu); - result.cssStyle["height"] = xml.lengthAttr(n, "cy", LengthUsage.Emu); - break; - - case "positionH": - case "positionV": - if (!simplePos) { - let pos = n.localName == "positionH" ? posX : posY; - var alignNode = xml.element(n, "align"); - var offsetNode = xml.element(n, "posOffset"); - - pos.relative = xml.attr(n, "relativeFrom") ?? pos.relative; - - if (alignNode) - pos.align = alignNode.textContent; - - if (offsetNode) - pos.offset = xmlUtil.sizeValue(offsetNode, LengthUsage.Emu); - } - break; - - case "wrapTopAndBottom": - wrapType = "wrapTopAndBottom"; - break; - - case "wrapNone": - wrapType = "wrapNone"; - break; - - case "graphic": - var g = this.parseGraphic(n); - - if (g) - result.children.push(g); - break; - } - } - - if (wrapType == "wrapTopAndBottom") { - result.cssStyle['display'] = 'block'; - - if (posX.align) { - result.cssStyle['text-align'] = posX.align; - result.cssStyle['width'] = "100%"; - } - } - else if (wrapType == "wrapNone") { - result.cssStyle['display'] = 'block'; - result.cssStyle['position'] = 'relative'; - result.cssStyle["width"] = "0px"; - result.cssStyle["height"] = "0px"; - - if (posX.offset) - result.cssStyle["left"] = posX.offset; - if (posY.offset) - result.cssStyle["top"] = posY.offset; - } - else if (isAnchor && (posX.align == 'left' || posX.align == 'right')) { - result.cssStyle["float"] = posX.align; - } - - return result; - } - - parseGraphic(elem: Element): OpenXmlElement { - var graphicData = xml.element(elem, "graphicData"); - - for (let n of xml.elements(graphicData)) { - switch (n.localName) { - case "pic": - return this.parsePicture(n); - } - } - - return null; - } - - parsePicture(elem: Element): IDomImage { - var result = { type: DomType.Image, src: "", cssStyle: {} }; - var blipFill = xml.element(elem, "blipFill"); - var blip = xml.element(blipFill, "blip"); - - result.src = xml.attr(blip, "embed"); - - var spPr = xml.element(elem, "spPr"); - var xfrm = xml.element(spPr, "xfrm"); - - result.cssStyle["position"] = "relative"; - - for (var n of xml.elements(xfrm)) { - switch (n.localName) { - case "ext": - result.cssStyle["width"] = xml.lengthAttr(n, "cx", LengthUsage.Emu); - result.cssStyle["height"] = xml.lengthAttr(n, "cy", LengthUsage.Emu); - break; - - case "off": - result.cssStyle["left"] = xml.lengthAttr(n, "x", LengthUsage.Emu); - result.cssStyle["top"] = xml.lengthAttr(n, "y", LengthUsage.Emu); - break; - } - } - - return result; - } - - parseTable(node: Element): WmlTable { - var result: WmlTable = { type: DomType.Table, children: [] }; - - xmlUtil.foreach(node, c => { - switch (c.localName) { - case "tr": - result.children.push(this.parseTableRow(c)); - break; - - case "tblGrid": - result.columns = this.parseTableColumns(c); - break; - - case "tblPr": - this.parseTableProperties(c, result); - break; - } - }); - - return result; - } - - parseTableColumns(node: Element): WmlTableColumn[] { - var result = []; - - xmlUtil.foreach(node, n => { - switch (n.localName) { - case "gridCol": - result.push({ width: xml.lengthAttr(n, "w") }); - break; - } - }); - - return result; - } - - parseTableProperties(elem: Element, table: WmlTable) { - table.cssStyle = {}; - table.cellStyle = {}; - - this.parseDefaultProperties(elem, table.cssStyle, table.cellStyle, c => { - switch (c.localName) { - case "tblStyle": - table.styleName = xml.attr(c, "val"); - break; - - case "tblLook": - table.className = values.classNameOftblLook(c); - break; - - case "tblpPr": - this.parseTablePosition(c, table); - break; - - case "tblStyleColBandSize": - table.colBandSize = xml.intAttr(c, "val"); - break; - - case "tblStyleRowBandSize": - table.rowBandSize = xml.intAttr(c, "val"); - break; - - - case "hidden": - table.cssStyle["display"] = "none"; - break; - - default: - return false; - } - - return true; - }); - - switch (table.cssStyle["text-align"]) { - case "center": - delete table.cssStyle["text-align"]; - table.cssStyle["margin-left"] = "auto"; - table.cssStyle["margin-right"] = "auto"; - break; - - case "right": - delete table.cssStyle["text-align"]; - table.cssStyle["margin-left"] = "auto"; - break; - } - } - - parseTablePosition(node: Element, table: WmlTable) { - var topFromText = xml.lengthAttr(node, "topFromText"); - var bottomFromText = xml.lengthAttr(node, "bottomFromText"); - var rightFromText = xml.lengthAttr(node, "rightFromText"); - var leftFromText = xml.lengthAttr(node, "leftFromText"); - - table.cssStyle["float"] = 'left'; - table.cssStyle["margin-bottom"] = values.addSize(table.cssStyle["margin-bottom"], bottomFromText); - table.cssStyle["margin-left"] = values.addSize(table.cssStyle["margin-left"], leftFromText); - table.cssStyle["margin-right"] = values.addSize(table.cssStyle["margin-right"], rightFromText); - table.cssStyle["margin-top"] = values.addSize(table.cssStyle["margin-top"], topFromText); - } - - parseTableRow(node: Element): WmlTableRow { - var result: WmlTableRow = { type: DomType.Row, children: [] }; - - xmlUtil.foreach(node, c => { - switch (c.localName) { - case "tc": - result.children.push(this.parseTableCell(c)); - break; - - case "trPr": - this.parseTableRowProperties(c, result); - break; - } - }); - - return result; - } - - parseTableRowProperties(elem: Element, row: WmlTableRow) { - row.cssStyle = this.parseDefaultProperties(elem, {}, null, c => { - switch (c.localName) { - case "cnfStyle": - row.className = values.classNameOfCnfStyle(c); - break; - - case "tblHeader": - row.isHeader = xml.boolAttr(c, "val"); - break; - - case "gridBefore": - row.gridBefore = xml.intAttr(c, "val"); - break; - - case "gridAfter": - row.gridAfter = xml.intAttr(c, "val"); - break; - - default: - return false; - } - - return true; - }); - } - - parseTableCell(node: Element): OpenXmlElement { - var result: WmlTableCell = { type: DomType.Cell, children: [] }; - - xmlUtil.foreach(node, c => { - switch (c.localName) { - case "tbl": - result.children.push(this.parseTable(c)); - break; - - case "p": - result.children.push(this.parseParagraph(c)); - break; - - case "tcPr": - this.parseTableCellProperties(c, result); - break; - } - }); - - return result; - } - - parseTableCellProperties(elem: Element, cell: WmlTableCell) { - cell.cssStyle = this.parseDefaultProperties(elem, {}, null, c => { - switch (c.localName) { - case "gridSpan": - cell.span = xml.intAttr(c, "val", null); - break; - - case "vMerge": - cell.verticalMerge = xml.attr(c, "val") ?? "continue"; - break; - - case "cnfStyle": - cell.className = values.classNameOfCnfStyle(c); - break; - - default: - return false; - } - - return true; - }); - - this.parseTableCellVerticalText(elem, cell); - } - - parseTableCellVerticalText(elem: Element, cell: WmlTableCell) { - const directionMap = { - "btLr": { - writingMode: "vertical-rl", - transform: "rotate(180deg)" - }, - "lrTb": { - writingMode: "vertical-lr", - transform: "none" - }, - "tbRl": { - writingMode: "vertical-rl", - transform: "none" - } - }; - - xmlUtil.foreach(elem, c => { - if (c.localName === "textDirection") { - const direction = xml.attr(c, "val"); - const style = directionMap[direction] || {writingMode: "horizontal-tb"}; - cell.cssStyle["writing-mode"] = style.writingMode; - cell.cssStyle["transform"] = style.transform; - } - }); - } - - parseDefaultProperties(elem: Element, style: Record = null, childStyle: Record = null, handler: (prop: Element) => boolean = null): Record { - style = style || {}; - - xmlUtil.foreach(elem, c => { - if (handler?.(c)) - return; - - switch (c.localName) { - case "jc": - style["text-align"] = values.valueOfJc(c); - break; - - case "textAlignment": - style["vertical-align"] = values.valueOfTextAlignment(c); - break; - - case "color": - style["color"] = xmlUtil.colorAttr(c, "val", null, autos.color); - break; - - case "sz": - style["font-size"] = style["min-height"] = xml.lengthAttr(c, "val", LengthUsage.FontSize); - break; - - case "shd": - style["background-color"] = xmlUtil.colorAttr(c, "fill", null, autos.shd); - break; - - case "highlight": - style["background-color"] = xmlUtil.colorAttr(c, "val", null, autos.highlight); - break; - - case "vertAlign": - //TODO - // style.verticalAlign = values.valueOfVertAlign(c); - break; - - case "position": - style.verticalAlign = xml.lengthAttr(c, "val", LengthUsage.FontSize); - break; - - case "tcW": - if (this.options.ignoreWidth) - break; - - case "tblW": - style["width"] = values.valueOfSize(c, "w"); - break; - - case "trHeight": - this.parseTrHeight(c, style); - break; - - case "strike": - style["text-decoration"] = xml.boolAttr(c, "val", true) ? "line-through" : "none" - break; - - case "b": - style["font-weight"] = xml.boolAttr(c, "val", true) ? "bold" : "normal"; - break; - - case "i": - style["font-style"] = xml.boolAttr(c, "val", true) ? "italic" : "normal"; - break; - - case "caps": - style["text-transform"] = xml.boolAttr(c, "val", true) ? "uppercase" : "none"; - break; - - case "smallCaps": - style["font-variant"] = xml.boolAttr(c, "val", true) ? "small-caps" : "none"; - break; - - case "u": - this.parseUnderline(c, style); - break; - - case "ind": - case "tblInd": - this.parseIndentation(c, style); - break; - - case "rFonts": - this.parseFont(c, style); - break; - - case "tblBorders": - this.parseBorderProperties(c, childStyle || style); - break; - - case "tblCellSpacing": - style["border-spacing"] = values.valueOfMargin(c); - style["border-collapse"] = "separate"; - break; - - case "pBdr": - this.parseBorderProperties(c, style); - break; - - case "bdr": - style["border"] = values.valueOfBorder(c); - break; - - case "tcBorders": - this.parseBorderProperties(c, style); - break; - - case "vanish": - if (xml.boolAttr(c, "val", true)) - style["display"] = "none"; - break; - - case "kern": - //TODO - //style['letter-spacing'] = xml.lengthAttr(elem, 'val', LengthUsage.FontSize); - break; - - case "noWrap": - //TODO - //style["white-space"] = "nowrap"; - break; - - case "tblCellMar": - case "tcMar": - this.parseMarginProperties(c, childStyle || style); - break; - - case "tblLayout": - style["table-layout"] = values.valueOfTblLayout(c); - break; - - case "vAlign": - style["vertical-align"] = values.valueOfTextAlignment(c); - break; - - case "spacing": - if (elem.localName == "pPr") - this.parseSpacing(c, style); - break; - - case "wordWrap": - if (xml.boolAttr(c, "val")) //TODO: test with examples - style["overflow-wrap"] = "break-word"; - break; - - case "suppressAutoHyphens": - style["hyphens"] = xml.boolAttr(c, "val", true) ? "none" : "auto"; - break; - - case "lang": - style["$lang"] = xml.attr(c, "val"); - break; - - case "rtl": - case "bidi": - if (xml.boolAttr(c, "val", true)) - style["direction"] = "rtl"; - break; - - case "bCs": - case "iCs": - case "szCs": - case "tabs": //ignore - tabs is parsed by other parser - case "outlineLvl": //TODO - case "contextualSpacing": //TODO - case "tblStyleColBandSize": //TODO - case "tblStyleRowBandSize": //TODO - case "webHidden": //TODO - maybe web-hidden should be implemented - case "pageBreakBefore": //TODO - maybe ignore - case "suppressLineNumbers": //TODO - maybe ignore - case "keepLines": //TODO - maybe ignore - case "keepNext": //TODO - maybe ignore - case "widowControl": //TODO - maybe ignore - case "bidi": //TODO - maybe ignore - case "rtl": //TODO - maybe ignore - case "noProof": //ignore spellcheck - //TODO ignore - break; - - default: - if (this.options.debug) - console.warn(`DOCX: Unknown document element: ${elem.localName}.${c.localName}`); - break; - } - }); - - return style; - } - - parseUnderline(node: Element, style: Record) { - var val = xml.attr(node, "val"); - - if (val == null) - return; - - switch (val) { - case "dash": - case "dashDotDotHeavy": - case "dashDotHeavy": - case "dashedHeavy": - case "dashLong": - case "dashLongHeavy": - case "dotDash": - case "dotDotDash": - style["text-decoration"] = "underline dashed"; - break; - - case "dotted": - case "dottedHeavy": - style["text-decoration"] = "underline dotted"; - break; - - case "double": - style["text-decoration"] = "underline double"; - break; - - case "single": - case "thick": - style["text-decoration"] = "underline"; - break; - - case "wave": - case "wavyDouble": - case "wavyHeavy": - style["text-decoration"] = "underline wavy"; - break; - - case "words": - style["text-decoration"] = "underline"; - break; - - case "none": - style["text-decoration"] = "none"; - break; - } - - var col = xmlUtil.colorAttr(node, "color"); - - if (col) - style["text-decoration-color"] = col; - } - - parseFont(node: Element, style: Record) { - var ascii = xml.attr(node, "ascii"); - var asciiTheme = values.themeValue(node, "asciiTheme"); - var eastAsia = xml.attr(node, "eastAsia"); - var fonts = [ascii, asciiTheme, eastAsia].filter(x => x).map(x => encloseFontFamily(x)); - - if (fonts.length > 0) - style["font-family"] = [...new Set(fonts)].join(', '); - } - - parseIndentation(node: Element, style: Record) { - var firstLine = xml.lengthAttr(node, "firstLine"); - var hanging = xml.lengthAttr(node, "hanging"); - var left = xml.lengthAttr(node, "left"); - var start = xml.lengthAttr(node, "start"); - var right = xml.lengthAttr(node, "right"); - var end = xml.lengthAttr(node, "end"); - - if (firstLine) style["text-indent"] = firstLine; - if (hanging) style["text-indent"] = `-${hanging}`; - if (left || start) style["margin-inline-start"] = left || start; - if (right || end) style["margin-inline-end"] = right || end; - } - - parseSpacing(node: Element, style: Record) { - var before = xml.lengthAttr(node, "before"); - var after = xml.lengthAttr(node, "after"); - var line = xml.intAttr(node, "line", null); - var lineRule = xml.attr(node, "lineRule"); - - if (before) style["margin-top"] = before; - if (after) style["margin-bottom"] = after; - - if (line !== null) { - switch (lineRule) { - case "auto": - style["line-height"] = `${(line / 240).toFixed(2)}`; - break; - - case "atLeast": - style["line-height"] = `calc(100% + ${line / 20}pt)`; - break; - - default: - style["line-height"] = style["min-height"] = `${line / 20}pt` - break; - } - } - } - - parseMarginProperties(node: Element, output: Record) { - xmlUtil.foreach(node, c => { - switch (c.localName) { - case "left": - output["padding-left"] = values.valueOfMargin(c); - break; - - case "right": - output["padding-right"] = values.valueOfMargin(c); - break; - - case "top": - output["padding-top"] = values.valueOfMargin(c); - break; - - case "bottom": - output["padding-bottom"] = values.valueOfMargin(c); - break; - } - }); - } - - parseTrHeight(node: Element, output: Record) { - switch (xml.attr(node, "hRule")) { - case "exact": - output["height"] = xml.lengthAttr(node, "val"); - break; - - case "atLeast": - default: - output["height"] = xml.lengthAttr(node, "val"); - // min-height doesn't work for tr - //output["min-height"] = xml.sizeAttr(node, "val"); - break; - } - } - - parseBorderProperties(node: Element, output: Record) { - xmlUtil.foreach(node, c => { - switch (c.localName) { - case "start": - case "left": - output["border-left"] = values.valueOfBorder(c); - break; - - case "end": - case "right": - output["border-right"] = values.valueOfBorder(c); - break; - - case "top": - output["border-top"] = values.valueOfBorder(c); - break; - - case "bottom": - output["border-bottom"] = values.valueOfBorder(c); - break; - } - }); - } -} - -const knownColors = ['black', 'blue', 'cyan', 'darkBlue', 'darkCyan', 'darkGray', 'darkGreen', 'darkMagenta', 'darkRed', 'darkYellow', 'green', 'lightGray', 'magenta', 'none', 'red', 'white', 'yellow']; - -class xmlUtil { - static foreach(node: Element, cb: (n: Element) => void) { - for (var i = 0; i < node.childNodes.length; i++) { - let n = node.childNodes[i]; - - if (n.nodeType == Node.ELEMENT_NODE) - cb(n); - } - } - - static colorAttr(node: Element, attrName: string, defValue: string = null, autoColor: string = 'black') { - var v = xml.attr(node, attrName); - - if (v) { - if (v == "auto") { - return autoColor; - } else if (knownColors.includes(v)) { - return v; - } - - return `#${v}`; - } - - var themeColor = xml.attr(node, "themeColor"); - - return themeColor ? `var(--docx-${themeColor}-color)` : defValue; - } - - static sizeValue(node: Element, type: LengthUsageType = LengthUsage.Dxa) { - return convertLength(node.textContent, type); - } -} - -class values { - static themeValue(c: Element, attr: string) { - var val = xml.attr(c, attr); - return val ? `var(--docx-${val}-font)` : null; - } - - static valueOfSize(c: Element, attr: string) { - var type = LengthUsage.Dxa; - - switch (xml.attr(c, "type")) { - case "dxa": break; - case "pct": type = LengthUsage.Percent; break; - case "auto": return "auto"; - } - - return xml.lengthAttr(c, attr, type); - } - - static valueOfMargin(c: Element) { - return xml.lengthAttr(c, "w"); - } - - static valueOfBorder(c: Element) { - var type = values.parseBorderType(xml.attr(c, "val")); - - if (type == "none") - return "none"; - - var color = xmlUtil.colorAttr(c, "color"); - var size = xml.lengthAttr(c, "sz", LengthUsage.Border); - - return `${size} ${type} ${color == "auto" ? autos.borderColor : color}`; - } - - static parseBorderType(type: string) { - switch (type) { - case "single": return "solid"; - case "dashDotStroked": return "solid"; - case "dashed": return "dashed"; - case "dashSmallGap": return "dashed"; - case "dotDash": return "dotted"; - case "dotDotDash": return "dotted"; - case "dotted": return "dotted"; - case "double": return "double"; - case "doubleWave": return "double"; - case "inset": return "inset"; - case "nil": return "none"; - case "none": return "none"; - case "outset": return "outset"; - case "thick": return "solid"; - case "thickThinLargeGap": return "solid"; - case "thickThinMediumGap": return "solid"; - case "thickThinSmallGap": return "solid"; - case "thinThickLargeGap": return "solid"; - case "thinThickMediumGap": return "solid"; - case "thinThickSmallGap": return "solid"; - case "thinThickThinLargeGap": return "solid"; - case "thinThickThinMediumGap": return "solid"; - case "thinThickThinSmallGap": return "solid"; - case "threeDEmboss": return "solid"; - case "threeDEngrave": return "solid"; - case "triple": return "double"; - case "wave": return "solid"; - } - - return 'solid'; - } - - static valueOfTblLayout(c: Element) { - var type = xml.attr(c, "val"); - return type == "fixed" ? "fixed" : "auto"; - } - - static classNameOfCnfStyle(c: Element) { - const val = xml.attr(c, "val"); - const classes = [ - 'first-row', 'last-row', 'first-col', 'last-col', - 'odd-col', 'even-col', 'odd-row', 'even-row', - 'ne-cell', 'nw-cell', 'se-cell', 'sw-cell' - ]; - - return classes.filter((_, i) => val[i] == '1').join(' '); - } - - static valueOfJc(c: Element) { - var type = xml.attr(c, "val"); - - switch (type) { - case "start": - case "left": return "left"; - case "center": return "center"; - case "end": - case "right": return "right"; - case "both": return "justify"; - } - - return type; - } - - static valueOfVertAlign(c: Element, asTagName: boolean = false) { - var type = xml.attr(c, "val"); - - switch (type) { - case "subscript": return "sub"; - case "superscript": return asTagName ? "sup" : "super"; - } - - return asTagName ? null : type; - } - - static valueOfTextAlignment(c: Element) { - var type = xml.attr(c, "val"); - - switch (type) { - case "auto": - case "baseline": return "baseline"; - case "top": return "top"; - case "center": return "middle"; - case "bottom": return "bottom"; - } - - return type; - } - - static addSize(a: string, b: string): string { - if (a == null) return b; - if (b == null) return a; - - return `calc(${a} + ${b})`; //TODO - } - - static classNameOftblLook(c: Element) { - const val = xml.hexAttr(c, "val", 0); - let className = ""; - - if (xml.boolAttr(c, "firstRow") || (val & 0x0020)) className += " first-row"; - if (xml.boolAttr(c, "lastRow") || (val & 0x0040)) className += " last-row"; - if (xml.boolAttr(c, "firstColumn") || (val & 0x0080)) className += " first-col"; - if (xml.boolAttr(c, "lastColumn") || (val & 0x0100)) className += " last-col"; - if (xml.boolAttr(c, "noHBand") || (val & 0x0200)) className += " no-hband"; - if (xml.boolAttr(c, "noVBand") || (val & 0x0400)) className += " no-vband"; - - return className.trim(); - } -} \ No newline at end of file diff --git a/docxjs/src/document-props/core-props-part.ts b/docxjs/src/document-props/core-props-part.ts deleted file mode 100644 index f1db44e..0000000 --- a/docxjs/src/document-props/core-props-part.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Part } from "../common/part"; -import { CorePropsDeclaration, parseCoreProps } from "./core-props"; - -export class CorePropsPart extends Part { - props: CorePropsDeclaration; - - parseXml(root: Element) { - this.props = parseCoreProps(root, this._package.xmlParser); - } -} \ No newline at end of file diff --git a/docxjs/src/document-props/core-props.ts b/docxjs/src/document-props/core-props.ts deleted file mode 100644 index 94d6ceb..0000000 --- a/docxjs/src/document-props/core-props.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; - -export interface CorePropsDeclaration { - title: string, - description: string, - subject: string, - creator: string, - keywords: string, - language: string, - lastModifiedBy: string, - revision: number, -} - -export function parseCoreProps(root: Element, xmlParser: XmlParser): CorePropsDeclaration { - const result = {}; - - for (let el of xmlParser.elements(root)) { - switch (el.localName) { - case "title": result.title = el.textContent; break; - case "description": result.description = el.textContent; break; - case "subject": result.subject = el.textContent; break; - case "creator": result.creator = el.textContent; break; - case "keywords": result.keywords = el.textContent; break; - case "language": result.language = el.textContent; break; - case "lastModifiedBy": result.lastModifiedBy = el.textContent; break; - case "revision": el.textContent && (result.revision = parseInt(el.textContent)); break; - } - } - - return result; -} \ No newline at end of file diff --git a/docxjs/src/document-props/custom-props-part.ts b/docxjs/src/document-props/custom-props-part.ts deleted file mode 100644 index 7ffa0ac..0000000 --- a/docxjs/src/document-props/custom-props-part.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Part } from "../common/part"; -import { CustomProperty, parseCustomProps } from "./custom-props"; - -export class CustomPropsPart extends Part { - props: CustomProperty[]; - - parseXml(root: Element) { - this.props = parseCustomProps(root, this._package.xmlParser); - } -} \ No newline at end of file diff --git a/docxjs/src/document-props/custom-props.ts b/docxjs/src/document-props/custom-props.ts deleted file mode 100644 index 84877af..0000000 --- a/docxjs/src/document-props/custom-props.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; - -export interface CustomProperty { - formatId: string; - name: string; - type: string; - value: string; -} - -export function parseCustomProps(root: Element, xml: XmlParser): CustomProperty[] { - return xml.elements(root, "property").map(e => { - const firstChild = e.firstChild; - - return { - formatId: xml.attr(e, "fmtid"), - name: xml.attr(e, "name"), - type: firstChild.nodeName, - value: firstChild.textContent - }; - }); -} \ No newline at end of file diff --git a/docxjs/src/document-props/extended-props-part.ts b/docxjs/src/document-props/extended-props-part.ts deleted file mode 100644 index 313fe74..0000000 --- a/docxjs/src/document-props/extended-props-part.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Part } from "../common/part"; -import { ExtendedPropsDeclaration, parseExtendedProps } from "./extended-props"; - -export class ExtendedPropsPart extends Part { - props: ExtendedPropsDeclaration; - - parseXml(root: Element) { - this.props = parseExtendedProps(root, this._package.xmlParser); - } -} \ No newline at end of file diff --git a/docxjs/src/document-props/extended-props.ts b/docxjs/src/document-props/extended-props.ts deleted file mode 100644 index 96ce329..0000000 --- a/docxjs/src/document-props/extended-props.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; - -export interface ExtendedPropsDeclaration { - template: string, - totalTime: number, - pages: number, - words: number, - characters: number, - application: string, - lines: number, - paragraphs: number, - company: string, - appVersion: string -} - -export function parseExtendedProps(root: Element, xmlParser: XmlParser): ExtendedPropsDeclaration { - const result = { - - }; - - for (let el of xmlParser.elements(root)) { - switch (el.localName) { - case "Template": - result.template = el.textContent; - break; - case "Pages": - result.pages = safeParseToInt(el.textContent); - break; - case "Words": - result.words = safeParseToInt(el.textContent); - break; - case "Characters": - result.characters = safeParseToInt(el.textContent); - break; - case "Application": - result.application = el.textContent; - break; - case "Lines": - result.lines = safeParseToInt(el.textContent); - break; - case "Paragraphs": - result.paragraphs = safeParseToInt(el.textContent); - break; - case "Company": - result.company = el.textContent; - break; - case "AppVersion": - result.appVersion = el.textContent; - break; - } - } - - return result; -} - -function safeParseToInt(value: string): number { - if (typeof value === 'undefined') - return; - return parseInt(value); -} \ No newline at end of file diff --git a/docxjs/src/document-props/index.html b/docxjs/src/document-props/index.html deleted file mode 100644 index ca86242..0000000 --- a/docxjs/src/document-props/index.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── core-props-part.ts
- ├── core-props.ts
- ├── custom-props-part.ts
- ├── custom-props.ts
- ├── extended-props-part.ts
- └── extended-props.ts
-

- -1 directory, 6 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/document/bookmarks.ts b/docxjs/src/document/bookmarks.ts deleted file mode 100644 index 2f6e6a2..0000000 --- a/docxjs/src/document/bookmarks.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; -import { DomType, OpenXmlElement } from "./dom"; - -export interface WmlBookmarkStart extends OpenXmlElement { - id: string; - name: string; - colFirst: number; - colLast: number; -} - -export interface WmlBookmarkEnd extends OpenXmlElement { - id: string; -} - -export function parseBookmarkStart(elem: Element, xml: XmlParser): WmlBookmarkStart { - return { - type: DomType.BookmarkStart, - id: xml.attr(elem, "id"), - name: xml.attr(elem, "name"), - colFirst: xml.intAttr(elem, "colFirst"), - colLast: xml.intAttr(elem, "colLast") - } -} - -export function parseBookmarkEnd(elem: Element, xml: XmlParser): WmlBookmarkEnd { - return { - type: DomType.BookmarkEnd, - id: xml.attr(elem, "id") - } -} \ No newline at end of file diff --git a/docxjs/src/document/border.ts b/docxjs/src/document/border.ts deleted file mode 100644 index b247fdc..0000000 --- a/docxjs/src/document/border.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; -import { Length, LengthUsage } from "./common"; - -export interface Border { - color: string; - type: string; - size: Length; - frame: boolean; - shadow: boolean; - offset: Length; -} - -export interface Borders { - top: Border; - left: Border; - right: Border; - bottom: Border; -} - -export function parseBorder(elem: Element, xml: XmlParser): Border { - return { - type: xml.attr(elem, "val"), - color: xml.attr(elem, "color"), - size: xml.lengthAttr(elem, "sz", LengthUsage.Border), - offset: xml.lengthAttr(elem, "space", LengthUsage.Point), - frame: xml.boolAttr(elem, 'frame'), - shadow: xml.boolAttr(elem, 'shadow') - }; -} - -export function parseBorders(elem: Element, xml: XmlParser): Borders { - var result = {}; - - for (let e of xml.elements(elem)) { - switch (e.localName) { - case "left": result.left = parseBorder(e, xml); break; - case "top": result.top = parseBorder(e, xml); break; - case "right": result.right = parseBorder(e, xml); break; - case "bottom": result.bottom = parseBorder(e, xml); break; - } - } - - return result; -} \ No newline at end of file diff --git a/docxjs/src/document/common.ts b/docxjs/src/document/common.ts deleted file mode 100644 index 2472c29..0000000 --- a/docxjs/src/document/common.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; -import { clamp } from "../utils"; - -export const ns = { - wordml: "http://schemas.openxmlformats.org/wordprocessingml/2006/main", - drawingml: "http://schemas.openxmlformats.org/drawingml/2006/main", - picture: "http://schemas.openxmlformats.org/drawingml/2006/picture", - compatibility: "http://schemas.openxmlformats.org/markup-compatibility/2006", - math: "http://schemas.openxmlformats.org/officeDocument/2006/math" -} - -export type LengthType = "px" | "pt" | "%" | ""; -export type Length = string; - -export interface Font { - name: string; - family: string; -} - -export interface CommonProperties { - fontSize: Length; - color: string; -} - -export type LengthUsageType = { mul: number, unit: LengthType, min?: number, max?: number }; - -export const LengthUsage: Record = { - Dxa: { mul: 0.05, unit: "pt" }, //twips - Emu: { mul: 1 / 12700, unit: "pt" }, - FontSize: { mul: 0.5, unit: "pt" }, - Border: { mul: 0.125, unit: "pt", min: 0.25, max: 12 }, //NOTE: http://officeopenxml.com/WPtextBorders.php - Point: { mul: 1, unit: "pt" }, - Percent: { mul: 0.02, unit: "%" }, - LineHeight: { mul: 1 / 240, unit: "" }, - VmlEmu: { mul: 1 / 12700, unit: "" }, -} - -export function convertLength(val: string, usage: LengthUsageType = LengthUsage.Dxa): string { - //"simplified" docx documents use pt's as units - if (val == null || /.+(p[xt]|[%])$/.test(val)) { - return val; - } - - var num = parseInt(val) * usage.mul; - - if (usage.min && usage.max) - num = clamp(num, usage.min, usage.max); - - return `${num.toFixed(2)}${usage.unit}`; -} - -export function convertBoolean(v: string, defaultValue = false): boolean { - switch (v) { - case "1": return true; - case "0": return false; - case "on": return true; - case "off": return false; - case "true": return true; - case "false": return false; - default: return defaultValue; - } -} - -export function convertPercentage(val: string): number { - return val ? parseInt(val) / 100 : null; -} - -export function parseCommonProperty(elem: Element, props: CommonProperties, xml: XmlParser): boolean { - if(elem.namespaceURI != ns.wordml) - return false; - - switch(elem.localName) { - case "color": - props.color = xml.attr(elem, "val"); - break; - - case "sz": - props.fontSize = xml.lengthAttr(elem, "val", LengthUsage.FontSize); - break; - - default: - return false; - } - - return true; -} \ No newline at end of file diff --git a/docxjs/src/document/document-part.ts b/docxjs/src/document/document-part.ts deleted file mode 100644 index ade968c..0000000 --- a/docxjs/src/document/document-part.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { OpenXmlPackage } from "../common/open-xml-package"; -import { Part } from "../common/part"; -import { DocumentParser } from "../document-parser"; -import { DocumentElement } from "./document"; - -export class DocumentPart extends Part { - private _documentParser: DocumentParser; - - constructor(pkg: OpenXmlPackage, path: string, parser: DocumentParser) { - super(pkg, path); - this._documentParser = parser; - } - - body: DocumentElement - - parseXml(root: Element) { - this.body = this._documentParser.parseDocumentFile(root); - } -} \ No newline at end of file diff --git a/docxjs/src/document/document.ts b/docxjs/src/document/document.ts deleted file mode 100644 index e804be0..0000000 --- a/docxjs/src/document/document.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { OpenXmlElement } from "./dom"; -import { SectionProperties } from "./section"; - -export interface DocumentElement extends OpenXmlElement { - props: SectionProperties; -} \ No newline at end of file diff --git a/docxjs/src/document/dom.ts b/docxjs/src/document/dom.ts deleted file mode 100644 index b2df115..0000000 --- a/docxjs/src/document/dom.ts +++ /dev/null @@ -1,165 +0,0 @@ -export enum DomType { - Document = "document", - Paragraph = "paragraph", - Run = "run", - Break = "break", - NoBreakHyphen = "noBreakHyphen", - Table = "table", - Row = "row", - Cell = "cell", - Hyperlink = "hyperlink", - SmartTag = "smartTag", - Drawing = "drawing", - Image = "image", - Text = "text", - Tab = "tab", - Symbol = "symbol", - BookmarkStart = "bookmarkStart", - BookmarkEnd = "bookmarkEnd", - Footer = "footer", - Header = "header", - FootnoteReference = "footnoteReference", - EndnoteReference = "endnoteReference", - Footnote = "footnote", - Endnote = "endnote", - SimpleField = "simpleField", - ComplexField = "complexField", - Instruction = "instruction", - VmlPicture = "vmlPicture", - MmlMath = "mmlMath", - MmlMathParagraph = "mmlMathParagraph", - MmlFraction = "mmlFraction", - MmlFunction = "mmlFunction", - MmlFunctionName = "mmlFunctionName", - MmlNumerator = "mmlNumerator", - MmlDenominator = "mmlDenominator", - MmlRadical = "mmlRadical", - MmlBase = "mmlBase", - MmlDegree = "mmlDegree", - MmlSuperscript = "mmlSuperscript", - MmlSubscript = "mmlSubscript", - MmlPreSubSuper = "mmlPreSubSuper", - MmlSubArgument = "mmlSubArgument", - MmlSuperArgument = "mmlSuperArgument", - MmlNary = "mmlNary", - MmlDelimiter = "mmlDelimiter", - MmlRun = "mmlRun", - MmlEquationArray = "mmlEquationArray", - MmlLimit = "mmlLimit", - MmlLimitLower = "mmlLimitLower", - MmlMatrix = "mmlMatrix", - MmlMatrixRow = "mmlMatrixRow", - MmlBox = "mmlBox", - MmlBar = "mmlBar", - MmlGroupChar = "mmlGroupChar", - VmlElement = "vmlElement", - Inserted = "inserted", - Deleted = "deleted", - DeletedText = "deletedText", - Comment = "comment", - CommentReference = "commentReference", - CommentRangeStart = "commentRangeStart", - CommentRangeEnd = "commentRangeEnd", - AltChunk = "altChunk" -} - -export interface OpenXmlElement { - type: DomType; - children?: OpenXmlElement[]; - cssStyle?: Record; - props?: Record; - - styleName?: string; //style name - className?: string; //class mods - - parent?: OpenXmlElement; -} - -export abstract class OpenXmlElementBase implements OpenXmlElement { - type: DomType; - children?: OpenXmlElement[] = []; - cssStyle?: Record = {}; - props?: Record; - - className?: string; - styleName?: string; - - parent?: OpenXmlElement; -} - -export interface WmlHyperlink extends OpenXmlElement { - id?: string; - anchor?: string; -} - -export interface WmlAltChunk extends OpenXmlElement { - id?: string; -} - -export interface WmlSmartTag extends OpenXmlElement { - uri?: string; - element?: string; -} - -export interface WmlNoteReference extends OpenXmlElement { - id: string; -} - -export interface WmlBreak extends OpenXmlElement{ - break: "page" | "lastRenderedPageBreak" | "textWrapping"; -} - -export interface WmlText extends OpenXmlElement{ - text: string; -} - -export interface WmlSymbol extends OpenXmlElement { - font: string; - char: string; -} - -export interface WmlTable extends OpenXmlElement { - columns?: WmlTableColumn[]; - cellStyle?: Record; - - colBandSize?: number; - rowBandSize?: number; -} - -export interface WmlTableRow extends OpenXmlElement { - isHeader?: boolean; - gridBefore?: number; - gridAfter?: number; -} - -export interface WmlTableCell extends OpenXmlElement { - verticalMerge?: 'restart' | 'continue' | string; - span?: number; -} - -export interface IDomImage extends OpenXmlElement { - src: string; -} - -export interface WmlTableColumn { - width?: string; -} - -export interface IDomNumbering { - id: string; - level: number; - start: number; - pStyleName: string; - pStyle: Record; - rStyle: Record; - levelText?: string; - suff: string; - format?: string; - bullet?: NumberingPicBullet; -} - -export interface NumberingPicBullet { - id: number; - src: string; - style?: string; -} diff --git a/docxjs/src/document/fields.ts b/docxjs/src/document/fields.ts deleted file mode 100644 index a9b3a70..0000000 --- a/docxjs/src/document/fields.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { OpenXmlElement } from "./dom"; - -export interface WmlInstructionText extends OpenXmlElement { - text: string; -} - -export interface WmlFieldChar extends OpenXmlElement { - charType: 'begin' | 'end' | 'separate' | string; - lock: boolean; -} - -export interface WmlFieldSimple extends OpenXmlElement { - instruction: string; - lock: boolean; - dirty: boolean; -} \ No newline at end of file diff --git a/docxjs/src/document/index.html b/docxjs/src/document/index.html deleted file mode 100644 index af3e232..0000000 --- a/docxjs/src/document/index.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── bookmarks.ts
- ├── border.ts
- ├── common.ts
- ├── document-part.ts
- ├── document.ts
- ├── dom.ts
- ├── fields.ts
- ├── line-spacing.ts
- ├── paragraph.ts
- ├── run.ts
- ├── section.ts
- └── style.ts
-

- -1 directory, 12 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/document/line-spacing.ts b/docxjs/src/document/line-spacing.ts deleted file mode 100644 index 2d7c0d7..0000000 --- a/docxjs/src/document/line-spacing.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; -import { Length } from "./common"; - -export interface LineSpacing { - after: Length; - before: Length; - line: number; - lineRule: "atLeast" | "exactly" | "auto"; -} - -export function parseLineSpacing(elem: Element, xml: XmlParser): LineSpacing { - return { - before: xml.lengthAttr(elem, "before"), - after: xml.lengthAttr(elem, "after"), - line: xml.intAttr(elem, "line"), - lineRule: xml.attr(elem, "lineRule") - } as LineSpacing; -} \ No newline at end of file diff --git a/docxjs/src/document/paragraph.ts b/docxjs/src/document/paragraph.ts deleted file mode 100644 index 28096a7..0000000 --- a/docxjs/src/document/paragraph.ts +++ /dev/null @@ -1,136 +0,0 @@ -import { OpenXmlElement } from "./dom"; -import { CommonProperties, Length, ns, parseCommonProperty } from "./common"; -import { Borders } from "./border"; -import { parseSectionProperties, SectionProperties } from "./section"; -import { LineSpacing, parseLineSpacing } from "./line-spacing"; -import { XmlParser } from "../parser/xml-parser"; -import { parseRunProperties, RunProperties } from "./run"; - -export interface WmlParagraph extends OpenXmlElement, ParagraphProperties { -} - -export interface ParagraphProperties extends CommonProperties { - sectionProps: SectionProperties; - tabs: ParagraphTab[]; - numbering: ParagraphNumbering; - - border: Borders; - textAlignment: "auto" | "baseline" | "bottom" | "center" | "top" | string; - lineSpacing: LineSpacing; - keepLines: boolean; - keepNext: boolean; - pageBreakBefore: boolean; - outlineLevel: number; - styleName?: string; - - runProps: RunProperties; -} - -export interface ParagraphTab { - style: "bar" | "center" | "clear" | "decimal" | "end" | "num" | "start" | "left" | "right"; - leader: "none" | "dot" | "heavy" | "hyphen" | "middleDot" | "underscore"; - position: Length; -} - -export interface ParagraphNumbering { - id: string; - level: number; -} - -export function parseParagraphProperties(elem: Element, xml: XmlParser): ParagraphProperties { - let result = {}; - - for(let el of xml.elements(elem)) { - parseParagraphProperty(el, result, xml); - } - - return result; -} - -export function parseParagraphProperty(elem: Element, props: ParagraphProperties, xml: XmlParser) { - if (elem.namespaceURI != ns.wordml) - return false; - - if(parseCommonProperty(elem, props, xml)) - return true; - - switch (elem.localName) { - case "tabs": - props.tabs = parseTabs(elem, xml); - break; - - case "sectPr": - props.sectionProps = parseSectionProperties(elem, xml); - break; - - case "numPr": - props.numbering = parseNumbering(elem, xml); - break; - - case "spacing": - props.lineSpacing = parseLineSpacing(elem, xml); - return false; // TODO - break; - - case "textAlignment": - props.textAlignment = xml.attr(elem, "val"); - return false; //TODO - break; - - case "keepLines": - props.keepLines = xml.boolAttr(elem, "val", true); - break; - - case "keepNext": - props.keepNext = xml.boolAttr(elem, "val", true); - break; - - case "pageBreakBefore": - props.pageBreakBefore = xml.boolAttr(elem, "val", true); - break; - - case "outlineLvl": - props.outlineLevel = xml.intAttr(elem, "val"); - break; - - case "pStyle": - props.styleName = xml.attr(elem, "val"); - break; - - case "rPr": - props.runProps = parseRunProperties(elem, xml); - break; - - default: - return false; - } - - return true; -} - -export function parseTabs(elem: Element, xml: XmlParser): ParagraphTab[] { - return xml.elements(elem, "tab") - .map(e => { - position: xml.lengthAttr(e, "pos"), - leader: xml.attr(e, "leader"), - style: xml.attr(e, "val") - }); -} - -export function parseNumbering(elem: Element, xml: XmlParser): ParagraphNumbering { - var result = {}; - - for (let e of xml.elements(elem)) { - switch (e.localName) { - case "numId": - result.id = xml.attr(e, "val"); - break; - - case "ilvl": - result.level = xml.intAttr(e, "val"); - break; - } - } - - return result; -} \ No newline at end of file diff --git a/docxjs/src/document/run.ts b/docxjs/src/document/run.ts deleted file mode 100644 index d5d47b7..0000000 --- a/docxjs/src/document/run.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; -import { CommonProperties, parseCommonProperty } from "./common"; -import { OpenXmlElement } from "./dom"; - -export interface WmlRun extends OpenXmlElement, RunProperties { - id?: string; - verticalAlign?: string; - fieldRun?: boolean; -} - -export interface RunProperties extends CommonProperties { - -} - -export function parseRunProperties(elem: Element, xml: XmlParser): RunProperties { - let result = {}; - - for(let el of xml.elements(elem)) { - parseRunProperty(el, result, xml); - } - - return result; -} - -export function parseRunProperty(elem: Element, props: RunProperties, xml: XmlParser) { - if (parseCommonProperty(elem, props, xml)) - return true; - - return false; -} \ No newline at end of file diff --git a/docxjs/src/document/section.ts b/docxjs/src/document/section.ts deleted file mode 100644 index ee1f5fa..0000000 --- a/docxjs/src/document/section.ts +++ /dev/null @@ -1,154 +0,0 @@ -import globalXmlParser, { XmlParser } from "../parser/xml-parser"; -import { Borders, parseBorders } from "./border"; -import { Length } from "./common"; - -export interface Column { - space: Length; - width: Length; -} - -export interface Columns { - space: Length; - numberOfColumns: number; - separator: boolean; - equalWidth: boolean; - columns: Column[]; -} - -export interface PageSize { - width: Length, - height: Length, - orientation: "landscape" | string -} - -export interface PageNumber { - start: number; - chapSep: "colon" | "emDash" | "endash" | "hyphen" | "period" | string; - chapStyle: string; - format: "none" | "cardinalText" | "decimal" | "decimalEnclosedCircle" | "decimalEnclosedFullstop" - | "decimalEnclosedParen" | "decimalZero" | "lowerLetter" | "lowerRoman" - | "ordinalText" | "upperLetter" | "upperRoman" | string; -} - -export interface PageMargins { - top: Length; - right: Length; - bottom: Length; - left: Length; - header: Length; - footer: Length; - gutter: Length; -} - -export enum SectionType { - Continuous = "continuous", - NextPage = "nextPage", - NextColumn = "nextColumn", - EvenPage = "evenPage", - OddPage = "oddPage", -} - -export interface FooterHeaderReference { - id: string; - type: string | "first" | "even" | "default"; -} - -export interface SectionProperties { - type: SectionType | string; - pageSize: PageSize, - pageMargins: PageMargins, - pageBorders: Borders; - pageNumber: PageNumber; - columns: Columns; - footerRefs: FooterHeaderReference[]; - headerRefs: FooterHeaderReference[]; - titlePage: boolean; -} - -export function parseSectionProperties(elem: Element, xml: XmlParser = globalXmlParser): SectionProperties { - var section = {}; - - for (let e of xml.elements(elem)) { - switch (e.localName) { - case "pgSz": - section.pageSize = { - width: xml.lengthAttr(e, "w"), - height: xml.lengthAttr(e, "h"), - orientation: xml.attr(e, "orient") - } - break; - - case "type": - section.type = xml.attr(e, "val"); - break; - - case "pgMar": - section.pageMargins = { - left: xml.lengthAttr(e, "left"), - right: xml.lengthAttr(e, "right"), - top: xml.lengthAttr(e, "top"), - bottom: xml.lengthAttr(e, "bottom"), - header: xml.lengthAttr(e, "header"), - footer: xml.lengthAttr(e, "footer"), - gutter: xml.lengthAttr(e, "gutter"), - }; - break; - - case "cols": - section.columns = parseColumns(e, xml); - break; - - case "headerReference": - (section.headerRefs ?? (section.headerRefs = [])).push(parseFooterHeaderReference(e, xml)); - break; - - case "footerReference": - (section.footerRefs ?? (section.footerRefs = [])).push(parseFooterHeaderReference(e, xml)); - break; - - case "titlePg": - section.titlePage = xml.boolAttr(e, "val", true); - break; - - case "pgBorders": - section.pageBorders = parseBorders(e, xml); - break; - - case "pgNumType": - section.pageNumber = parsePageNumber(e, xml); - break; - } - } - - return section; -} - -function parseColumns(elem: Element, xml: XmlParser): Columns { - return { - numberOfColumns: xml.intAttr(elem, "num"), - space: xml.lengthAttr(elem, "space"), - separator: xml.boolAttr(elem, "sep"), - equalWidth: xml.boolAttr(elem, "equalWidth", true), - columns: xml.elements(elem, "col") - .map(e => { - width: xml.lengthAttr(e, "w"), - space: xml.lengthAttr(e, "space") - }) - }; -} - -function parsePageNumber(elem: Element, xml: XmlParser): PageNumber { - return { - chapSep: xml.attr(elem, "chapSep"), - chapStyle: xml.attr(elem, "chapStyle"), - format: xml.attr(elem, "fmt"), - start: xml.intAttr(elem, "start") - }; -} - -function parseFooterHeaderReference(elem: Element, xml: XmlParser): FooterHeaderReference { - return { - id: xml.attr(elem, "id"), - type: xml.attr(elem, "type"), - } -} \ No newline at end of file diff --git a/docxjs/src/document/style.ts b/docxjs/src/document/style.ts deleted file mode 100644 index 20e1df6..0000000 --- a/docxjs/src/document/style.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ParagraphProperties } from "./paragraph"; -import { RunProperties } from "./run"; - -export interface IDomStyle { - id: string; - name?: string; - cssName?: string; - aliases?: string[]; - target: string; - basedOn?: string; - isDefault?: boolean; - styles: IDomSubStyle[]; - linked?: string; - next?: string; - - paragraphProps: ParagraphProperties; - runProps: RunProperties; -} - -export interface IDomSubStyle { - target: string; - mod?: string; - values: Record; -} \ No newline at end of file diff --git a/docxjs/src/docx-preview.ts b/docxjs/src/docx-preview.ts deleted file mode 100644 index bc65869..0000000 --- a/docxjs/src/docx-preview.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { WordDocument } from './word-document'; -import { DocumentParser } from './document-parser'; -import { HtmlRenderer } from './html-renderer'; - -export interface Options { - inWrapper: boolean; - hideWrapperOnPrint: boolean; - ignoreWidth: boolean; - ignoreHeight: boolean; - ignoreFonts: boolean; - breakPages: boolean; - debug: boolean; - experimental: boolean; - className: string; - trimXmlDeclaration: boolean; - renderHeaders: boolean; - renderFooters: boolean; - renderFootnotes: boolean; - renderEndnotes: boolean; - ignoreLastRenderedPageBreak: boolean; - useBase64URL: boolean; - renderChanges: boolean; - renderComments: boolean; - renderAltChunks: boolean; -} - -export const defaultOptions: Options = { - ignoreHeight: false, - ignoreWidth: false, - ignoreFonts: false, - breakPages: true, - debug: false, - experimental: false, - className: "docx", - inWrapper: true, - hideWrapperOnPrint: false, - trimXmlDeclaration: true, - ignoreLastRenderedPageBreak: true, - renderHeaders: true, - renderFooters: true, - renderFootnotes: true, - renderEndnotes: true, - useBase64URL: false, - renderChanges: false, - renderComments: false, - renderAltChunks: true -} - -export function parseAsync(data: Blob | any, userOptions?: Partial): Promise { - const ops = { ...defaultOptions, ...userOptions }; - return WordDocument.load(data, new DocumentParser(ops), ops); -} - -export async function renderDocument(document: any, bodyContainer: HTMLElement, styleContainer?: HTMLElement, userOptions?: Partial): Promise { - const ops = { ...defaultOptions, ...userOptions }; - const renderer = new HtmlRenderer(window.document); - return await renderer.render(document, bodyContainer, styleContainer, ops); -} - -export async function renderAsync(data: Blob | any, bodyContainer: HTMLElement, styleContainer?: HTMLElement, userOptions?: Partial): Promise { - const doc = await parseAsync(data, userOptions); - await renderDocument(doc, bodyContainer, styleContainer, userOptions); - return doc; -} \ No newline at end of file diff --git a/docxjs/src/font-table/font-table.ts b/docxjs/src/font-table/font-table.ts deleted file mode 100644 index 3fbe530..0000000 --- a/docxjs/src/font-table/font-table.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Part } from "../common/part"; -import { FontDeclaration, parseFonts } from "./fonts"; - -export class FontTablePart extends Part { - fonts: FontDeclaration[]; - - parseXml(root: Element) { - this.fonts = parseFonts(root, this._package.xmlParser); - } -} \ No newline at end of file diff --git a/docxjs/src/font-table/fonts.ts b/docxjs/src/font-table/fonts.ts deleted file mode 100644 index 7976940..0000000 --- a/docxjs/src/font-table/fonts.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; - -const embedFontTypeMap = { - embedRegular: 'regular', - embedBold: 'bold', - embedItalic: 'italic', - embedBoldItalic: 'boldItalic', -} - -export interface FontDeclaration { - name: string, - altName: string, - family: string, - embedFontRefs: EmbedFontRef[]; -} - -export interface EmbedFontRef { - id: string; - key: string; - type: 'regular' | 'bold' | 'italic' | 'boldItalic'; -} - -export function parseFonts(root: Element, xml: XmlParser): FontDeclaration[] { - return xml.elements(root).map(el => parseFont(el, xml)); -} - -export function parseFont(elem: Element, xml: XmlParser): FontDeclaration { - let result = { - name: xml.attr(elem, "name"), - embedFontRefs: [] - }; - - for (let el of xml.elements(elem)) { - switch (el.localName) { - case "family": - result.family = xml.attr(el, "val"); - break; - - case "altName": - result.altName = xml.attr(el, "val"); - break; - - case "embedRegular": - case "embedBold": - case "embedItalic": - case "embedBoldItalic": - result.embedFontRefs.push(parseEmbedFontRef(el, xml)); - break; - } - } - - return result; -} - -export function parseEmbedFontRef(elem: Element, xml: XmlParser): EmbedFontRef { - return { - id: xml.attr(elem, "id"), - key: xml.attr(elem, "fontKey"), - type: embedFontTypeMap[elem.localName] - }; -} \ No newline at end of file diff --git a/docxjs/src/font-table/index.html b/docxjs/src/font-table/index.html deleted file mode 100644 index 56e3232..0000000 --- a/docxjs/src/font-table/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── font-table.ts
- └── fonts.ts
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/header-footer/elements.ts b/docxjs/src/header-footer/elements.ts deleted file mode 100644 index bb9afbe..0000000 --- a/docxjs/src/header-footer/elements.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { OpenXmlElementBase, DomType } from "../document/dom"; - -export class WmlHeader extends OpenXmlElementBase { - type: DomType = DomType.Header; -} - -export class WmlFooter extends OpenXmlElementBase { - type: DomType = DomType.Footer; -} \ No newline at end of file diff --git a/docxjs/src/header-footer/index.html b/docxjs/src/header-footer/index.html deleted file mode 100644 index 5e6774e..0000000 --- a/docxjs/src/header-footer/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── elements.ts
- └── parts.ts
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/header-footer/parts.ts b/docxjs/src/header-footer/parts.ts deleted file mode 100644 index b2e8957..0000000 --- a/docxjs/src/header-footer/parts.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { OpenXmlPackage } from "../common/open-xml-package"; -import { Part } from "../common/part"; -import { DocumentParser } from "../document-parser"; -import { OpenXmlElement } from "../document/dom"; -import { WmlHeader, WmlFooter } from "./elements"; - -export abstract class BaseHeaderFooterPart extends Part { - rootElement: T; - - private _documentParser: DocumentParser; - - constructor(pkg: OpenXmlPackage, path: string, parser: DocumentParser) { - super(pkg, path); - this._documentParser = parser; - } - - parseXml(root: Element) { - this.rootElement = this.createRootElement(); - this.rootElement.children = this._documentParser.parseBodyElements(root); - } - - protected abstract createRootElement(): T; -} - -export class HeaderPart extends BaseHeaderFooterPart { - protected createRootElement(): WmlHeader { - return new WmlHeader(); - } -} - -export class FooterPart extends BaseHeaderFooterPart { - protected createRootElement(): WmlFooter { - return new WmlFooter(); - } -} \ No newline at end of file diff --git a/docxjs/src/html-renderer.ts b/docxjs/src/html-renderer.ts deleted file mode 100644 index d6bfdc5..0000000 --- a/docxjs/src/html-renderer.ts +++ /dev/null @@ -1,1563 +0,0 @@ -import { WordDocument } from './word-document'; -import { - DomType, WmlTable, IDomNumbering, - WmlHyperlink, IDomImage, OpenXmlElement, WmlTableColumn, WmlTableCell, WmlText, WmlSymbol, WmlBreak, WmlNoteReference, - WmlSmartTag, - WmlAltChunk, - WmlTableRow -} from './document/dom'; -import { CommonProperties } from './document/common'; -import { Options } from './docx-preview'; -import { DocumentElement } from './document/document'; -import { WmlParagraph } from './document/paragraph'; -import { asArray, encloseFontFamily, escapeClassName, isString, keyBy, mergeDeep } from './utils'; -import { computePixelToPoint, updateTabStop } from './javascript'; -import { FontTablePart } from './font-table/font-table'; -import { FooterHeaderReference, SectionProperties } from './document/section'; -import { WmlRun, RunProperties } from './document/run'; -import { WmlBookmarkStart } from './document/bookmarks'; -import { IDomStyle } from './document/style'; -import { WmlBaseNote, WmlFootnote } from './notes/elements'; -import { ThemePart } from './theme/theme-part'; -import { BaseHeaderFooterPart } from './header-footer/parts'; -import { Part } from './common/part'; -import { VmlElement } from './vml/vml'; -import { WmlComment, WmlCommentRangeStart, WmlCommentReference } from './comments/elements'; - -const ns = { - svg: "http://www.w3.org/2000/svg", - mathML: "http://www.w3.org/1998/Math/MathML" -} - -interface CellPos { - col: number; - row: number; -} - -interface Section { - sectProps: SectionProperties; - elements: OpenXmlElement[]; - pageBreak: boolean; -} - -declare const Highlight: any; - -type CellVerticalMergeType = Record; - -export class HtmlRenderer { - - className: string = "docx"; - rootSelector: string; - document: WordDocument; - options: Options; - styleMap: Record = {}; - currentPart: Part = null; - - tableVerticalMerges: CellVerticalMergeType[] = []; - currentVerticalMerge: CellVerticalMergeType = null; - tableCellPositions: CellPos[] = []; - currentCellPosition: CellPos = null; - - footnoteMap: Record = {}; - endnoteMap: Record = {}; - currentFootnoteIds: string[]; - currentEndnoteIds: string[] = []; - usedHederFooterParts: any[] = []; - - defaultTabSize: string; - currentTabs: any[] = []; - - commentHighlight: any; - commentMap: Record = {}; - - tasks: Promise[] = []; - postRenderTasks: any[] = []; - - constructor(public htmlDocument: Document) { - } - - async render(document: WordDocument, bodyContainer: HTMLElement, styleContainer: HTMLElement = null, options: Options) { - this.document = document; - this.options = options; - this.className = options.className; - this.rootSelector = options.inWrapper ? `.${this.className}-wrapper` : ':root'; - this.styleMap = null; - this.tasks = []; - - if (this.options.renderComments && globalThis.Highlight) { - this.commentHighlight = new Highlight(); - } - - styleContainer = styleContainer || bodyContainer; - - removeAllElements(styleContainer); - removeAllElements(bodyContainer); - - styleContainer.appendChild(this.createComment("docxjs library predefined styles")); - styleContainer.appendChild(this.renderDefaultStyle()); - - if (document.themePart) { - styleContainer.appendChild(this.createComment("docxjs document theme values")); - this.renderTheme(document.themePart, styleContainer); - } - - if (document.stylesPart != null) { - this.styleMap = this.processStyles(document.stylesPart.styles); - - styleContainer.appendChild(this.createComment("docxjs document styles")); - styleContainer.appendChild(this.renderStyles(document.stylesPart.styles)); - } - - if (document.numberingPart) { - this.prodessNumberings(document.numberingPart.domNumberings); - - styleContainer.appendChild(this.createComment("docxjs document numbering styles")); - styleContainer.appendChild(this.renderNumbering(document.numberingPart.domNumberings, styleContainer)); - //styleContainer.appendChild(this.renderNumbering2(document.numberingPart, styleContainer)); - } - - if (document.footnotesPart) { - this.footnoteMap = keyBy(document.footnotesPart.notes, x => x.id); - } - - if (document.endnotesPart) { - this.endnoteMap = keyBy(document.endnotesPart.notes, x => x.id); - } - - if (document.settingsPart) { - this.defaultTabSize = document.settingsPart.settings?.defaultTabStop; - } - - if (!options.ignoreFonts && document.fontTablePart) - this.renderFontTable(document.fontTablePart, styleContainer); - - var sectionElements = this.renderSections(document.documentPart.body); - - if (this.options.inWrapper) { - bodyContainer.appendChild(this.renderWrapper(sectionElements)); - } else { - appendChildren(bodyContainer, sectionElements); - } - - if (this.commentHighlight && options.renderComments) { - (CSS as any).highlights.set(`${this.className}-comments`, this.commentHighlight); - } - - this.postRenderTasks.forEach(t => t()); - - await Promise.allSettled(this.tasks); - - this.refreshTabStops(); - } - - renderTheme(themePart: ThemePart, styleContainer: HTMLElement) { - const variables = {}; - const fontScheme = themePart.theme?.fontScheme; - - if (fontScheme) { - if (fontScheme.majorFont) { - variables['--docx-majorHAnsi-font'] = fontScheme.majorFont.latinTypeface; - } - - if (fontScheme.minorFont) { - variables['--docx-minorHAnsi-font'] = fontScheme.minorFont.latinTypeface; - } - } - - const colorScheme = themePart.theme?.colorScheme; - - if (colorScheme) { - for (let [k, v] of Object.entries(colorScheme.colors)) { - variables[`--docx-${k}-color`] = `#${v}`; - } - } - - const cssText = this.styleToString(`.${this.className}`, variables); - styleContainer.appendChild(this.createStyleElement(cssText)); - } - - renderFontTable(fontsPart: FontTablePart, styleContainer: HTMLElement) { - for (let f of fontsPart.fonts) { - for (let ref of f.embedFontRefs) { - this.tasks.push(this.document.loadFont(ref.id, ref.key).then(fontData => { - const cssValues = { - 'font-family': encloseFontFamily(f.name), - 'src': `url(${fontData})` - }; - - if (ref.type == "bold" || ref.type == "boldItalic") { - cssValues['font-weight'] = 'bold'; - } - - if (ref.type == "italic" || ref.type == "boldItalic") { - cssValues['font-style'] = 'italic'; - } - - const cssText = this.styleToString("@font-face", cssValues); - styleContainer.appendChild(this.createComment(`docxjs ${f.name} font`)); - styleContainer.appendChild(this.createStyleElement(cssText)); - })); - } - } - } - - processStyleName(className: string): string { - return className ? `${this.className}_${escapeClassName(className)}` : this.className; - } - - processStyles(styles: IDomStyle[]) { - const stylesMap = keyBy(styles.filter(x => x.id != null), x => x.id); - - for (const style of styles.filter(x => x.basedOn)) { - var baseStyle = stylesMap[style.basedOn]; - - if (baseStyle) { - style.paragraphProps = mergeDeep(style.paragraphProps, baseStyle.paragraphProps); - style.runProps = mergeDeep(style.runProps, baseStyle.runProps); - - for (const baseValues of baseStyle.styles) { - const styleValues = style.styles.find(x => x.target == baseValues.target); - - if (styleValues) { - this.copyStyleProperties(baseValues.values, styleValues.values); - } else { - style.styles.push({ ...baseValues, values: { ...baseValues.values } }); - } - } - } - else if (this.options.debug) - console.warn(`Can't find base style ${style.basedOn}`); - } - - for (let style of styles) { - style.cssName = this.processStyleName(style.id); - } - - return stylesMap; - } - - prodessNumberings(numberings: IDomNumbering[]) { - for (let num of numberings.filter(n => n.pStyleName)) { - const style = this.findStyle(num.pStyleName); - - if (style?.paragraphProps?.numbering) { - style.paragraphProps.numbering.level = num.level; - } - } - } - - processElement(element: OpenXmlElement) { - if (element.children) { - for (var e of element.children) { - e.parent = element; - - if (e.type == DomType.Table) { - this.processTable(e); - } - else { - this.processElement(e); - } - } - } - } - - processTable(table: WmlTable) { - for (var r of table.children) { - for (var c of r.children) { - c.cssStyle = this.copyStyleProperties(table.cellStyle, c.cssStyle, [ - "border-left", "border-right", "border-top", "border-bottom", - "padding-left", "padding-right", "padding-top", "padding-bottom" - ]); - - this.processElement(c); - } - } - } - - copyStyleProperties(input: Record, output: Record, attrs: string[] = null): Record { - if (!input) - return output; - - if (output == null) output = {}; - if (attrs == null) attrs = Object.getOwnPropertyNames(input); - - for (var key of attrs) { - if (input.hasOwnProperty(key) && !output.hasOwnProperty(key)) - output[key] = input[key]; - } - - return output; - } - - createPageElement(className: string, props: SectionProperties): HTMLElement { - var elem = this.createElement("section", { className }); - - if (props) { - if (props.pageMargins) { - elem.style.paddingLeft = props.pageMargins.left; - elem.style.paddingRight = props.pageMargins.right; - elem.style.paddingTop = props.pageMargins.top; - elem.style.paddingBottom = props.pageMargins.bottom; - } - - if (props.pageSize) { - if (!this.options.ignoreWidth) - elem.style.width = props.pageSize.width; - if (!this.options.ignoreHeight) - elem.style.minHeight = props.pageSize.height; - } - } - - return elem; - } - - createSectionContent(props: SectionProperties): HTMLElement { - var elem = this.createElement("article") - - if (props.columns && props.columns.numberOfColumns) { - elem.style.columnCount = `${props.columns.numberOfColumns}`; - elem.style.columnGap = props.columns.space; - - if (props.columns.separator) { - elem.style.columnRule = "1px solid black"; - } - } - - return elem; - } - - renderSections(document: DocumentElement): HTMLElement[] { - const result = []; - - this.processElement(document); - const sections = this.splitBySection(document.children, document.props); - const pages = this.groupByPageBreaks(sections); - let prevProps = null; - - for (let i = 0, l = pages.length; i < l; i++) { - this.currentFootnoteIds = []; - - const section = pages[i][0]; - let props = section.sectProps; - const pageElement = this.createPageElement(this.className, props); - this.renderStyleValues(document.cssStyle, pageElement); - - this.options.renderHeaders && this.renderHeaderFooter(props.headerRefs, props, - result.length, prevProps != props, pageElement); - - for (const sect of pages[i]) { - var contentElement = this.createSectionContent(sect.sectProps); - this.renderElements(sect.elements, contentElement); - pageElement.appendChild(contentElement); - props = sect.sectProps; - } - - if (this.options.renderFootnotes) { - this.renderNotes(this.currentFootnoteIds, this.footnoteMap, pageElement); - } - - if (this.options.renderEndnotes && i == l - 1) { - this.renderNotes(this.currentEndnoteIds, this.endnoteMap, pageElement); - } - - this.options.renderFooters && this.renderHeaderFooter(props.footerRefs, props, - result.length, prevProps != props, pageElement); - - result.push(pageElement); - prevProps = props; - } - - return result; - } - - renderHeaderFooter(refs: FooterHeaderReference[], props: SectionProperties, page: number, firstOfSection: boolean, into: HTMLElement) { - if (!refs) return; - - var ref = (props.titlePage && firstOfSection ? refs.find(x => x.type == "first") : null) - ?? (page % 2 == 1 ? refs.find(x => x.type == "even") : null) - ?? refs.find(x => x.type == "default"); - - var part = ref && this.document.findPartByRelId(ref.id, this.document.documentPart) as BaseHeaderFooterPart; - - if (part) { - this.currentPart = part; - if (!this.usedHederFooterParts.includes(part.path)) { - this.processElement(part.rootElement); - this.usedHederFooterParts.push(part.path); - } - const [el] = this.renderElements([part.rootElement], into) as HTMLElement[]; - - if (props?.pageMargins) { - if (part.rootElement.type === DomType.Header) { - el.style.marginTop = `calc(${props.pageMargins.header} - ${props.pageMargins.top})`; - el.style.minHeight = `calc(${props.pageMargins.top} - ${props.pageMargins.header})`; - } - else if (part.rootElement.type === DomType.Footer) { - el.style.marginBottom = `calc(${props.pageMargins.footer} - ${props.pageMargins.bottom})`; - el.style.minHeight = `calc(${props.pageMargins.bottom} - ${props.pageMargins.footer})`; - } - } - - this.currentPart = null; - } - } - - isPageBreakElement(elem: OpenXmlElement): boolean { - if (elem.type != DomType.Break) - return false; - - if ((elem as WmlBreak).break == "lastRenderedPageBreak") - return !this.options.ignoreLastRenderedPageBreak; - - return (elem as WmlBreak).break == "page"; - } - - isPageBreakSection(prev: SectionProperties, next: SectionProperties): boolean { - if (!prev) return false; - if (!next) return false; - - return prev.pageSize?.orientation != next.pageSize?.orientation - || prev.pageSize?.width != next.pageSize?.width - || prev.pageSize?.height != next.pageSize?.height; - } - - splitBySection(elements: OpenXmlElement[], defaultProps: SectionProperties): Section[] { - var current: Section = { sectProps: null, elements: [], pageBreak: false }; - var result = [current]; - - for (let elem of elements) { - if (elem.type == DomType.Paragraph) { - const s = this.findStyle((elem as WmlParagraph).styleName); - - if (s?.paragraphProps?.pageBreakBefore) { - current.sectProps = sectProps; - current.pageBreak = true; - current = { sectProps: null, elements: [], pageBreak: false }; - result.push(current); - } - } - - current.elements.push(elem); - - if (elem.type == DomType.Paragraph) { - const p = elem as WmlParagraph; - - var sectProps = p.sectionProps; - var pBreakIndex = -1; - var rBreakIndex = -1; - - if (this.options.breakPages && p.children) { - pBreakIndex = p.children.findIndex(r => { - rBreakIndex = r.children?.findIndex(this.isPageBreakElement.bind(this)) ?? -1; - return rBreakIndex != -1; - }); - } - - if (sectProps || pBreakIndex != -1) { - current.sectProps = sectProps; - current.pageBreak = pBreakIndex != -1; - current = { sectProps: null, elements: [], pageBreak: false }; - result.push(current); - } - - if (pBreakIndex != -1) { - let breakRun = p.children[pBreakIndex]; - let splitRun = rBreakIndex < breakRun.children.length - 1; - - if (pBreakIndex < p.children.length - 1 || splitRun) { - var children = elem.children; - var newParagraph = { ...elem, children: children.slice(pBreakIndex) }; - elem.children = children.slice(0, pBreakIndex); - current.elements.push(newParagraph); - - if (splitRun) { - let runChildren = breakRun.children; - let newRun = { ...breakRun, children: runChildren.slice(0, rBreakIndex) }; - elem.children.push(newRun); - breakRun.children = runChildren.slice(rBreakIndex); - } - } - } - } - } - - let currentSectProps = null; - - for (let i = result.length - 1; i >= 0; i--) { - if (result[i].sectProps == null) { - result[i].sectProps = currentSectProps ?? defaultProps; - } else { - currentSectProps = result[i].sectProps - } - } - - return result; - } - - groupByPageBreaks(sections: Section[]): Section[][] { - let current = []; - let prev: SectionProperties; - const result: Section[][] = [current]; - - for (let s of sections) { - current.push(s); - - if (this.options.ignoreLastRenderedPageBreak || s.pageBreak || this.isPageBreakSection(prev, s.sectProps)) - result.push(current = []); - - prev = s.sectProps; - } - - return result.filter(x => x.length > 0); - } - - renderWrapper(children: HTMLElement[]) { - return this.createElement("div", { className: `${this.className}-wrapper` }, children); - } - - renderDefaultStyle() { - var c = this.className; - var wrapperStyle = ` -.${c}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } -.${c}-wrapper>section.${c} { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); margin-bottom: 30px; }`; - if (this.options.hideWrapperOnPrint) { - wrapperStyle = `@media not print { ${wrapperStyle} }`; - } - var styleText = `${wrapperStyle} -.${c} { color: black; hyphens: auto; text-underline-position: from-font; } -section.${c} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; } -section.${c}>article { margin-bottom: auto; z-index: 1; } -section.${c}>footer { z-index: 1; } -.${c} table { border-collapse: collapse; } -.${c} table td, .${c} table th { vertical-align: top; } -.${c} p { margin: 0pt; min-height: 1em; } -.${c} span { white-space: pre-wrap; overflow-wrap: break-word; } -.${c} a { color: inherit; text-decoration: inherit; } -.${c} svg { fill: transparent; } -`; - - if (this.options.renderComments) { - styleText += ` -.${c}-comment-ref { cursor: default; } -.${c}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; } -.${c}-comment-ref:hover~.${c}-comment-popover { display: block; } -.${c}-comment-author,.${c}-comment-date { font-size: 0.875rem; color: #888; } -` - }; - - return this.createStyleElement(styleText); - } - - // renderNumbering2(numberingPart: NumberingPartProperties, container: HTMLElement): HTMLElement { - // let css = ""; - // const numberingMap = keyBy(numberingPart.abstractNumberings, x => x.id); - // const bulletMap = keyBy(numberingPart.bulletPictures, x => x.id); - // const topCounters = []; - - // for(let num of numberingPart.numberings) { - // const absNum = numberingMap[num.abstractId]; - - // for(let lvl of absNum.levels) { - // const className = this.numberingClass(num.id, lvl.level); - // let listStyleType = "none"; - - // if(lvl.text && lvl.format == 'decimal') { - // const counter = this.numberingCounter(num.id, lvl.level); - - // if (lvl.level > 0) { - // css += this.styleToString(`p.${this.numberingClass(num.id, lvl.level - 1)}`, { - // "counter-reset": counter - // }); - // } else { - // topCounters.push(counter); - // } - - // css += this.styleToString(`p.${className}:before`, { - // "content": this.levelTextToContent(lvl.text, num.id), - // "counter-increment": counter - // }); - // } else if(lvl.bulletPictureId) { - // let pict = bulletMap[lvl.bulletPictureId]; - // let variable = `--${this.className}-${pict.referenceId}`.toLowerCase(); - - // css += this.styleToString(`p.${className}:before`, { - // "content": "' '", - // "display": "inline-block", - // "background": `var(${variable})` - // }, pict.style); - - // this.document.loadNumberingImage(pict.referenceId).then(data => { - // var text = `.${this.className}-wrapper { ${variable}: url(${data}) }`; - // container.appendChild(createStyleElement(text)); - // }); - // } else { - // listStyleType = this.numFormatToCssValue(lvl.format); - // } - - // css += this.styleToString(`p.${className}`, { - // "display": "list-item", - // "list-style-position": "inside", - // "list-style-type": listStyleType, - // //TODO - // //...num.style - // }); - // } - // } - - // if (topCounters.length > 0) { - // css += this.styleToString(`.${this.className}-wrapper`, { - // "counter-reset": topCounters.join(" ") - // }); - // } - - // return createStyleElement(css); - // } - - renderNumbering(numberings: IDomNumbering[], styleContainer: HTMLElement) { - var styleText = ""; - var resetCounters = []; - - for (var num of numberings) { - var selector = `p.${this.numberingClass(num.id, num.level)}`; - var listStyleType = "none"; - - if (num.bullet) { - let valiable = `--${this.className}-${num.bullet.src}`.toLowerCase(); - - styleText += this.styleToString(`${selector}:before`, { - "content": "' '", - "display": "inline-block", - "background": `var(${valiable})` - }, num.bullet.style); - - this.tasks.push(this.document.loadNumberingImage(num.bullet.src).then(data => { - var text = `${this.rootSelector} { ${valiable}: url(${data}) }`; - styleContainer.appendChild(this.createStyleElement(text)); - })); - } - else if (num.levelText) { - let counter = this.numberingCounter(num.id, num.level); - const counterReset = counter + " " + (num.start - 1); - if (num.level > 0) { - styleText += this.styleToString(`p.${this.numberingClass(num.id, num.level - 1)}`, { - "counter-set": counterReset - }); - } - // reset all level counters with start value - resetCounters.push(counterReset); - - styleText += this.styleToString(`${selector}:before`, { - "content": this.levelTextToContent(num.levelText, num.suff, num.id, this.numFormatToCssValue(num.format)), - "counter-increment": counter, - ...num.rStyle, - }); - } - else { - listStyleType = this.numFormatToCssValue(num.format); - } - - styleText += this.styleToString(selector, { - "display": "list-item", - "list-style-position": "inside", - "list-style-type": listStyleType, - ...num.pStyle - }); - } - - if (resetCounters.length > 0) { - styleText += this.styleToString(this.rootSelector, { - "counter-reset": resetCounters.join(" ") - }); - } - - return this.createStyleElement(styleText); - } - - renderStyles(styles: IDomStyle[]): HTMLElement { - var styleText = ""; - const stylesMap = this.styleMap; - const defautStyles = keyBy(styles.filter(s => s.isDefault), s => s.target); - - for (const style of styles) { - var subStyles = style.styles; - - if (style.linked) { - var linkedStyle = style.linked && stylesMap[style.linked]; - - if (linkedStyle) - subStyles = subStyles.concat(linkedStyle.styles); - else if (this.options.debug) - console.warn(`Can't find linked style ${style.linked}`); - } - - for (const subStyle of subStyles) { - //TODO temporary disable modificators until test it well - var selector = `${style.target ?? ''}.${style.cssName}`; //${subStyle.mod ?? ''} - - if (style.target != subStyle.target) - selector += ` ${subStyle.target}`; - - if (defautStyles[style.target] == style) - selector = `.${this.className} ${style.target}, ` + selector; - - styleText += this.styleToString(selector, subStyle.values); - } - } - - return this.createStyleElement(styleText); - } - - renderNotes(noteIds: string[], notesMap: Record, into: HTMLElement) { - var notes = noteIds.map(id => notesMap[id]).filter(x => x); - - if (notes.length > 0) { - var result = this.createElement("ol", null, this.renderElements(notes)); - into.appendChild(result); - } - } - - renderElement(elem: OpenXmlElement): Node | Node[] { - switch (elem.type) { - case DomType.Paragraph: - return this.renderParagraph(elem as WmlParagraph); - - case DomType.BookmarkStart: - return this.renderBookmarkStart(elem as WmlBookmarkStart); - - case DomType.BookmarkEnd: - return null; //ignore bookmark end - - case DomType.Run: - return this.renderRun(elem as WmlRun); - - case DomType.Table: - return this.renderTable(elem); - - case DomType.Row: - return this.renderTableRow(elem); - - case DomType.Cell: - return this.renderTableCell(elem); - - case DomType.Hyperlink: - return this.renderHyperlink(elem); - - case DomType.SmartTag: - return this.renderSmartTag(elem); - - case DomType.Drawing: - return this.renderDrawing(elem); - - case DomType.Image: - return this.renderImage(elem as IDomImage); - - case DomType.Text: - return this.renderText(elem as WmlText); - - case DomType.Text: - return this.renderText(elem as WmlText); - - case DomType.DeletedText: - return this.renderDeletedText(elem as WmlText); - - case DomType.Tab: - return this.renderTab(elem); - - case DomType.Symbol: - return this.renderSymbol(elem as WmlSymbol); - - case DomType.Break: - return this.renderBreak(elem as WmlBreak); - - case DomType.Footer: - return this.renderContainer(elem, "footer"); - - case DomType.Header: - return this.renderContainer(elem, "header"); - - case DomType.Footnote: - case DomType.Endnote: - return this.renderContainer(elem, "li"); - - case DomType.FootnoteReference: - return this.renderFootnoteReference(elem as WmlNoteReference); - - case DomType.EndnoteReference: - return this.renderEndnoteReference(elem as WmlNoteReference); - - case DomType.NoBreakHyphen: - return this.createElement("wbr"); - - case DomType.VmlPicture: - return this.renderVmlPicture(elem); - - case DomType.VmlElement: - return this.renderVmlElement(elem as VmlElement); - - case DomType.MmlMath: - return this.renderContainerNS(elem, ns.mathML, "math", { xmlns: ns.mathML }); - - case DomType.MmlMathParagraph: - return this.renderContainer(elem, "span"); - - case DomType.MmlFraction: - return this.renderContainerNS(elem, ns.mathML, "mfrac"); - - case DomType.MmlBase: - return this.renderContainerNS(elem, ns.mathML, - elem.parent.type == DomType.MmlMatrixRow ? "mtd" : "mrow"); - - case DomType.MmlNumerator: - case DomType.MmlDenominator: - case DomType.MmlFunction: - case DomType.MmlLimit: - case DomType.MmlBox: - return this.renderContainerNS(elem, ns.mathML, "mrow"); - - case DomType.MmlGroupChar: - return this.renderMmlGroupChar(elem); - - case DomType.MmlLimitLower: - return this.renderContainerNS(elem, ns.mathML, "munder"); - - case DomType.MmlMatrix: - return this.renderContainerNS(elem, ns.mathML, "mtable"); - - case DomType.MmlMatrixRow: - return this.renderContainerNS(elem, ns.mathML, "mtr"); - - case DomType.MmlRadical: - return this.renderMmlRadical(elem); - - case DomType.MmlSuperscript: - return this.renderContainerNS(elem, ns.mathML, "msup"); - - case DomType.MmlSubscript: - return this.renderContainerNS(elem, ns.mathML, "msub"); - - case DomType.MmlDegree: - case DomType.MmlSuperArgument: - case DomType.MmlSubArgument: - return this.renderContainerNS(elem, ns.mathML, "mn"); - - case DomType.MmlFunctionName: - return this.renderContainerNS(elem, ns.mathML, "ms"); - - case DomType.MmlDelimiter: - return this.renderMmlDelimiter(elem); - - case DomType.MmlRun: - return this.renderMmlRun(elem); - - case DomType.MmlNary: - return this.renderMmlNary(elem); - - case DomType.MmlPreSubSuper: - return this.renderMmlPreSubSuper(elem); - - case DomType.MmlBar: - return this.renderMmlBar(elem); - - case DomType.MmlEquationArray: - return this.renderMllList(elem); - - case DomType.Inserted: - return this.renderInserted(elem); - - case DomType.Deleted: - return this.renderDeleted(elem); - - case DomType.CommentRangeStart: - return this.renderCommentRangeStart(elem); - - case DomType.CommentRangeEnd: - return this.renderCommentRangeEnd(elem); - - case DomType.CommentReference: - return this.renderCommentReference(elem); - - case DomType.AltChunk: - return this.renderAltChunk(elem); - } - - return null; - } - renderElements(elems: OpenXmlElement[], into?: Node): Node[] { - if (elems == null) - return null; - - var result = elems.flatMap(e => this.renderElement(e)).filter(e => e != null); - - if (into) - appendChildren(into, result); - - return result; - } - - renderContainer(elem: OpenXmlElement, tagName: T, props?: Partial>): HTMLElementTagNameMap[T] { - return this.createElement(tagName, props, this.renderElements(elem.children)); - } - - renderContainerNS(elem: OpenXmlElement, ns: string, tagName: string, props?: Record) { - return this.createElementNS(ns, tagName, props, this.renderElements(elem.children)); - } - - renderParagraph(elem: WmlParagraph) { - var result = this.renderContainer(elem, "p"); - - const style = this.findStyle(elem.styleName); - elem.tabs ??= style?.paragraphProps?.tabs; //TODO - - this.renderClass(elem, result); - this.renderStyleValues(elem.cssStyle, result); - this.renderCommonProperties(result.style, elem); - - const numbering = elem.numbering ?? style?.paragraphProps?.numbering; - - if (numbering) { - result.classList.add(this.numberingClass(numbering.id, numbering.level)); - } - - return result; - } - - renderRunProperties(style: any, props: RunProperties) { - this.renderCommonProperties(style, props); - } - - renderCommonProperties(style: any, props: CommonProperties) { - if (props == null) - return; - - if (props.color) { - style["color"] = props.color; - } - - if (props.fontSize) { - style["font-size"] = props.fontSize; - } - } - - renderHyperlink(elem: WmlHyperlink) { - var result = this.renderContainer(elem, "a"); - - this.renderStyleValues(elem.cssStyle, result); - - let href = ''; - - if (elem.id) { - const rel = this.document.documentPart.rels.find(it => it.id == elem.id && it.targetMode === "External"); - href = rel?.target ?? href; - } - - if (elem.anchor) { - href += `#${elem.anchor}`; - } - - result.href = href; - - return result; - } - - renderSmartTag(elem: WmlSmartTag) { - return this.renderContainer(elem, "span"); - } - - renderCommentRangeStart(commentStart: WmlCommentRangeStart) { - if (!this.options.renderComments) - return null; - - const rng = new Range(); - this.commentHighlight?.add(rng); - - const result = this.htmlDocument.createComment(`start of comment #${commentStart.id}`); - this.later(() => rng.setStart(result, 0)); - this.commentMap[commentStart.id] = rng; - - return result - } - - renderCommentRangeEnd(commentEnd: WmlCommentRangeStart) { - if (!this.options.renderComments) - return null; - - const rng = this.commentMap[commentEnd.id]; - const result = this.htmlDocument.createComment(`end of comment #${commentEnd.id}`); - this.later(() => rng?.setEnd(result, 0)); - - return result; - } - - renderCommentReference(commentRef: WmlCommentReference) { - if (!this.options.renderComments) - return null; - - var comment = this.document.commentsPart?.commentMap[commentRef.id]; - - if (!comment) - return null; - - const frg = new DocumentFragment(); - const commentRefEl = this.createElement("span", { className: `${this.className}-comment-ref` }, ['💬']); - const commentsContainerEl = this.createElement("div", { className: `${this.className}-comment-popover` }); - - this.renderCommentContent(comment, commentsContainerEl); - - frg.appendChild(this.htmlDocument.createComment(`comment #${comment.id} by ${comment.author} on ${comment.date}`)); - frg.appendChild(commentRefEl); - frg.appendChild(commentsContainerEl); - - return frg; - } - - renderAltChunk(elem: WmlAltChunk) { - if (!this.options.renderAltChunks) - return null; - - var result = this.createElement("iframe"); - - this.tasks.push(this.document.loadAltChunk(elem.id, this.currentPart).then(x => { - result.srcdoc = x; - })); - - return result; - } - - renderCommentContent(comment: WmlComment, container: Node) { - container.appendChild(this.createElement('div', { className: `${this.className}-comment-author` }, [comment.author])); - container.appendChild(this.createElement('div', { className: `${this.className}-comment-date` }, [new Date(comment.date).toLocaleString()])); - - this.renderElements(comment.children, container); - } - - renderDrawing(elem: OpenXmlElement) { - var result = this.renderContainer(elem, "div"); - - result.style.display = "inline-block"; - result.style.position = "relative"; - result.style.textIndent = "0px"; - - this.renderStyleValues(elem.cssStyle, result); - - return result; - } - - renderImage(elem: IDomImage) { - let result = this.createElement("img"); - - this.renderStyleValues(elem.cssStyle, result); - - if (this.document) { - this.tasks.push(this.document.loadDocumentImage(elem.src, this.currentPart).then(x => { - result.src = x; - })); - } - - return result; - } - - renderText(elem: WmlText) { - return this.htmlDocument.createTextNode(elem.text); - } - - renderDeletedText(elem: WmlText) { - return this.options.renderEndnotes ? this.htmlDocument.createTextNode(elem.text) : null; - } - - renderBreak(elem: WmlBreak) { - if (elem.break == "textWrapping") { - return this.createElement("br"); - } - - return null; - } - - renderInserted(elem: OpenXmlElement): Node | Node[] { - if (this.options.renderChanges) - return this.renderContainer(elem, "ins"); - - return this.renderElements(elem.children); - } - - renderDeleted(elem: OpenXmlElement): Node { - if (this.options.renderChanges) - return this.renderContainer(elem, "del"); - - return null; - } - - renderSymbol(elem: WmlSymbol) { - var span = this.createElement("span"); - span.style.fontFamily = elem.font; - span.innerHTML = `&#x${elem.char};` - return span; - } - - renderFootnoteReference(elem: WmlNoteReference) { - var result = this.createElement("sup"); - this.currentFootnoteIds.push(elem.id); - result.textContent = `${this.currentFootnoteIds.length}`; - return result; - } - - renderEndnoteReference(elem: WmlNoteReference) { - var result = this.createElement("sup"); - this.currentEndnoteIds.push(elem.id); - result.textContent = `${this.currentEndnoteIds.length}`; - return result; - } - - renderTab(elem: OpenXmlElement) { - var tabSpan = this.createElement("span"); - - tabSpan.innerHTML = " ";//" "; - - if (this.options.experimental) { - tabSpan.className = this.tabStopClass(); - var stops = findParent(elem, DomType.Paragraph)?.tabs; - this.currentTabs.push({ stops, span: tabSpan }); - } - - return tabSpan; - } - - renderBookmarkStart(elem: WmlBookmarkStart): HTMLElement { - return this.createElement("span", { id: elem.name }); - } - - renderRun(elem: WmlRun) { - if (elem.fieldRun) - return null; - - const result = this.createElement("span"); - - if (elem.id) - result.id = elem.id; - - this.renderClass(elem, result); - this.renderStyleValues(elem.cssStyle, result); - - if (elem.verticalAlign) { - const wrapper = this.createElement(elem.verticalAlign as any); - this.renderElements(elem.children, wrapper); - result.appendChild(wrapper); - } - else { - this.renderElements(elem.children, result); - } - - return result; - } - - renderTable(elem: WmlTable) { - let result = this.createElement("table"); - - this.tableCellPositions.push(this.currentCellPosition); - this.tableVerticalMerges.push(this.currentVerticalMerge); - this.currentVerticalMerge = {}; - this.currentCellPosition = { col: 0, row: 0 }; - - if (elem.columns) - result.appendChild(this.renderTableColumns(elem.columns)); - - this.renderClass(elem, result); - this.renderElements(elem.children, result); - this.renderStyleValues(elem.cssStyle, result); - - this.currentVerticalMerge = this.tableVerticalMerges.pop(); - this.currentCellPosition = this.tableCellPositions.pop(); - - return result; - } - - renderTableColumns(columns: WmlTableColumn[]) { - let result = this.createElement("colgroup"); - - for (let col of columns) { - let colElem = this.createElement("col"); - - if (col.width) - colElem.style.width = col.width; - - result.appendChild(colElem); - } - - return result; - } - - renderTableRow(elem: WmlTableRow) { - let result = this.createElement("tr"); - - this.currentCellPosition.col = 0; - - if (elem.gridBefore) - result.appendChild(this.renderTableCellPlaceholder(elem.gridBefore)); - - this.renderClass(elem, result); - this.renderElements(elem.children, result); - this.renderStyleValues(elem.cssStyle, result); - - if (elem.gridAfter) - result.appendChild(this.renderTableCellPlaceholder(elem.gridAfter)); - - this.currentCellPosition.row++; - - return result; - } - - renderTableCellPlaceholder(colSpan: number) { - const result = this.createElement("td", { colSpan }) - result.style['border'] = 'none'; - return result; - } - - renderTableCell(elem: WmlTableCell) { - let result = this.renderContainer(elem, "td"); - - const key = this.currentCellPosition.col; - - if (elem.verticalMerge) { - if (elem.verticalMerge == "restart") { - this.currentVerticalMerge[key] = result; - result.rowSpan = 1; - } else if (this.currentVerticalMerge[key]) { - this.currentVerticalMerge[key].rowSpan += 1; - result.style.display = "none"; - } - } else { - this.currentVerticalMerge[key] = null; - } - - this.renderClass(elem, result); - this.renderStyleValues(elem.cssStyle, result); - - if (elem.span) - result.colSpan = elem.span; - - this.currentCellPosition.col += result.colSpan; - - return result; - } - - renderVmlPicture(elem: OpenXmlElement) { - return this.renderContainer(elem, "div"); - } - - renderVmlElement(elem: VmlElement): SVGElement { - var container = this.createSvgElement("svg"); - - container.setAttribute("style", elem.cssStyleText); - - const result = this.renderVmlChildElement(elem); - - if (elem.imageHref?.id) { - this.tasks.push(this.document?.loadDocumentImage(elem.imageHref.id, this.currentPart) - .then(x => result.setAttribute("href", x))); - } - - container.appendChild(result); - - requestAnimationFrame(() => { - const bb = (container.firstElementChild as any).getBBox(); - - container.setAttribute("width", `${Math.ceil(bb.x + bb.width)}`); - container.setAttribute("height", `${Math.ceil(bb.y + bb.height)}`); - }); - - return container; - } - - renderVmlChildElement(elem: VmlElement): any { - const result = this.createSvgElement(elem.tagName as any); - Object.entries(elem.attrs).forEach(([k, v]) => result.setAttribute(k, v)); - - for (let child of elem.children) { - if (child.type == DomType.VmlElement) { - result.appendChild(this.renderVmlChildElement(child as VmlElement)); - } else { - result.appendChild(...asArray(this.renderElement(child as any))); - } - } - - return result; - } - - renderMmlRadical(elem: OpenXmlElement): HTMLElement { - const base = elem.children.find(el => el.type == DomType.MmlBase); - - if (elem.props?.hideDegree) { - return this.createElementNS(ns.mathML, "msqrt", null, this.renderElements([base])); - } - - const degree = elem.children.find(el => el.type == DomType.MmlDegree); - return this.createElementNS(ns.mathML, "mroot", null, this.renderElements([base, degree])); - } - - renderMmlDelimiter(elem: OpenXmlElement): HTMLElement { - const children = []; - - children.push(this.createElementNS(ns.mathML, "mo", null, [elem.props.beginChar ?? '('])); - children.push(...this.renderElements(elem.children)); - children.push(this.createElementNS(ns.mathML, "mo", null, [elem.props.endChar ?? ')'])); - - return this.createElementNS(ns.mathML, "mrow", null, children); - } - - renderMmlNary(elem: OpenXmlElement): HTMLElement { - const children = []; - const grouped = keyBy(elem.children, x => x.type); - - const sup = grouped[DomType.MmlSuperArgument]; - const sub = grouped[DomType.MmlSubArgument]; - const supElem = sup ? this.createElementNS(ns.mathML, "mo", null, asArray(this.renderElement(sup))) : null; - const subElem = sub ? this.createElementNS(ns.mathML, "mo", null, asArray(this.renderElement(sub))) : null; - - const charElem = this.createElementNS(ns.mathML, "mo", null, [elem.props?.char ?? '\u222B']); - - if (supElem || subElem) { - children.push(this.createElementNS(ns.mathML, "munderover", null, [charElem, subElem, supElem])); - } else if(supElem) { - children.push(this.createElementNS(ns.mathML, "mover", null, [charElem, supElem])); - } else if(subElem) { - children.push(this.createElementNS(ns.mathML, "munder", null, [charElem, subElem])); - } else { - children.push(charElem); - } - - children.push(...this.renderElements(grouped[DomType.MmlBase].children)); - - return this.createElementNS(ns.mathML, "mrow", null, children); - } - - renderMmlPreSubSuper(elem: OpenXmlElement) { - const children = []; - const grouped = keyBy(elem.children, x => x.type); - - const sup = grouped[DomType.MmlSuperArgument]; - const sub = grouped[DomType.MmlSubArgument]; - const supElem = sup ? this.createElementNS(ns.mathML, "mo", null, asArray(this.renderElement(sup))) : null; - const subElem = sub ? this.createElementNS(ns.mathML, "mo", null, asArray(this.renderElement(sub))) : null; - const stubElem = this.createElementNS(ns.mathML, "mo", null); - - children.push(this.createElementNS(ns.mathML, "msubsup", null, [stubElem, subElem, supElem])); - children.push(...this.renderElements(grouped[DomType.MmlBase].children)); - - return this.createElementNS(ns.mathML, "mrow", null, children); - } - - renderMmlGroupChar(elem: OpenXmlElement) { - const tagName = elem.props.verticalJustification === "bot" ? "mover" : "munder"; - const result = this.renderContainerNS(elem, ns.mathML, tagName); - - if (elem.props.char) { - result.appendChild(this.createElementNS(ns.mathML, "mo", null, [elem.props.char])); - } - - return result; - } - - renderMmlBar(elem: OpenXmlElement) { - const result = this.renderContainerNS(elem, ns.mathML, "mrow"); - - switch(elem.props.position) { - case "top": result.style.textDecoration = "overline"; break - case "bottom": result.style.textDecoration = "underline"; break - } - - return result; - } - - renderMmlRun(elem: OpenXmlElement) { - const result = this.createElementNS(ns.mathML, "ms", null, this.renderElements(elem.children)); - - this.renderClass(elem, result); - this.renderStyleValues(elem.cssStyle, result); - - return result; - } - - renderMllList(elem: OpenXmlElement) { - const result = this.createElementNS(ns.mathML, "mtable"); - - this.renderClass(elem, result); - this.renderStyleValues(elem.cssStyle, result); - - for (let child of this.renderElements(elem.children)) { - result.appendChild(this.createElementNS(ns.mathML, "mtr", null, [ - this.createElementNS(ns.mathML, "mtd", null, [child]) - ])); - } - - return result; - } - - - renderStyleValues(style: Record, ouput: HTMLElement) { - for (let k in style) { - if (k.startsWith("$")) { - ouput.setAttribute(k.slice(1), style[k]); - } else { - ouput.style[k] = style[k]; - } - } - } - - renderClass(input: OpenXmlElement, ouput: HTMLElement) { - if (input.className) - ouput.className = input.className; - - if (input.styleName) - ouput.classList.add(this.processStyleName(input.styleName)); - } - - findStyle(styleName: string) { - return styleName && this.styleMap?.[styleName]; - } - - numberingClass(id: string, lvl: number) { - return `${this.className}-num-${id}-${lvl}`; - } - - tabStopClass() { - return `${this.className}-tab-stop`; - } - - styleToString(selectors: string, values: Record, cssText: string = null) { - let result = `${selectors} {\r\n`; - - for (const key in values) { - if (key.startsWith('$')) - continue; - - result += ` ${key}: ${values[key]};\r\n`; - } - - if (cssText) - result += cssText; - - return result + "}\r\n"; - } - - numberingCounter(id: string, lvl: number) { - return `${this.className}-num-${id}-${lvl}`; - } - - levelTextToContent(text: string, suff: string, id: string, numformat: string) { - const suffMap = { - "tab": "\\9", - "space": "\\a0", - }; - - var result = text.replace(/%\d*/g, s => { - let lvl = parseInt(s.substring(1), 10) - 1; - return `"counter(${this.numberingCounter(id, lvl)}, ${numformat})"`; - }); - - return `"${result}${suffMap[suff] ?? ""}"`; - } - - numFormatToCssValue(format: string) { - var mapping = { - none: "none", - bullet: "disc", - decimal: "decimal", - lowerLetter: "lower-alpha", - upperLetter: "upper-alpha", - lowerRoman: "lower-roman", - upperRoman: "upper-roman", - decimalZero: "decimal-leading-zero", // 01,02,03,... - // ordinal: "", // 1st, 2nd, 3rd,... - // ordinalText: "", //First, Second, Third, ... - // cardinalText: "", //One,Two Three,... - // numberInDash: "", //-1-,-2-,-3-, ... - // hex: "upper-hexadecimal", - aiueo: "katakana", - aiueoFullWidth: "katakana", - chineseCounting: "simp-chinese-informal", - chineseCountingThousand: "simp-chinese-informal", - chineseLegalSimplified: "simp-chinese-formal", // 中文大写 - chosung: "hangul-consonant", - ideographDigital: "cjk-ideographic", - ideographTraditional: "cjk-heavenly-stem", // 十天干 - ideographLegalTraditional: "trad-chinese-formal", - ideographZodiac: "cjk-earthly-branch", // 十二地支 - iroha: "katakana-iroha", - irohaFullWidth: "katakana-iroha", - japaneseCounting: "japanese-informal", - japaneseDigitalTenThousand: "cjk-decimal", - japaneseLegal: "japanese-formal", - thaiNumbers: "thai", - koreanCounting: "korean-hangul-formal", - koreanDigital: "korean-hangul-formal", - koreanDigital2: "korean-hanja-informal", - hebrew1: "hebrew", - hebrew2: "hebrew", - hindiNumbers: "devanagari", - ganada: "hangul", - taiwaneseCounting: "cjk-ideographic", - taiwaneseCountingThousand: "cjk-ideographic", - taiwaneseDigital: "cjk-decimal", - }; - - return mapping[format] ?? format; - } - - refreshTabStops() { - if (!this.options.experimental) - return; - - setTimeout(() => { - const pixelToPoint = computePixelToPoint(); - - for (let tab of this.currentTabs) { - updateTabStop(tab.span, tab.stops, this.defaultTabSize, pixelToPoint); - } - }, 500); - } - - createElementNS(ns: string, tagName: string, props?: Partial>, children?: ChildType[]): any { - var result = ns ? this.htmlDocument.createElementNS(ns, tagName) : this.htmlDocument.createElement(tagName); - Object.assign(result, props); - children && appendChildren(result, children); - return result; - } - - createElement(tagName: T, props?: Partial>, children?: ChildType[]): HTMLElementTagNameMap[T] { - return this.createElementNS(undefined, tagName, props, children); - } - - createSvgElement(tagName: T, props?: Partial>, children?: ChildType[]): SVGElementTagNameMap[T] { - return this.createElementNS(ns.svg, tagName, props, children); - } - - createStyleElement(cssText: string) { - return this.createElement("style", { innerHTML: cssText }); - } - - createComment(text: string) { - return this.htmlDocument.createComment(text); - } - - later(func: Function) { - this.postRenderTasks.push(func); - } -} - -type ChildType = Node | string; - -function removeAllElements(elem: HTMLElement) { - elem.innerHTML = ''; -} - -function appendChildren(elem: Node, children: (Node | string)[]) { - children.forEach(c => elem.appendChild(isString(c) ? document.createTextNode(c) : c)); -} - -function findParent(elem: OpenXmlElement, type: DomType): T { - var parent = elem.parent; - - while (parent != null && parent.type != type) - parent = parent.parent; - - return parent; -} diff --git a/docxjs/src/index.html b/docxjs/src/index.html deleted file mode 100644 index 846b9a7..0000000 --- a/docxjs/src/index.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── comments
- │   ├── comments-extended-part.ts
- │   ├── comments-part.ts
- │   └── elements.ts
- ├── common
- │   ├── open-xml-package.ts
- │   ├── part.ts
- │   └── relationship.ts
- ├── document
- │   ├── bookmarks.ts
- │   ├── border.ts
- │   ├── common.ts
- │   ├── document-part.ts
- │   ├── document.ts
- │   ├── dom.ts
- │   ├── fields.ts
- │   ├── line-spacing.ts
- │   ├── paragraph.ts
- │   ├── run.ts
- │   ├── section.ts
- │   └── style.ts
- ├── document-parser.ts
- ├── document-props
- │   ├── core-props-part.ts
- │   ├── core-props.ts
- │   ├── custom-props-part.ts
- │   ├── custom-props.ts
- │   ├── extended-props-part.ts
- │   └── extended-props.ts
- ├── docx-preview.ts
- ├── font-table
- │   ├── font-table.ts
- │   └── fonts.ts
- ├── header-footer
- │   ├── elements.ts
- │   └── parts.ts
- ├── html-renderer.ts
- ├── javascript.ts
- ├── length.ts
- ├── notes
- │   ├── elements.ts
- │   └── parts.ts
- ├── numbering
- │   ├── numbering-part.ts
- │   └── numbering.ts
- ├── parser
- │   └── xml-parser.ts
- ├── settings
- │   ├── settings-part.ts
- │   └── settings.ts
- ├── styles
- │   └── styles-part.ts
- ├── theme
- │   ├── theme-part.ts
- │   └── theme.ts
- ├── typings.d.ts
- ├── utils.ts
- ├── vml
- │   └── vml.ts
- └── word-document.ts
-

- -14 directories, 47 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/javascript.ts b/docxjs/src/javascript.ts deleted file mode 100644 index 21b5039..0000000 --- a/docxjs/src/javascript.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { Length } from "./document/common"; -import { ParagraphTab } from "./document/paragraph"; - -interface TabStop { - pos: number; - leader: string; - style: string; -} - -const defaultTab: TabStop = { pos: 0, leader: "none", style: "left" }; -const maxTabs = 50; - -export function computePixelToPoint(container: HTMLElement = document.body) { - const temp = document.createElement("div"); - temp.style.width = '100pt'; - - container.appendChild(temp); - const result = 100 / temp.offsetWidth; - container.removeChild(temp); - - return result -} - -export function updateTabStop(elem: HTMLElement, tabs: ParagraphTab[], defaultTabSize: Length, pixelToPoint: number = 72 / 96) { - const p = elem.closest("p"); - - const ebb = elem.getBoundingClientRect(); - const pbb = p.getBoundingClientRect(); - const pcs = getComputedStyle(p); - - const tabStops = tabs?.length > 0 ? tabs.map(t => ({ - pos: lengthToPoint(t.position), - leader: t.leader, - style: t.style - })).sort((a, b) => a.pos - b.pos) : [defaultTab]; - - const lastTab = tabStops[tabStops.length - 1]; - const pWidthPt = pbb.width * pixelToPoint; - const size = lengthToPoint(defaultTabSize); - let pos = lastTab.pos + size; - - if (pos < pWidthPt) { - for (; pos < pWidthPt && tabStops.length < maxTabs; pos += size) { - tabStops.push({ ...defaultTab, pos: pos }); - } - } - - const marginLeft = parseFloat(pcs.marginLeft); - const pOffset = pbb.left + marginLeft; - const left = (ebb.left - pOffset) * pixelToPoint; - const tab = tabStops.find(t => t.style != "clear" && t.pos > left); - - if(tab == null) - return; - - let width: number = 1; - - if (tab.style == "right" || tab.style == "center") { - const tabStops = Array.from(p.querySelectorAll(`.${elem.className}`)); - const nextIdx = tabStops.indexOf(elem) + 1; - const range = document.createRange(); - range.setStart(elem, 1); - - if (nextIdx < tabStops.length) { - range.setEndBefore(tabStops[nextIdx]); - } else { - range.setEndAfter(p); - } - - const mul = tab.style == "center" ? 0.5 : 1; - const nextBB = range.getBoundingClientRect(); - const offset = nextBB.left + mul * nextBB.width - (pbb.left - marginLeft); - - width = tab.pos - offset * pixelToPoint; - } else { - width = tab.pos - left; - } - - elem.innerHTML = " "; - elem.style.textDecoration = "inherit"; - elem.style.wordSpacing = `${width.toFixed(0)}pt`; - - switch (tab.leader) { - case "dot": - case "middleDot": - elem.style.textDecoration = "underline"; - elem.style.textDecorationStyle = "dotted"; - break; - - case "hyphen": - case "heavy": - case "underscore": - elem.style.textDecoration = "underline"; - break; - } -} - -function lengthToPoint(length: Length): number { - return parseFloat(length); -} \ No newline at end of file diff --git a/docxjs/src/length.ts b/docxjs/src/length.ts deleted file mode 100644 index 369a998..0000000 --- a/docxjs/src/length.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { isString } from "./utils"; - -export class Length { - constructor(readonly value: number, readonly type?: string) {} - - static parse(text: string): Length { - const value = parseFloat(text); - const type = /p[tx]$/i.exec(text)?.[0]; - return new Length(value, type); - } - - static from(val: any): Length { - if (isString(val)) return Length.parse(val); - if (val instanceof Length) return val; - - return null; - } - - add(length: Length): Length { - if (length.type !== this.type) - throw new Error("Can't do math on different types"); - - return new Length(this.value + length.value, this.type); - } - - mul(val: number): Length { - return new Length(this.value * val, this.type); - } - - valueOf() { - return this.value; - } - - toString(): string { - return `${this.value.toFixed(2)}${this.type ?? ''}`; - } -} \ No newline at end of file diff --git a/docxjs/src/notes/elements.ts b/docxjs/src/notes/elements.ts deleted file mode 100644 index 8c4bb4c..0000000 --- a/docxjs/src/notes/elements.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { OpenXmlElementBase, DomType } from "../document/dom"; - -export abstract class WmlBaseNote implements OpenXmlElementBase { - type: DomType; - id: string; - noteType: string; -} - -export class WmlFootnote extends WmlBaseNote { - type = DomType.Footnote -} - -export class WmlEndnote extends WmlBaseNote { - type = DomType.Endnote -} \ No newline at end of file diff --git a/docxjs/src/notes/index.html b/docxjs/src/notes/index.html deleted file mode 100644 index 5e6774e..0000000 --- a/docxjs/src/notes/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── elements.ts
- └── parts.ts
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/notes/parts.ts b/docxjs/src/notes/parts.ts deleted file mode 100644 index cc1f858..0000000 --- a/docxjs/src/notes/parts.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { OpenXmlPackage } from "../common/open-xml-package"; -import { Part } from "../common/part"; -import { DocumentParser } from "../document-parser"; -import { WmlBaseNote, WmlEndnote, WmlFootnote } from "./elements"; - -export class BaseNotePart extends Part { - protected _documentParser: DocumentParser; - - notes: T[] - - constructor(pkg: OpenXmlPackage, path: string, parser: DocumentParser) { - super(pkg, path); - this._documentParser = parser; - } -} - -export class FootnotesPart extends BaseNotePart { - constructor(pkg: OpenXmlPackage, path: string, parser: DocumentParser) { - super(pkg, path, parser); - } - - parseXml(root: Element) { - this.notes = this._documentParser.parseNotes(root, "footnote", WmlFootnote); - } -} - -export class EndnotesPart extends BaseNotePart { - constructor(pkg: OpenXmlPackage, path: string, parser: DocumentParser) { - super(pkg, path, parser); - } - - parseXml(root: Element) { - this.notes = this._documentParser.parseNotes(root, "endnote", WmlEndnote); - } -} \ No newline at end of file diff --git a/docxjs/src/numbering/index.html b/docxjs/src/numbering/index.html deleted file mode 100644 index a832339..0000000 --- a/docxjs/src/numbering/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── numbering-part.ts
- └── numbering.ts
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/numbering/numbering-part.ts b/docxjs/src/numbering/numbering-part.ts deleted file mode 100644 index 04fd346..0000000 --- a/docxjs/src/numbering/numbering-part.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { OpenXmlPackage } from "../common/open-xml-package"; -import { Part } from "../common/part"; -import { DocumentParser } from "../document-parser"; -import { IDomNumbering } from "../document/dom"; -import { AbstractNumbering, Numbering, NumberingBulletPicture, NumberingPartProperties, parseNumberingPart } from "./numbering"; - -export class NumberingPart extends Part implements NumberingPartProperties { - private _documentParser: DocumentParser; - - constructor(pkg: OpenXmlPackage, path: string, parser: DocumentParser) { - super(pkg, path); - this._documentParser = parser; - } - - numberings: Numbering[]; - abstractNumberings: AbstractNumbering[]; - bulletPictures: NumberingBulletPicture[]; - - domNumberings: IDomNumbering[]; - - parseXml(root: Element) { - Object.assign(this, parseNumberingPart(root, this._package.xmlParser)); - this.domNumberings = this._documentParser.parseNumberingFile(root); - } -} \ No newline at end of file diff --git a/docxjs/src/numbering/numbering.ts b/docxjs/src/numbering/numbering.ts deleted file mode 100644 index f2d6141..0000000 --- a/docxjs/src/numbering/numbering.ts +++ /dev/null @@ -1,195 +0,0 @@ -import { NumberingPicBullet } from "../document/dom"; -import { ParagraphProperties, parseParagraphProperties } from "../document/paragraph"; -import { parseRunProperties, RunProperties } from "../document/run"; -import { XmlParser } from "../parser/xml-parser"; - -export interface NumberingPartProperties { - numberings: Numbering[]; - abstractNumberings: AbstractNumbering[]; - bulletPictures: NumberingBulletPicture[]; -} - -export interface Numbering { - id: string; - abstractId: string; - overrides: NumberingLevelOverride[]; -} - -export interface NumberingLevelOverride { - level: number; - start: number; - numberingLevel: NumberingLevel; -} - -export interface AbstractNumbering { - id: string; - name: string; - multiLevelType: "singleLevel" | "multiLevel" | "hybridMultilevel" | string; - levels: NumberingLevel[]; - numberingStyleLink: string; - styleLink: string; -} - -export interface NumberingLevel { - level: number; - start: string; - restart: number; - format: 'lowerRoman' | 'lowerLetter' | string; - text: string; - justification: string; - bulletPictureId: string; - paragraphStyle: string; - paragraphProps: ParagraphProperties; - runProps: RunProperties; -} - -export interface NumberingBulletPicture { - id: string; - referenceId: string; - style: string; -} - -export function parseNumberingPart(elem: Element, xml: XmlParser): NumberingPartProperties { - let result: NumberingPartProperties = { - numberings: [], - abstractNumberings: [], - bulletPictures: [] - } - - for (let e of xml.elements(elem)) { - switch (e.localName) { - case "num": - result.numberings.push(parseNumbering(e, xml)); - break; - case "abstractNum": - result.abstractNumberings.push(parseAbstractNumbering(e, xml)); - break; - case "numPicBullet": - result.bulletPictures.push(parseNumberingBulletPicture(e, xml)); - break; - } - } - - return result; -} - -export function parseNumbering(elem: Element, xml: XmlParser): Numbering { - let result = { - id: xml.attr(elem, 'numId'), - overrides: [] - }; - - for (let e of xml.elements(elem)) { - switch (e.localName) { - case "abstractNumId": - result.abstractId = xml.attr(e, "val"); - break; - case "lvlOverride": - result.overrides.push(parseNumberingLevelOverrride(e, xml)); - break; - } - } - - return result; -} - -export function parseAbstractNumbering(elem: Element, xml: XmlParser): AbstractNumbering { - let result = { - id: xml.attr(elem, 'abstractNumId'), - levels: [] - }; - - for (let e of xml.elements(elem)) { - switch (e.localName) { - case "name": - result.name = xml.attr(e, "val"); - break; - case "multiLevelType": - result.multiLevelType = xml.attr(e, "val"); - break; - case "numStyleLink": - result.numberingStyleLink = xml.attr(e, "val"); - break; - case "styleLink": - result.styleLink = xml.attr(e, "val"); - break; - case "lvl": - result.levels.push(parseNumberingLevel(e, xml)); - break; - } - } - - return result; -} - -export function parseNumberingLevel(elem: Element, xml: XmlParser): NumberingLevel { - let result = { - level: xml.intAttr(elem, 'ilvl') - }; - - for (let e of xml.elements(elem)) { - switch (e.localName) { - case "start": - result.start = xml.attr(e, "val"); - break; - case "lvlRestart": - result.restart = xml.intAttr(e, "val"); - break; - case "numFmt": - result.format = xml.attr(e, "val"); - break; - case "lvlText": - result.text = xml.attr(e, "val"); - break; - case "lvlJc": - result.justification = xml.attr(e, "val"); - break; - case "lvlPicBulletId": - result.bulletPictureId = xml.attr(e, "val"); - break; - case "pStyle": - result.paragraphStyle = xml.attr(e, "val"); - break; - case "pPr": - result.paragraphProps = parseParagraphProperties(e, xml); - break; - case "rPr": - result.runProps = parseRunProperties(e, xml); - break; - } - } - - return result; -} - -export function parseNumberingLevelOverrride(elem: Element, xml: XmlParser): NumberingLevelOverride { - let result = { - level: xml.intAttr(elem, 'ilvl') - }; - - for (let e of xml.elements(elem)) { - switch (e.localName) { - case "startOverride": - result.start = xml.intAttr(e, "val"); - break; - case "lvl": - result.numberingLevel = parseNumberingLevel(e, xml); - break; - } - } - - return result; -} - -export function parseNumberingBulletPicture(elem: Element, xml: XmlParser): NumberingBulletPicture { - //TODO - var pict = xml.element(elem, "pict"); - var shape = pict && xml.element(pict, "shape"); - var imagedata = shape && xml.element(shape, "imagedata"); - - return imagedata ? { - id: xml.attr(elem, "numPicBulletId"), - referenceId: xml.attr(imagedata, "id"), - style: xml.attr(shape, "style") - } : null; -} \ No newline at end of file diff --git a/docxjs/src/parser/index.html b/docxjs/src/parser/index.html deleted file mode 100644 index 3141e5b..0000000 --- a/docxjs/src/parser/index.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- └── xml-parser.ts
-

- -1 directory, 1 file - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/parser/xml-parser.ts b/docxjs/src/parser/xml-parser.ts deleted file mode 100644 index 8a2dca6..0000000 --- a/docxjs/src/parser/xml-parser.ts +++ /dev/null @@ -1,101 +0,0 @@ -import { Length, LengthUsage, LengthUsageType, convertLength, convertBoolean } from "../document/common"; - -export function parseXmlString(xmlString: string, trimXmlDeclaration: boolean = false): Document { - if (trimXmlDeclaration) - xmlString = xmlString.replace(/<[?].*[?]>/, ""); - - xmlString = removeUTF8BOM(xmlString); - - const result = new DOMParser().parseFromString(xmlString, "application/xml"); - const errorText = hasXmlParserError(result); - - if (errorText) - throw new Error(errorText); - - return result; -} - -function hasXmlParserError(doc: Document) { - return doc.getElementsByTagName("parsererror")[0]?.textContent; -} - -function removeUTF8BOM(data: string) { - return data.charCodeAt(0) === 0xFEFF ? data.substring(1) : data; -} - -export function serializeXmlString(elem: Node): string { - return new XMLSerializer().serializeToString(elem); -} - -export class XmlParser { - elements(elem: Element, localName: string = null): Element[] { - const result = []; - - for (let i = 0, l = elem.childNodes.length; i < l; i++) { - let c = elem.childNodes.item(i); - - if (c.nodeType == 1 && (localName == null || (c as Element).localName == localName)) - result.push(c); - } - - return result; - } - - element(elem: Element, localName: string): Element { - for (let i = 0, l = elem.childNodes.length; i < l; i++) { - let c = elem.childNodes.item(i); - - if (c.nodeType == 1 && (c as Element).localName == localName) - return c as Element; - } - - return null; - } - - elementAttr(elem: Element, localName: string, attrLocalName: string): string { - var el = this.element(elem, localName); - return el ? this.attr(el, attrLocalName) : undefined; - } - - attrs(elem: Element) { - return Array.from(elem.attributes); - } - - attr(elem: Element, localName: string): string { - for (let i = 0, l = elem.attributes.length; i < l; i++) { - let a = elem.attributes.item(i); - - if (a.localName == localName) - return a.value; - } - - return null; - } - - intAttr(node: Element, attrName: string, defaultValue: number = null): number { - var val = this.attr(node, attrName); - return val ? parseInt(val) : defaultValue; - } - - hexAttr(node: Element, attrName: string, defaultValue: number = null): number { - var val = this.attr(node, attrName); - return val ? parseInt(val, 16) : defaultValue; - } - - floatAttr(node: Element, attrName: string, defaultValue: number = null): number { - var val = this.attr(node, attrName); - return val ? parseFloat(val) : defaultValue; - } - - boolAttr(node: Element, attrName: string, defaultValue: boolean = null) { - return convertBoolean(this.attr(node, attrName), defaultValue); - } - - lengthAttr(node: Element, attrName: string, usage: LengthUsageType = LengthUsage.Dxa): Length { - return convertLength(this.attr(node, attrName), usage); - } -} - -const globalXmlParser = new XmlParser(); - -export default globalXmlParser; \ No newline at end of file diff --git a/docxjs/src/settings/index.html b/docxjs/src/settings/index.html deleted file mode 100644 index 175bfbc..0000000 --- a/docxjs/src/settings/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── settings-part.ts
- └── settings.ts
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/settings/settings-part.ts b/docxjs/src/settings/settings-part.ts deleted file mode 100644 index 173ab9a..0000000 --- a/docxjs/src/settings/settings-part.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { OpenXmlPackage } from "../common/open-xml-package"; -import { Part } from "../common/part"; -import { WmlSettings, parseSettings } from "./settings"; - -export class SettingsPart extends Part { - settings: WmlSettings; - - constructor(pkg: OpenXmlPackage, path: string) { - super(pkg, path); - } - - parseXml(root: Element) { - this.settings = parseSettings(root, this._package.xmlParser); - } -} \ No newline at end of file diff --git a/docxjs/src/settings/settings.ts b/docxjs/src/settings/settings.ts deleted file mode 100644 index a56b7b6..0000000 --- a/docxjs/src/settings/settings.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { DocumentParser } from "../document-parser"; -import { Length } from "../document/common"; -import { XmlParser } from "../parser/xml-parser"; - -export interface WmlSettings { - defaultTabStop: Length; - footnoteProps: NoteProperties; - endnoteProps: NoteProperties; - autoHyphenation: boolean; -} - -export interface NoteProperties { - nummeringFormat: string; - defaultNoteIds: string[]; -} - -export function parseSettings(elem: Element, xml: XmlParser) { - var result = {} as WmlSettings; - - for (let el of xml.elements(elem)) { - switch(el.localName) { - case "defaultTabStop": result.defaultTabStop = xml.lengthAttr(el, "val"); break; - case "footnotePr": result.footnoteProps = parseNoteProperties(el, xml); break; - case "endnotePr": result.endnoteProps = parseNoteProperties(el, xml); break; - case "autoHyphenation": result.autoHyphenation = xml.boolAttr(el, "val"); break; - } - } - - return result; -} - -export function parseNoteProperties(elem: Element, xml: XmlParser) { - var result = { - defaultNoteIds: [] - } as NoteProperties; - - for (let el of xml.elements(elem)) { - switch(el.localName) { - case "numFmt": - result.nummeringFormat = xml.attr(el, "val"); - break; - - case "footnote": - case "endnote": - result.defaultNoteIds.push(xml.attr(el, "id")); - break; - } - } - - return result; -} \ No newline at end of file diff --git a/docxjs/src/styles/index.html b/docxjs/src/styles/index.html deleted file mode 100644 index 72e5509..0000000 --- a/docxjs/src/styles/index.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- └── styles-part.ts
-

- -1 directory, 1 file - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/styles/styles-part.ts b/docxjs/src/styles/styles-part.ts deleted file mode 100644 index e9f1fc6..0000000 --- a/docxjs/src/styles/styles-part.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { OpenXmlPackage } from "../common/open-xml-package"; -import { Part } from "../common/part"; -import { DocumentParser } from "../document-parser"; -import { IDomStyle } from "../document/style"; - -export class StylesPart extends Part { - styles: IDomStyle[]; - - private _documentParser: DocumentParser; - - constructor(pkg: OpenXmlPackage, path: string, parser: DocumentParser) { - super(pkg, path); - this._documentParser = parser; - } - - parseXml(root: Element) { - this.styles = this._documentParser.parseStylesFile(root); - } -} \ No newline at end of file diff --git a/docxjs/src/theme/index.html b/docxjs/src/theme/index.html deleted file mode 100644 index 68e587b..0000000 --- a/docxjs/src/theme/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── theme-part.ts
- └── theme.ts
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/theme/theme-part.ts b/docxjs/src/theme/theme-part.ts deleted file mode 100644 index 2ee0f5d..0000000 --- a/docxjs/src/theme/theme-part.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { OpenXmlPackage } from "../common/open-xml-package"; -import { Part } from "../common/part"; -import { DmlTheme, parseTheme } from "./theme"; - -export class ThemePart extends Part { - theme: DmlTheme; - - constructor(pkg: OpenXmlPackage, path: string) { - super(pkg, path); - } - - parseXml(root: Element) { - this.theme = parseTheme(root, this._package.xmlParser); - } -} \ No newline at end of file diff --git a/docxjs/src/theme/theme.ts b/docxjs/src/theme/theme.ts deleted file mode 100644 index a4386bf..0000000 --- a/docxjs/src/theme/theme.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { XmlParser } from "../parser/xml-parser"; - -export class DmlTheme { - colorScheme: DmlColorScheme; - fontScheme: DmlFontScheme; -} - -export interface DmlColorScheme { - name: string; - colors: Record; -} - -export interface DmlFontScheme { - name: string; - majorFont: DmlFormInfo, - minorFont: DmlFormInfo -} - -export interface DmlFormInfo { - latinTypeface: string; - eaTypeface: string; - csTypeface: string; -} - -export function parseTheme(elem: Element, xml: XmlParser) { - var result = new DmlTheme(); - var themeElements = xml.element(elem, "themeElements"); - - for (let el of xml.elements(themeElements)) { - switch(el.localName) { - case "clrScheme": result.colorScheme = parseColorScheme(el, xml); break; - case "fontScheme": result.fontScheme = parseFontScheme(el, xml); break; - } - } - - return result; -} - -export function parseColorScheme(elem: Element, xml: XmlParser) { - var result: DmlColorScheme = { - name: xml.attr(elem, "name"), - colors: {} - }; - - for (let el of xml.elements(elem)) { - var srgbClr = xml.element(el, "srgbClr"); - var sysClr = xml.element(el, "sysClr"); - - if (srgbClr) { - result.colors[el.localName] = xml.attr(srgbClr, "val"); - } - else if (sysClr) { - result.colors[el.localName] = xml.attr(sysClr, "lastClr"); - } - } - - return result; -} - -export function parseFontScheme(elem: Element, xml: XmlParser) { - var result: DmlFontScheme = { - name: xml.attr(elem, "name"), - } as DmlFontScheme; - - for (let el of xml.elements(elem)) { - switch (el.localName) { - case "majorFont": result.majorFont = parseFontInfo(el, xml); break; - case "minorFont": result.minorFont = parseFontInfo(el, xml); break; - } - } - - return result; -} - -export function parseFontInfo(elem: Element, xml: XmlParser): DmlFormInfo { - return { - latinTypeface: xml.elementAttr(elem, "latin", "typeface"), - eaTypeface: xml.elementAttr(elem, "ea", "typeface"), - csTypeface: xml.elementAttr(elem, "cs", "typeface"), - }; -} \ No newline at end of file diff --git a/docxjs/src/typings.d.ts b/docxjs/src/typings.d.ts deleted file mode 100644 index 01b15de..0000000 --- a/docxjs/src/typings.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module'*.scss'; \ No newline at end of file diff --git a/docxjs/src/utils.ts b/docxjs/src/utils.ts deleted file mode 100644 index 235e35a..0000000 --- a/docxjs/src/utils.ts +++ /dev/null @@ -1,92 +0,0 @@ -export function escapeClassName(className: string) { - return className?.replace(/[ .]+/g, '-').replace(/[&]+/g, 'and').toLowerCase(); -} - -export function encloseFontFamily(fontFamily: string): string { - return /^[^"'].*\s.*[^"']$/.test(fontFamily) ? `'${fontFamily}'` : fontFamily; -} - -export function splitPath(path: string): [string, string] { - let si = path.lastIndexOf('/') + 1; - let folder = si == 0 ? "" : path.substring(0, si); - let fileName = si == 0 ? path : path.substring(si); - - return [folder, fileName]; -} - -export function resolvePath(path: string, base: string): string { - try { - const prefix = "http://docx/"; - const url = new URL(path, prefix + base).toString(); - return url.substring(prefix.length); - } catch { - return `${base}${path}`; - } -} - -export function keyBy(array: T[], by: (x: T) => any): Record { - return array.reduce((a, x) => { - a[by(x)] = x; - return a; - }, {}); -} - -export function blobToBase64(blob: Blob): Promise { - return new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.onloadend = () => resolve(reader.result as string); - reader.onerror = () => reject(); - reader.readAsDataURL(blob); - }); -} - -export function isObject(item) { - return item && typeof item === 'object' && !Array.isArray(item); -} - -export function isString(item: unknown): item is string { - return typeof item === 'string' || item instanceof String; -} - -export function mergeDeep(target, ...sources) { - if (!sources.length) - return target; - - const source = sources.shift(); - - if (isObject(target) && isObject(source)) { - for (const key in source) { - if (isObject(source[key])) { - const val = target[key] ?? (target[key] = {}); - mergeDeep(val, source[key]); - } else { - target[key] = source[key]; - } - } - } - - return mergeDeep(target, ...sources); -} - -export function parseCssRules(text: string): Record { - const result: Record = {}; - - for (const rule of text.split(';')) { - const [key, val] = rule.split(':'); - result[key] = val; - } - - return result -} - -export function formatCssRules(style: Record): string { - return Object.entries(style).map((k, v) => `${k}: ${v}`).join(';'); -} - -export function asArray(val: T | T[]): T[] { - return Array.isArray(val) ? val : [val]; -} - -export function clamp(val, min, max) { - return min > val ? min : (max < val ? max : val); -} \ No newline at end of file diff --git a/docxjs/src/vml/index.html b/docxjs/src/vml/index.html deleted file mode 100644 index a49d641..0000000 --- a/docxjs/src/vml/index.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- └── vml.ts
-

- -1 directory, 1 file - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/src/vml/vml.ts b/docxjs/src/vml/vml.ts deleted file mode 100644 index 7768afe..0000000 --- a/docxjs/src/vml/vml.ts +++ /dev/null @@ -1,129 +0,0 @@ -import { DocumentParser } from '../document-parser'; -import { convertLength, LengthUsage } from '../document/common'; -import { OpenXmlElementBase, DomType } from '../document/dom'; -import xml from '../parser/xml-parser'; -import { formatCssRules, parseCssRules } from '../utils'; - -export class VmlElement extends OpenXmlElementBase { - type: DomType = DomType.VmlElement; - tagName: string; - cssStyleText?: string; - attrs: Record = {}; - wrapType?: string; - imageHref?: { - id: string, - title: string - } -} - -export function parseVmlElement(elem: Element, parser: DocumentParser): VmlElement { - var result = new VmlElement(); - - switch (elem.localName) { - case "rect": - result.tagName = "rect"; - Object.assign(result.attrs, { width: '100%', height: '100%' }); - break; - - case "oval": - result.tagName = "ellipse"; - Object.assign(result.attrs, { cx: "50%", cy: "50%", rx: "50%", ry: "50%" }); - break; - - case "line": - result.tagName = "line"; - break; - - case "shape": - result.tagName = "g"; - break; - - case "textbox": - result.tagName = "foreignObject"; - Object.assign(result.attrs, { width: '100%', height: '100%' }); - break; - - default: - return null; - } - - for (const at of xml.attrs(elem)) { - switch(at.localName) { - case "style": - result.cssStyleText = at.value; - break; - - case "fillcolor": - result.attrs.fill = at.value; - break; - - case "from": - const [x1, y1] = parsePoint(at.value); - Object.assign(result.attrs, { x1, y1 }); - break; - - case "to": - const [x2, y2] = parsePoint(at.value); - Object.assign(result.attrs, { x2, y2 }); - break; - } - } - - for (const el of xml.elements(elem)) { - switch (el.localName) { - case "stroke": - Object.assign(result.attrs, parseStroke(el)); - break; - - case "fill": - Object.assign(result.attrs, parseFill(el)); - break; - - case "imagedata": - result.tagName = "image"; - Object.assign(result.attrs, { width: '100%', height: '100%' }); - result.imageHref = { - id: xml.attr(el, "id"), - title: xml.attr(el, "title"), - } - break; - - case "txbxContent": - result.children.push(...parser.parseBodyElements(el)); - break; - - default: - const child = parseVmlElement(el, parser); - child && result.children.push(child); - break; - } - } - - return result; -} - -function parseStroke(el: Element): Record { - return { - 'stroke': xml.attr(el, "color"), - 'stroke-width': xml.lengthAttr(el, "weight", LengthUsage.Emu) ?? '1px' - }; -} - -function parseFill(el: Element): Record { - return { - //'fill': xml.attr(el, "color2") - }; -} - -function parsePoint(val: string): string[] { - return val.split(","); -} - -function convertPath(path: string): string { - return path.replace(/([mlxe])|([-\d]+)|([,])/g, (m) => { - if (/[-\d]/.test(m)) return convertLength(m, LengthUsage.VmlEmu); - if (/[ml,]/.test(m)) return m; - - return ''; - }); -} \ No newline at end of file diff --git a/docxjs/src/word-document.ts b/docxjs/src/word-document.ts deleted file mode 100644 index d51cabf..0000000 --- a/docxjs/src/word-document.ts +++ /dev/null @@ -1,218 +0,0 @@ -import { OutputType } from "jszip"; - -import { DocumentParser } from './document-parser'; -import { Relationship, RelationshipTypes } from './common/relationship'; -import { Part } from './common/part'; -import { FontTablePart } from './font-table/font-table'; -import { OpenXmlPackage } from './common/open-xml-package'; -import { DocumentPart } from './document/document-part'; -import { blobToBase64, resolvePath, splitPath } from './utils'; -import { NumberingPart } from './numbering/numbering-part'; -import { StylesPart } from './styles/styles-part'; -import { FooterPart, HeaderPart } from "./header-footer/parts"; -import { ExtendedPropsPart } from "./document-props/extended-props-part"; -import { CorePropsPart } from "./document-props/core-props-part"; -import { ThemePart } from "./theme/theme-part"; -import { EndnotesPart, FootnotesPart } from "./notes/parts"; -import { SettingsPart } from "./settings/settings-part"; -import { CustomPropsPart } from "./document-props/custom-props-part"; -import { CommentsPart } from "./comments/comments-part"; -import { CommentsExtendedPart } from "./comments/comments-extended-part"; - -const topLevelRels = [ - { type: RelationshipTypes.OfficeDocument, target: "word/document.xml" }, - { type: RelationshipTypes.ExtendedProperties, target: "docProps/app.xml" }, - { type: RelationshipTypes.CoreProperties, target: "docProps/core.xml" }, - { type: RelationshipTypes.CustomProperties, target: "docProps/custom.xml" }, -]; - -export class WordDocument { - private _package: OpenXmlPackage; - private _parser: DocumentParser; - private _options: any; - - rels: Relationship[]; - parts: Part[] = []; - partsMap: Record = {}; - - documentPart: DocumentPart; - fontTablePart: FontTablePart; - numberingPart: NumberingPart; - stylesPart: StylesPart; - footnotesPart: FootnotesPart; - endnotesPart: EndnotesPart; - themePart: ThemePart; - corePropsPart: CorePropsPart; - extendedPropsPart: ExtendedPropsPart; - settingsPart: SettingsPart; - commentsPart: CommentsPart; - commentsExtendedPart: CommentsExtendedPart; - - static async load(blob: Blob | any, parser: DocumentParser, options: any): Promise { - var d = new WordDocument(); - - d._options = options; - d._parser = parser; - d._package = await OpenXmlPackage.load(blob, options); - d.rels = await d._package.loadRelationships(); - - await Promise.all(topLevelRels.map(rel => { - const r = d.rels.find(x => x.type === rel.type) ?? rel; //fallback - return d.loadRelationshipPart(r.target, r.type); - })); - - return d; - } - - save(type = "blob"): Promise { - return this._package.save(type); - } - - private async loadRelationshipPart(path: string, type: string): Promise { - if (this.partsMap[path]) - return this.partsMap[path]; - - if (!this._package.get(path)) - return null; - - let part: Part = null; - - switch (type) { - case RelationshipTypes.OfficeDocument: - this.documentPart = part = new DocumentPart(this._package, path, this._parser); - break; - - case RelationshipTypes.FontTable: - this.fontTablePart = part = new FontTablePart(this._package, path); - break; - - case RelationshipTypes.Numbering: - this.numberingPart = part = new NumberingPart(this._package, path, this._parser); - break; - - case RelationshipTypes.Styles: - this.stylesPart = part = new StylesPart(this._package, path, this._parser); - break; - - case RelationshipTypes.Theme: - this.themePart = part = new ThemePart(this._package, path); - break; - - case RelationshipTypes.Footnotes: - this.footnotesPart = part = new FootnotesPart(this._package, path, this._parser); - break; - - case RelationshipTypes.Endnotes: - this.endnotesPart = part = new EndnotesPart(this._package, path, this._parser); - break; - - case RelationshipTypes.Footer: - part = new FooterPart(this._package, path, this._parser); - break; - - case RelationshipTypes.Header: - part = new HeaderPart(this._package, path, this._parser); - break; - - case RelationshipTypes.CoreProperties: - this.corePropsPart = part = new CorePropsPart(this._package, path); - break; - - case RelationshipTypes.ExtendedProperties: - this.extendedPropsPart = part = new ExtendedPropsPart(this._package, path); - break; - - case RelationshipTypes.CustomProperties: - part = new CustomPropsPart(this._package, path); - break; - - case RelationshipTypes.Settings: - this.settingsPart = part = new SettingsPart(this._package, path); - break; - - case RelationshipTypes.Comments: - this.commentsPart = part = new CommentsPart(this._package, path, this._parser); - break; - - case RelationshipTypes.CommentsExtended: - this.commentsExtendedPart = part = new CommentsExtendedPart(this._package, path); - break; - } - - if (part == null) - return Promise.resolve(null); - - this.partsMap[path] = part; - this.parts.push(part); - - await part.load(); - - if (part.rels?.length > 0) { - const [folder] = splitPath(part.path); - await Promise.all(part.rels.map(rel => this.loadRelationshipPart(resolvePath(rel.target, folder), rel.type))); - } - - return part; - } - - async loadDocumentImage(id: string, part?: Part): Promise { - const x = await this.loadResource(part ?? this.documentPart, id, "blob"); - return this.blobToURL(x); - } - - async loadNumberingImage(id: string): Promise { - const x = await this.loadResource(this.numberingPart, id, "blob"); - return this.blobToURL(x); - } - - async loadFont(id: string, key: string): Promise { - const x = await this.loadResource(this.fontTablePart, id, "uint8array"); - return x ? this.blobToURL(new Blob([deobfuscate(x, key)])) : x; - } - - async loadAltChunk(id: string, part?: Part): Promise { - return await this.loadResource(part ?? this.documentPart, id, "string"); - } - - private blobToURL(blob: Blob): string | Promise { - if (!blob) - return null; - - if (this._options.useBase64URL) { - return blobToBase64(blob); - } - - return URL.createObjectURL(blob); - } - - findPartByRelId(id: string, basePart: Part = null) { - var rel = (basePart.rels ?? this.rels).find(r => r.id == id); - const folder = basePart ? splitPath(basePart.path)[0] : ''; - return rel ? this.partsMap[resolvePath(rel.target, folder)] : null; - } - - getPathById(part: Part, id: string): string { - const rel = part.rels.find(x => x.id == id); - const [folder] = splitPath(part.path); - return rel ? resolvePath(rel.target, folder) : null; - } - - private loadResource(part: Part, id: string, outputType: OutputType) { - const path = this.getPathById(part, id); - return path ? this._package.load(path, outputType) : Promise.resolve(null); - } -} - -export function deobfuscate(data: Uint8Array, guidKey: string): Uint8Array { - const len = 16; - const trimmed = guidKey.replace(/{|}|-/g, ""); - const numbers = new Array(len); - - for (let i = 0; i < len; i++) - numbers[len - i - 1] = parseInt(trimmed.substr(i * 2, 2), 16); - - for (let i = 0; i < 32; i++) - data[i] = data[i] ^ numbers[i % len] - - return data; -} \ No newline at end of file diff --git a/docxjs/tests/extended-props-test/document.docx b/docxjs/tests/extended-props-test/document.docx deleted file mode 100644 index 875210b..0000000 Binary files a/docxjs/tests/extended-props-test/document.docx and /dev/null differ diff --git a/docxjs/tests/extended-props-test/extended-props.spec.js b/docxjs/tests/extended-props-test/extended-props.spec.js deleted file mode 100644 index 5c751c8..0000000 --- a/docxjs/tests/extended-props-test/extended-props.spec.js +++ /dev/null @@ -1,22 +0,0 @@ -describe("extended-props", function () { - it("loads extended props", async () => { - let docBlob = await fetch(`/base/tests/extended-props-test/document.docx`).then(r => r.blob()); - - let div = document.createElement("div"); - - document.body.appendChild(div); - - let docParsed = await docx.renderAsync(docBlob, div); - - expect(!!docParsed.extendedPropsPart == true) - expect(docParsed.extendedPropsPart.appVersion == "16.0000"); - expect(docParsed.extendedPropsPart.application == "Microsoft Office Word"); - expect(docParsed.extendedPropsPart.characters == 393); - expect(docParsed.extendedPropsPart.company == ""); - expect(docParsed.extendedPropsPart.lines == 3); - expect(docParsed.extendedPropsPart.pages == 3); - expect(docParsed.extendedPropsPart.paragraphs == 1); - expect(docParsed.extendedPropsPart.template == "Normal.dotm"); - expect(docParsed.extendedPropsPart.words == 68); - }) -}) \ No newline at end of file diff --git a/docxjs/tests/extended-props-test/index.html b/docxjs/tests/extended-props-test/index.html deleted file mode 100644 index 9f10fb0..0000000 --- a/docxjs/tests/extended-props-test/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── extended-props.spec.js
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/index.html b/docxjs/tests/index.html deleted file mode 100644 index d1e2eae..0000000 --- a/docxjs/tests/index.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── extended-props-test
- │   ├── document.docx
- │   └── extended-props.spec.js
- └── render-test
-     ├── equation
-     ├── footnote
-     ├── header-footer
-     ├── line-spacing
-     ├── numbering
-     ├── page-layout
-     ├── revision
-     ├── table
-     ├── table-spans
-     ├── test.spec.js
-     ├── text
-     ├── text-break
-     └── underlines
-

- -15 directories, 3 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/equation/document.docx b/docxjs/tests/render-test/equation/document.docx deleted file mode 100644 index 94ef734..0000000 Binary files a/docxjs/tests/render-test/equation/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/equation/index.html b/docxjs/tests/render-test/equation/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/equation/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/equation/result.html b/docxjs/tests/render-test/equation/result.html deleted file mode 100644 index 533398d..0000000 --- a/docxjs/tests/render-test/equation/result.html +++ /dev/null @@ -1,48 +0,0 @@ -

{1÷2=x3+4=y5*6=z73=wxy2e-iωtx21nYdydxΔyΔx∂y∂xδyδxπ2-b±b2-4ac2adx21dy21k(nk)0≤ i ≤ m0<j<n P(i,j)k=1nAkn=1m(XnYn)f(x)={-x, &x<0x, &x≥0(nk)nktanθ=sinθcosθAABCx⊕ylimn→∞(1+1n)nmax0≤x≤1xe-x2yields(1102030)

\ No newline at end of file diff --git a/docxjs/tests/render-test/footnote/document.docx b/docxjs/tests/render-test/footnote/document.docx deleted file mode 100644 index 12906c5..0000000 Binary files a/docxjs/tests/render-test/footnote/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/footnote/index.html b/docxjs/tests/render-test/footnote/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/footnote/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/footnote/result.html b/docxjs/tests/render-test/footnote/result.html deleted file mode 100644 index 0caced6..0000000 --- a/docxjs/tests/render-test/footnote/result.html +++ /dev/null @@ -1,115 +0,0 @@ -

1content

  1. footnote

content21

  1. footnote2

\ No newline at end of file diff --git a/docxjs/tests/render-test/header-footer/document.docx b/docxjs/tests/render-test/header-footer/document.docx deleted file mode 100644 index 285e1e6..0000000 Binary files a/docxjs/tests/render-test/header-footer/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/header-footer/index.html b/docxjs/tests/render-test/header-footer/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/header-footer/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/header-footer/result.html b/docxjs/tests/render-test/header-footer/result.html deleted file mode 100644 index 5830cf6..0000000 --- a/docxjs/tests/render-test/header-footer/result.html +++ /dev/null @@ -1,106 +0,0 @@ -

First Header

That bigger than top margin

Header end

Content

Even Header

Odd Header

\ No newline at end of file diff --git a/docxjs/tests/render-test/index.html b/docxjs/tests/render-test/index.html deleted file mode 100644 index df2becc..0000000 --- a/docxjs/tests/render-test/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── equation
- │   ├── document.docx
- │   └── result.html
- ├── footnote
- │   ├── document.docx
- │   └── result.html
- ├── header-footer
- │   ├── document.docx
- │   └── result.html
- ├── line-spacing
- │   ├── document.docx
- │   └── result.html
- ├── numbering
- │   ├── document.docx
- │   └── result.html
- ├── page-layout
- │   ├── document.docx
- │   └── result.html
- ├── revision
- │   ├── document.docx
- │   └── result.html
- ├── table
- │   ├── document.docx
- │   └── result.html
- ├── table-spans
- │   ├── document.docx
- │   └── result.html
- ├── test.spec.js
- ├── text
- │   ├── document.docx
- │   └── result.html
- ├── text-break
- │   ├── document.docx
- │   └── result.html
- └── underlines
-     ├── document.docx
-     └── result.html
-

- -13 directories, 25 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/line-spacing/document.docx b/docxjs/tests/render-test/line-spacing/document.docx deleted file mode 100644 index c204331..0000000 Binary files a/docxjs/tests/render-test/line-spacing/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/line-spacing/index.html b/docxjs/tests/render-test/line-spacing/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/line-spacing/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/line-spacing/result.html b/docxjs/tests/render-test/line-spacing/result.html deleted file mode 100644 index 4eb4d85..0000000 --- a/docxjs/tests/render-test/line-spacing/result.html +++ /dev/null @@ -1,80 +0,0 @@ -

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\ No newline at end of file diff --git a/docxjs/tests/render-test/numbering/document.docx b/docxjs/tests/render-test/numbering/document.docx deleted file mode 100644 index 710b6c3..0000000 Binary files a/docxjs/tests/render-test/numbering/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/numbering/index.html b/docxjs/tests/render-test/numbering/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/numbering/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/numbering/result.html b/docxjs/tests/render-test/numbering/result.html deleted file mode 100644 index 452e415..0000000 --- a/docxjs/tests/render-test/numbering/result.html +++ /dev/null @@ -1,2965 +0,0 @@ -

Bullets

one

two

three

one

two

three

one

two

three

one

two

three

one

two

three

one

two

three

one

two

three

one

two

three

Numbers

one

two

three

one

two

three

one

two

three

one

two

three

one

two

three

one

two

three

one

two

three

one

two

three

Nested numbering

one

two

three

four

five

one

two

three

four

five

Suff

one

two

three

one

two

three

one

two

three

\ No newline at end of file diff --git a/docxjs/tests/render-test/page-layout/document.docx b/docxjs/tests/render-test/page-layout/document.docx deleted file mode 100644 index fb55dc6..0000000 Binary files a/docxjs/tests/render-test/page-layout/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/page-layout/index.html b/docxjs/tests/render-test/page-layout/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/page-layout/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/page-layout/result.html b/docxjs/tests/render-test/page-layout/result.html deleted file mode 100644 index 16ed5b6..0000000 --- a/docxjs/tests/render-test/page-layout/result.html +++ /dev/null @@ -1,80 +0,0 @@ -

page1

page2

\ No newline at end of file diff --git a/docxjs/tests/render-test/revision/document.docx b/docxjs/tests/render-test/revision/document.docx deleted file mode 100644 index 507ad24..0000000 Binary files a/docxjs/tests/render-test/revision/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/revision/index.html b/docxjs/tests/render-test/revision/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/revision/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/revision/result.html b/docxjs/tests/render-test/revision/result.html deleted file mode 100644 index d4b5b21..0000000 --- a/docxjs/tests/render-test/revision/result.html +++ /dev/null @@ -1,117 +0,0 @@ -

Original text insered

\ No newline at end of file diff --git a/docxjs/tests/render-test/table-spans/document.docx b/docxjs/tests/render-test/table-spans/document.docx deleted file mode 100644 index dd5f238..0000000 Binary files a/docxjs/tests/render-test/table-spans/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/table-spans/index.html b/docxjs/tests/render-test/table-spans/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/table-spans/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/table-spans/result.html b/docxjs/tests/render-test/table-spans/result.html deleted file mode 100644 index b9e06d5..0000000 --- a/docxjs/tests/render-test/table-spans/result.html +++ /dev/null @@ -1,114 +0,0 @@ -

Test

Test

Test

Test

Test

Test

Test

Test

Test

Test

Test

Test

Test

Test Test

Test

Test

Test

Test

Test

Test

Test

Test Test Test Test Test

Test Test

Test Test

Test Test Test

Test Test Test

Test Test Test

Test

Test

\ No newline at end of file diff --git a/docxjs/tests/render-test/table/document.docx b/docxjs/tests/render-test/table/document.docx deleted file mode 100644 index 917b66f..0000000 Binary files a/docxjs/tests/render-test/table/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/table/index.html b/docxjs/tests/render-test/table/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/table/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/table/result.html b/docxjs/tests/render-test/table/result.html deleted file mode 100644 index 3a82736..0000000 --- a/docxjs/tests/render-test/table/result.html +++ /dev/null @@ -1,88 +0,0 @@ -

Test

Test

Test

Test

Test

Test

\ No newline at end of file diff --git a/docxjs/tests/render-test/test.spec.js b/docxjs/tests/render-test/test.spec.js deleted file mode 100644 index fb1438a..0000000 --- a/docxjs/tests/render-test/test.spec.js +++ /dev/null @@ -1,52 +0,0 @@ -describe("Render document", function () { - const tests = [ - 'text', - 'underlines', - 'text-break', - 'table', - 'page-layout', - 'revision', - 'numbering', - 'line-spacing', - 'header-footer', - 'footnote', - 'equation' - ]; - - for (let path of tests) { - it(`from ${path} should be correct`, async () => { - - const docBlob = await fetch(`/base/tests/render-test/${path}/document.docx`).then(r => r.blob()); - const resultText = await fetch(`/base/tests/render-test/${path}/result.html`).then(r => r.text()); - - const div = document.createElement("div"); - - document.body.appendChild(div); - - await docx.renderAsync(docBlob, div); - - const actual = formatHTML(div.innerHTML); - const expected = formatHTML(resultText); - - expect(actual).toBe(expected); - - if(actual != expected) { - const diffs = Diff.diffLines(expected, actual); - - for(const diff of diffs) { - if(diff.added) - console.log('[+] ' + diff.value); - - if(diff.removed) - console.log('[-] ' + diff.value); - } - } - - div.remove(); - }); - } -}); - -function formatHTML(text) { - return text.replace(/\t+|\s+/ig, ' ').replace(/>\n<'); -} \ No newline at end of file diff --git a/docxjs/tests/render-test/text-break/document.docx b/docxjs/tests/render-test/text-break/document.docx deleted file mode 100644 index 2fdfe47..0000000 Binary files a/docxjs/tests/render-test/text-break/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/text-break/index.html b/docxjs/tests/render-test/text-break/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/text-break/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/text-break/result.html b/docxjs/tests/render-test/text-break/result.html deleted file mode 100644 index eb8b8f2..0000000 --- a/docxjs/tests/render-test/text-break/result.html +++ /dev/null @@ -1,83 +0,0 @@ -

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\ No newline at end of file diff --git a/docxjs/tests/render-test/text/document.docx b/docxjs/tests/render-test/text/document.docx deleted file mode 100644 index 0c64161..0000000 Binary files a/docxjs/tests/render-test/text/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/text/index.html b/docxjs/tests/render-test/text/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/text/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/text/result.html b/docxjs/tests/render-test/text/result.html deleted file mode 100644 index 29dceed..0000000 --- a/docxjs/tests/render-test/text/result.html +++ /dev/null @@ -1,118 +0,0 @@ -

Test

Test color

Tab text

Text center

Text right

text text text

\ No newline at end of file diff --git a/docxjs/tests/render-test/underlines/document.docx b/docxjs/tests/render-test/underlines/document.docx deleted file mode 100644 index f9a4baf..0000000 Binary files a/docxjs/tests/render-test/underlines/document.docx and /dev/null differ diff --git a/docxjs/tests/render-test/underlines/index.html b/docxjs/tests/render-test/underlines/index.html deleted file mode 100644 index c8c363b..0000000 --- a/docxjs/tests/render-test/underlines/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- 👆 回到上一级目录
- ├── document.docx
- └── result.html
-

- -1 directory, 2 files - -

-
-

- tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- - - diff --git a/docxjs/tests/render-test/underlines/result.html b/docxjs/tests/render-test/underlines/result.html deleted file mode 100644 index f7382a7..0000000 --- a/docxjs/tests/render-test/underlines/result.html +++ /dev/null @@ -1,47 +0,0 @@ -

Underlines

Lorem ipsum dolor sit amet consectetur adipiscing elit

Lorem ipsum dolor sit amet consectetur adipiscing elit

Lorem ipsum dolor sit amet consectetur adipiscing elit

Lorem ipsum dolor sit amet consectetur adipiscing elit

Lorem ipsum dolor sit amet consectetur adipiscing elit

Lorem ipsum dolor sit amet consectetur adipiscing elit

Lorem ipsum dolor sit amet consectetur adipiscing elit

Lorem ipsum dolor sit amet consectetur adipiscing elit

Lorem ipsum dolor sit amet consectetur adipiscing elit

Lorem ipsum dolor sit amet consectetur adipiscing elit

\ No newline at end of file